已合并
[fix] 修正EI0020端口冲突处置指引 (#987) #5725
[fix] 修正EI0020端口冲突处置指引 (#987) #5725
已合并
ren-mengguang创建于 11 天前
ren-mengguang成员
11 天前

描述

EI0020(NPU网卡socket监听端口bind冲突)当前的处置指引只给出"单卡多进程场景配置HCCL_NPU_SOCKET_PORT_RANGE"一条路径,未区分通信域初始化方式:

  • rootInfo方式初始化:该环境变量生效(ServerInitAll→PreemptPortManager在范围内抢占端口并回填分发),指引正确;
  • rank table文件方式初始化:无端口抢占逻辑,该环境变量不生效,按现有指引操作无法解决问题。正确处置是每个进程使用的rank table文件中为同一device_ip的rank配置互不相同的device_port/host_port(字段缺省时默认16666,单卡多进程场景冲突)。

本PR修改:

  1. EI0020中英文错误码文档:解决方法按初始化路线区分;
  2. error_code.cc注册表Solution:同步修正,对齐仓内EI0002/EI0005惯例(简短分条建议+关键字检索引导),保证错误管理框架通道与文档一致。

变更类型

关联的Issue

Fixes #987

测试

已完成的测试用例和场景:

  1. clang-format 18.1.8(与pre-commit同版本)--dry-run -Werror 校验通过;
  2. hcomm目标(含error_code.cc)编译链接通过,无告警(基线为upstream/master最新);
  3. error_code.cc注册表JSON提取后json.loads校验合法(\r\n、引号转义正确)。

说明:本机全量build.sh --pkg因存量工具链问题无法完成(hccl_aiv_reduce_scatter_op,CANN 9.2.0头文件类型错误,干净工作区同样复现,与本次改动无关),改动文件所在目标已单独编译验证,完整编译由CI门禁覆盖。

补充的UT用例:
无(纯文案修正,无行为变更)。

文档更新

  • docs/zh/error_codes/EI0020-Communication_Error_Bind_IP_Port.md
  • docs/en/error_codes/EI0020-Communication_Error_Bind_IP_Port.md

合入检查

likedislike
Pull Request已成功合入, 合并人@CANN-robot
(感谢 ren-mengguang 的贡献)
Rren-mengguang成员
11 天前 创建了 pull request,commit 2917bc46
Rren-mengguang成员
11 天前 关联了issue:[Bug-Report|缺陷反馈] EI0020端口冲突处置指引未区分初始化路线,rank table路线配置HCCL_NPU_SOCKET_PORT_RANGE不生效
atomgit-bot
atomgit-bot
11 天前 评论:

变更摘要

本 PR 针对 EI0020(NPU 网卡 socket 监听端口 bind 冲突)的处置指引进行修正与补充。原指引仅给出"单卡多进程场景配置 HCCL_NPU_SOCKET_PORT_RANGE"一条路径,未区分通信域初始化方式:rootInfo 方式下该环境变量生效,而 rank table 文件方式下无端口抢占逻辑、该变量不生效,按原指引无法解决问题。改动在文档与错误码注册表 Solution 中按初始化路线区分处置方式,并在 GetJsonPropertyUInt 为可选字段回填缺省值时补充 HCCL_INFO 日志,使缺省端口 16666 的静默填充可被溯源。

主要改动

  • error_code.cc 中 EI0020 的 Solution 修正: hcomm_g_msg 注册表中该错误码的解决建议由单一环境变量路径,改为分条建议——rootInfo 方式(如 HcclCommInitRootInfo)配置 HCCL_NPU_SOCKET_PORT_RANGE,rank table 文件方式(如 HcclCommInitClusterInfo)该变量不生效、需为同一 device_ip 配置不同的 device_port(未配置时默认 16666),并补充端口占用排查与关键字检索引导。
- **`json_parser.cc` 中 `GetJsonPropertyUInt` 补充溯源日志**: 当 `required` 为 `false` 且 json 对象不含该属性时,新增 `HCCL_INFO` 日志输出属性名与所采用的默认值,消除可选字段缺省填充无痕迹的问题。
  • EI0020 中英文错误码文档同步更新: 按 PR 描述,docs/zh 与 docs/en 下的 EI0020-Communication_Error_Bind_IP_Port.md 将解决方法按初始化路线区分并补充通用端口占用排查项(该文件未在任务中提供补丁,具体内容依据 PR 描述)。
likedislike
不准确?
atomgit-bot
atomgit-bot
11 天前 评论:

代码审查

✅ 未发现问题

likedislike
不准确?
ren-mengguang成员
11 天前 评论:

/compile

likedislike
此处折叠了48条消息 查看更多
zangyan成员
11 天前 评论:

/approve

likedislike
CANN-robotCANN-robot成员
11 天前 添加了label:approved
one_random
one_random成员
11 天前 评论:

/lgtm

likedislike
CANN-robotCANN-robot成员
11 天前 添加了label:lgtm
CANN-robotCANN-robot成员
11 天前 合入了pull request