已关闭
【26.09-alpha】targetclid服务stop失败,报错TypeError #13
ga_beng_cui创建于  8月18日关闭于  8月18日
ga_beng_cui
ga_beng_cui成员
8月18日 创建

【缺陷描述】:请补充详细的缺陷问题现象描述

targetclid服务stop失败,报错TypeError: TargetCLI.signal_handler() takes 1 positional argument but 3 were given

一、缺陷信息

targetcli-3.0.2-1.oe2609.noarch

【缺陷所属的os版本】

openEuler-26.09

【内核版本】

6.6.0-163.0.0.1.oe2609

【缺陷所属软件及版本号】

targetcli-3.0.2-1.oe2609.noarch

【环境信息】

硬件信息

  • 提供跟硬件相关的信息,如架构、cpu和内存规格等
  • 虚拟机场景,额外补充宿主机os版本类型

软件信息

  • 跟缺陷所属软件相关的其它软件版本信息(如软件包构建失败由gcc引起,请填写gcc的版本号)
    targetcli-3.0.2-1.oe2609.noarch

【问题复现步骤】

  1. dnf install -y targetcli
  2. systemctl start targetclid
  3. systemctl stop targetclid

【实际结果】

服务stop失败,日志报错
8月 18 15:55:04 localhost.localdomain targetclid[5461]: File "/usr/lib/python3.11/site-packages/targetcli/targetclid.py", line 259, in main
8月 18 15:55:04 localhost.localdomain targetclid[5461]: connection, _client_address = sock.accept()
8月 18 15:55:04 localhost.localdomain targetclid[5461]: ^^^^^^^^^^^^^
8月 18 15:55:04 localhost.localdomain targetclid[5461]: File "/usr/lib64/python3.11/socket.py", line 294, in accept
8月 18 15:55:04 localhost.localdomain targetclid[5461]: fd, addr = self._accept()
8月 18 15:55:04 localhost.localdomain targetclid[5461]: ^^^^^^^^^^^^^^
8月 18 15:55:04 localhost.localdomain targetclid[5461]: TypeError: TargetCLI.signal_handler() takes 1 positional argument but 3 were given
8月 18 15:55:04 localhost.localdomain systemd[1]: targetclid.service: Main process exited, code=exited, status=1/FAILURE
8月 18 15:55:04 localhost.localdomain systemd[1]: targetclid.service: Failed with re

【期望结果】

服务stop成功,且日志无报错

【其他相关附件信息】

image.png

【缺陷详情及分析指导参考链接】

二、缺陷分析结构反馈
影响性分析说明:

缺陷严重等级:(Critical/High/Moderate/Low)

缺陷根因说明:

受影响版本排查(受影响/不受影响):
openEuler-20.03-LTS-SP4
openEuler-22.03-LTS-SP3
openEuler-22.03-LTS-SP4
openEuler-24.03-LTS
openEuler-24.03-LTS-SP1
openEuler-24.03-LTS-SP2

修复是否涉及abi变化(是/否):
openEuler-20.03-LTS-SP4
openEuler-22.03-LTS-SP3
openEuler-22.03-LTS-SP4
openEuler-24.03-LTS
openEuler-24.03-LTS-SP1
openEuler-24.03-LTS-SP2

likedislike
ga_beng_cuiga_beng_cui成员
8月18日 关联了里程碑:openEuler-26.09-DevStation-alpha
openeuler-ci-botopeneuler-ci-bot成员
8月18日 修改了issue 的描述
openeuler-ci-botopeneuler-ci-bot成员
8月18日 添加了label:sig/Application
openeuler-ci-bot
openeuler-ci-bot成员
8月18日 评论:

以下的要求不是强制性的, 未按模板评论时对issue无任何影响
issue处理注意事项:
1. 当前issue受影响的分支提交pr时, 须在pr描述中填写当前issue编号进行关联, 否则无法关闭当前issue;
2. 模板内容需要填写完整, 无论是受影响或者不受影响都需要填写完整内容,未引入的分支不需要填写, 否则无法关闭当前issue;
3. 以下为模板中需要填写完整的内容, 请复制到评论区回复, 注: 内容的标题名称(影响性分析说明, 缺陷严重等级, 受影响版本排查(受影响/不受影响), 修复是否涉及abi变化(是/否))不能省略,省略后defect-manager将无法正常解析填写内容.
评论区可能使用到的指令说明:

指令 指令说明 使用权限
/check-issue 触发defect-manager校验 不限
/reason xxx /reason +挂起或取消条件 不限

影响性分析说明:

缺陷严重等级:(Critical/High/Moderate/Low)

缺陷根因说明:

受影响版本排查(受影响/不受影响):

  1. openEuler-20.03-LTS-SP4:
  2. openEuler-22.03-LTS-SP3:
  3. openEuler-22.03-LTS-SP4:
  4. openEuler-24.03-LTS:
  5. openEuler-24.03-LTS-SP1:
  6. openEuler-24.03-LTS-SP2:

abi变化(是/否):

  1. openEuler-20.03-LTS-SP4:
  2. openEuler-22.03-LTS-SP3:
  3. openEuler-22.03-LTS-SP4:
  4. openEuler-24.03-LTS:
  5. openEuler-24.03-LTS-SP1:
  6. openEuler-24.03-LTS-SP2:

缺陷issue处理具体操作请参考:
https://atomgit.com/openeuler/cve-manager/blob/master/cve-vulner-manager/doc/md/defect-manager-manual.md
pr关联issue具体操作请参考:
https://docs.atomgit.com/docs/help/home/org_project/pullrequests/pr-related-issue

likedislike
openeuler-ci-bot
openeuler-ci-bot成员
8月18日 评论:

Welcome To openEuler Community

Hey @ga_beng_cui , thanks for your contribution to the community.

Bot Usage Manual

I'm the Bot here serving you. You can find the instructions on how to interact with me at Here . That means you can comment below every pull request or issue to trigger Bot Commands.

Contact Guide

If you have any questions, please contact the SIG: Application ,
and any of the maintainers: @kaitiandu, @small_leek, @zhuchunyi ,
and any of the committers: @caodongxia, @starlet-dx, @wk333 .

likedislike
openeuler-ci-botopeneuler-ci-bot成员
8月18日 添加了label:DEFECT/UNFIXED
Xxu_ping成员
8月18日 关联了pull request:fix targetclid service stop failed.
xu_ping成员
8月18日 评论:

报错日志:TypeError: TargetCLI.signal_handler() takes 1 positional argument but 3 were given
问题原因:Python 的 signal.signal() 注册的 handler 必须接受 2 个参数 (signum, frame)。对于实例方法,Python 自动绑定 self,所以总共需要 3 个参数 (self, signum, frame)。但是查看targetcli,目前代码只接受1个参数,所以导致失败
image.png
解决办法:制作补丁,修改方法签名,加上 signum 和 frame 参数:def signal_handler(self, signum, frame):
上游已提交issue:https://github.com/open-iscsi/targetcli-fb/issues/234

likedislike
openeuler-ci-botopeneuler-ci-bot成员
8月18日 关闭了 issue
openeuler-ci-botopeneuler-ci-bot成员
8月18日 issue状态由 待办的 改变为 已完成
openeuler-ci-botopeneuler-ci-bot成员
8月18日 删除了label:DEFECT/UNFIXED
openeuler-ci-bot
openeuler-ci-bot成员
8月18日 评论:

@lyn1001 未对受影响版本排查/abi变化进行分析

likedislike
openeuler-ci-botopeneuler-ci-bot成员
8月18日 关联了pull request:[sync] PR-34: fix targetclid service stop failed.
ga_beng_cui
ga_beng_cui成员
8月27日 评论:

使用最新版本已验证,无此问题
image.png

likedislike
ga_beng_cuiga_beng_cui成员
8月27日 issue状态由 已完成 改变为 已验收
openeuler-ci-bot
openeuler-ci-bot成员
8月27日 评论:

@lyn1001 未对受影响版本排查/abi变化进行分析

likedislike