已关闭
[Bug-Report|缺陷反馈]: asc-comm安装包,安装失败 #12
suqwe创建于 27 天前关闭于 16 天前
27 天前 添加了label:bug-report
Hyunbin
26 天前 评论:
26 天前 评论:
已初步定位:该报错不是不同 change-id 之间禁止切换,而是目标 CANN 中已有的 asc-comm 安装状态不完整。active.manifest.sha256 记录了 asc/impl/adv_api/detail/hcomm/common/hcomm_base.h,但 baseline/manifest.tsv 没有对应条目,因此安装器无法判断卸载时应恢复原文件还是删除该文件。
--force 当前不会绕过 baseline 完整性检查,因为直接忽略可能在后续卸载时误删安装前已有文件。
后续会补充对这类历史状态的兼容处理:如果缺失的 manifest 条目仍有明确的 baseline 备份,允许通过 --force 恢复状态后继续安装;如果备份也缺失,则继续拒绝自动推断,避免破坏原 CANN 文件。


18 天前 关联了pull request:fix(package): allow --force to recover from incomplete baseline manifest
18 天前 关联了pull request:fix(package): allow --force to recover from incomplete baseline manifest
16 天前 issue状态由 待办的 改变为 已完成
16 天前 关闭了 issue
16 天前 添加了label:resolved
Hyunbin
12 天前 评论:
12 天前 评论:
该问题已通过关联 PR #184 修复并合入 master 分支,同时 backport 至 9.2.0 分支(PR #195),CI 流水线全部通过。
问题定位:报错并非不同 change-id 之间禁止切换,而是目标 CANN 环境中已有的 asc-comm 安装状态不完整:active.manifest.sha256 记录了 asc/impl/adv_api/detail/hcomm/common/hcomm_base.h,但 baseline/manifest.tsv 缺少对应条目,安装器无法判断卸载时应恢复还是删除该文件;旧版本中 --force 也不会绕过该完整性检查,导致用户被卡死。
修复方案(PR #184):
- 将原先直接失败的
validate_baseline_coverage拆分为collect_missing_baseline_paths(收集缺失路径)、validate_baseline_recovery(恢复校验)、repair_baseline_manifest(补写清单)三步,并接入install_patch与uninstall_patch流程; - 清单不完整时:不带
--force仍失败并提示;带--force且STATE_DIR/baseline/files/下既有备份可用时,自动将缺失条目以present状态补写回baseline/manifest.tsv并继续安装;备份也缺失时继续报错拒绝,避免误删原 CANN 文件; tests/package/test_run_package.sh新增覆盖三类场景:无--force失败、--force且备份存在时成功恢复、备份不可用时报错。


Thanks for sending an issue! Please fill in the following template to help quickly solve your problem.
Describe the current behavior / 问题描述 (Mandatory / 必填)
使用不同的asc comm分别进行安装和卸载。
预期的行为,安装成功,但是目前当使用不同change id 出包,无法正常安装。
Environment / 环境信息 (Mandatory / 必填)
环境无关
Steps to reproduce the issue / 重现步骤 (Mandatory / 必填)
asc-comm 使用git reset到不同的head,分别进行安装
Describe the expected behavior / 预期结果 (Mandatory / 必填)
安装成功
Related log / screenshot / 日志 / 截图 (Mandatory / 必填)
[root@localhost asc-comm_4271]# ./build_out/cann-asc-comm_9.2.0_linux-aarch64.run --full --install-path=/home/c00977674/cann-9.2.0/ -- force
Verifying archive integrity... 100% SHA256 checksums are OK. All good.
Uncompressing cann-asc-comm development patch 100%
[AscComm] [2026-09-05 23:00:45] [INFO]: Start time:2026-09-05 23:00:45
[AscComm] [2026-09-05 23:00:45] [INFO]: LogFile:/var/log/ascend_seclog/ascend_install.log
[AscComm] [2026-09-05 23:00:45] [INFO]: InputParams:--full --install-path=/home/c00977674/cann-9.2.0/ --force
[AscComm] [2026-09-05 23:00:45] [INFO]: OperationLogFile:/var/log/ascend_seclog/operation.log
[AscComm] [2026-09-05 23:00:46] [ERROR]: baseline does not cover installed patch path: asc/impl/adv_api/detail/hcomm/common/hcomm_base .h
[AscComm] [2026-09-05 23:00:46] [INFO]: End time:2026-09-05 23:00:46
Special notes for this issue/备注 (Optional / 选填)