Pull Request已成功合入, 合并人@CANN-robot
(感谢 pantong 的贡献)Thanks for your pull-request.
The full list of commands accepted by me can be found at here。
You can get sig-info at here
PR Approval Progress
✅ Congratulations! All modules have met the lgtm and approve requirements.
Module Approval Details
| module | lgtm status | approve status |
|---|---|---|
| src/tsd | ✅ ZhaiPeiChao, LiWei79 (2/2) | ✅ ZhaiPeiChao (1/1) |
| tests/ut/tsd | ✅ ZhaiPeiChao, LiWei79 (2/2) | ✅ ZhaiPeiChao (1/1) |
💡 Tip:
- Committer can comment
/approveor/lgtm- Commenting
/approveimplies both code review (lgtm) and intent to merge (approve)
CLA Signature Pass
pan-tong, thanks for your pull request. All authors of the commits have signed the CLA. 👍


流水线任务触发成功
任务链接 [809e6f626a4549f1b2c432112bee8f34][流水线指导]
| 任务名称 | 状态 | 日志 | 下载链接 |
|---|---|---|---|
| codecheck | ✅ SUCCESS | >>>>> | |
| SCA | ✅ SUCCESS | >>>>> | |
| anti_virus | ✅ SUCCESS | >>>>> | |
| Check_Pr | ✅ SUCCESS | >>>>> | |
| Compile_Ascend_X86 | ❌ FAILED | >>>>> | |
| Compile_Ascend_ARM | ❌ FAILED | >>>>> | |
| pre_comment | ✅ SUCCESS | >>>>> | |
| Compile_Ascend_X86_ubuntu24 | ✅ SUCCESS | >>>>> | |
| Compile_Ascend_ARM_ubuntu24 | ✅ SUCCESS | >>>>> | |
| UT_Test_acl | ⚪ ABORTED | >>>>> | |
| UT_Test_rts | ⚪ ABORTED | >>>>> | |
| UT_Test_rts_c | ⚪ ABORTED | >>>>> | |
| UT_Test_platform | ⚪ ABORTED | >>>>> | |
| UT_Test_qs | ⚪ ABORTED | >>>>> | |
| UT_Test_aicpusd | ⚪ ABORTED | >>>>> | |
| UT_Test_tsd | ⚪ ABORTED | >>>>> | |
| UT_Test_dfx | ⚪ ABORTED | >>>>> | |
| API_Check | ⚪ ABORTED | >>>>> | |
| UT_Test_mmpa | ⚪ ABORTED | >>>>> |
[2026-03-18 09:36:48] CI执行失败


🤖 CANN 代码审查报告
PR: #970 - visable device id问题修复
严重性: ✅ Low
审查时间: 2026-03-18 10:05
📊 审查结论
✅ 建议合入
- 严重性: Low
- 代码质量: 良好
- 内存安全: ✅ 无风险
- 安全性: ✅ 无漏洞
- 测试覆盖: 部分(删除了失效的 UT)
- 文档完整性: 部分(PR 描述清晰)
修复设备 ID 转换顺序问题,逻辑清晰正确,可合入。
📋 修改概述
修复 VisibleDevices 转换顺序:先转换设备 ID,再调用 GetPlatformInfo,避免设备损坏时接口调用失败。
- 修改文件: 2个 (+23行, -28行)
- 核心变更:
client_manager.cpp: 调整 CheckDestructFlag 和 GetInstance 中的逻辑顺序client_manager_utest.cpp: 删除失效的测试用例
🔍 代码质量检查
1. 内存安全 ✅
- 内存泄漏: 无风险(无动态内存分配)
- 指针操作: 安全(使用局部变量)
- 动态分配: 不涉及
- 资源管理: 不涉及
2. 安全性 ✅
- 输入验证: 完整(有返回值检查)
- 边界检查: 不涉及
- 潜在漏洞: 无
3. 可读性 ✅
- 代码清晰度: 良好
- 命名规范: 符合
- 注释完整性: 保留原有注释
4. 逻辑正确性 ✅
- 算法逻辑: 正确(修复了顺序问题)
- 边界条件: 处理完整
- 影响范围: 明确(设备 ID 转换逻辑)
💡 改进建议
- 测试覆盖: 建议补充针对新逻辑的单元测试,验证修复效果
✅ 代码亮点
- 问题定位准确,修复方案合理
- 代码结构清晰,逻辑简单易懂
- 保留了原有的注释和返回值检查
总体评价:一个简洁有效的 bug 修复,代码质量良好。


流水线任务触发成功
任务链接 [726dc95d8603431c8b26ff1fbcf88d38][流水线指导]
| 任务名称 | 状态 | 日志 | 下载链接 |
|---|---|---|---|
| codecheck | ✅ SUCCESS | >>>>> | |
| SCA | ✅ SUCCESS | >>>>> | |
| anti_virus | ✅ SUCCESS | >>>>> | |
| Check_Pr | ✅ SUCCESS | >>>>> | |
| Compile_Ascend_X86 | ✅ SUCCESS | >>>>> | >>>>> |
| Compile_Ascend_ARM | ✅ SUCCESS | >>>>> | >>>>> |
| pre_comment | ✅ SUCCESS | >>>>> | |
| Compile_Ascend_X86_ubuntu24 | ✅ SUCCESS | >>>>> | |
| Compile_Ascend_ARM_ubuntu24 | ✅ SUCCESS | >>>>> | |
| UT_Test_acl | ✅ SUCCESS | >>>>> | |
| UT_Test_rts | ✅ SUCCESS | >>>>> | |
| UT_Test_rts_c | ✅ SUCCESS | >>>>> | |
| UT_Test_platform | ✅ SUCCESS | >>>>> | |
| UT_Test_qs | ✅ SUCCESS | >>>>> | |
| UT_Test_aicpusd | ✅ SUCCESS | >>>>> | |
| UT_Test_tsd | ✅ SUCCESS | >>>>> | |
| UT_Test_dfx | ✅ SUCCESS | >>>>> | |
| API_Check | ✅ SUCCESS | >>>>> | |
| UT_Test_mmpa | ✅ SUCCESS | >>>>> |
[2026-03-18 10:49:23] CI执行结束


🤖 CANN 代码审查报告
PR: #970 - visable device id问题修复
严重性: ✅ Low
审查时间: 2026-03-18 11:05
📊 审查结论
✅ 建议合入
- 严重性: Low
- 代码质量: 良好
- 内存安全: ✅ 无风险
- 安全性: ✅ 无漏洞
- 测试覆盖: 完整
- 文档完整性: 完整
修复了设备 ID 转换顺序问题,避免在损坏的设备上调用 GetPlatformInfo。
📋 修改概述
- 修改文件: 2个 (+23行, -28行)
- 核心变更:
client_manager.cpp: 先转换 VisibleDevices,再调用 GetPlatformInfoclient_manager_utest.cpp: 删除不适用的单元测试
🔍 代码质量检查
1. 内存安全 ✅
- 内存泄漏: 无风险
- 指针操作: 安全
- 动态分配: 不涉及
- 资源管理: 合理
2. 安全性 ✅
- 输入验证: 完整 - 正确处理 transDevIdFlag
- 边界检查: 完整 - 设备 ID 转换失败时返回错误
- 潜在漏洞: 无 - 修复了潜在的设备访问问题
3. 可读性 ✅
- 代码清晰度: 良好 - 逻辑清晰
- 命名规范: 符合
- 注释完整性: 完整 - PR 描述清楚说明了问题原因
4. 逻辑正确性 ✅
- 算法逻辑: 正确 - 先转换 ID 再获取平台信息
- 边界条件: 处理完整 - 不支持 VisibleDevices 时回退
- 影响范围: 明确
💡 改进建议
- 代码复用: CheckDestructFlag 和 GetInstance 中的逻辑相似,可考虑抽取公共方法
- 变量命名: inputDeviceId/logicDeviceId 命名清晰,保持一致
✅ 代码亮点
- 问题分析清晰:识别出在损坏设备上调用 API 的风险
- 修复方案合理:先转换 ID,再查询平台信息
- 有测试截图验证
- 正确处理回退逻辑:
if (!IsSupportSetVisibleDevices())
总体评价:代码质量良好,建议合入 - 有效的 Bug 修复,解决了潜在的设备访问问题。


/approve


Review Guide
This pull-request passes review.
Committers who wrote a comment of /approve are: ZhaiPeiChao.
Reviewers who wrote a comment of /lgtm are: ZhaiPeiChao, LiWei79.


描述
在转换VisibleDevices前调用了GetPlatformInfo接口去获取chiptype信息,来判断功能支持范围。但是转换前的deviceId对于的卡,有被损坏的可能,调用GetPlatformInfo接口可能会失败。修改方案为先转换VisibleDevices,后调用GetPlatformInfo接口去获取chiptype信息。
关联的Issue
[Bug-Report|缺陷反馈]: visable device id问题修复
测试
验证转换VisibleDevices功能是否可以正常执行用例


文档更新
类型标签