已关闭
[Bug-Report|缺陷反馈]: QuickStart体验---基于Docker进行环境部署流程体验问题跟踪 #66
weixia创建于  4月27日关闭于  5月15日
weixia
4月27日 创建

Thanks for sending an issue! Please fill in the following template to help quickly solve your problem.

Describe the current behavior / 问题描述 (Mandatory / 必填)

一、体验过程中发现的问题

1、环境部署:本次验证采用Docker镜像方式在个人WSL环境上拉起

  • 问题1:Docker命令错误,X86架构写错了
    image.png

  • 问题2:镜像名称固定用了cann-8.5.0,且用了ops镜像,工具仓使用ops镜像无法工作的,镜像下载页面进去后,镜像非常多,但是不同版本不同硬件形态,没有给出任何选择指导
    image.png
    image.png

  • 问题3:镜像启动后,初始化命令错误
    原命令:curl -fsSL https://gitcode.com/oam-tools/init_env.sh | bash
    正确执行的命令:curl -fsSL https://raw.gitcode.com/cann/oam-tools/raw/master/init_env.sh | bash

  • 问题4:Docker镜像里装了9.0.0的包,然后init_env命令里又安装了一遍cann包,重复安装

2、执行编译与DT测试

  • 整体执行结果如下:
    image.png

  • 问题5:asys ut批量失败,定位结果如下
    image.png

  • 问题6:asys st 一个用例失败,定位结果如下,不一定是正确的修改方式,需确认Docker场景下是否缺少什么内容或者用例mock不足
    image.png

  修改 1:新增 log/security/(空目录)

  路径: test/st/asys/data/asys_test_dir/ascend/log/security/

  原因:
  collect_cann_logs 在收集日志时遍历 ["debug", "run", "security"] 三个子目录,若 security/ 不存在,copy_dir 返回 False,导致整个 collect_cann_logs 返回
  False。虽然不影响 asys.main() 的返回值(collect() 未检查其返回值),但属于数据缺失。

  ---
  修改 2:新增 kernel_meta/ 目录及 ops 内核文件

  路径: test/st/asys/data/asys_test_dir/ascend/kernel_meta/

  新增文件:
  IncreFlashAttention_b79da629624fb10fa525b749f186c95f_high_performance_11000000000100001.json
  IncreFlashAttention_b79da629624fb10fa525b749f186c95f_high_performance_11000000000100001.o

  原因(根本原因):
  test_collect_atrace_logs 设置 ASCEND_WORK_PATH = data/asys_test_dir/ascend/,ops 收集流程是:

  1. get_fault_kernel_name() 从已采集的 plog 中提取 fault kernel_name:
  IncreFlashAttention_b79da629624fb10fa525b749f186c95f_high_performance_11000000000100001
  1. (来源:log/run/plog/plog-2955178_20240704162431228.log 中的 fftsplus task execute failed)
  2. get_fault_kernel_name_files(ASCEND_WORK_PATH, kernel_name) 在 ASCEND_WORK_PATH 下递归搜索包含该 kernel_name 的 .json 文件。
  3. 对应的 JSON 文件原本只在 data/ops/kernel/(在 ASCEND_WORK_PATH 之外),搜索不到 → dfx/ops/ 为空 → check_output_structure(["ops"]) 返回 False →
  测试失败。

  将文件复制到 data/asys_test_dir/ascend/kernel_meta/ 后,ASCEND_WORK_PATH 递归搜索可找到该文件,ops 收集成功,测试通过。
  • 问题7:msaicerr UT失败8个,ST失败9个,定位结果如下
    init_env.sh 执行时应当安装 requirements.txt 中的依赖,但 numpy 漏装了。与 asys UT 的 pytest-mock 缺失性质相同——环境初始化不完整。
---
  根本原因分析

  唯一根因:numpy 未安装

  requirements.txt 第 42 行已声明 numpy>=1.26.4,但容器中未安装该包,导致所有 8 个测试文件在**收集阶段(collection phase)**就失败,0 个测试用例被执行。

  ---
  依赖链(4 条独立路径,最终全部指向 import numpy)

  路径 1(3个文件受影响):
  test_handler_ascend950 / test_rts_api / test_single_op_case_ut / test_single_op_case_ut_ascend950
    └─> AscendRTSApi
        └─> rts_api.py:28 → from ms_interface.single_op_test_frame.utils import file_util
            └─> shape_utils.py:21 → import numpy as np  ✗

  路径 2:
  test_utils_ut
    └─> SingleOpCase
        └─> single_op_case.py:28 → import numpy as np  ✗

  路径 3:
  test_aicore_error_parser_ut
    └─> DumpDataParser
        └─> dump_data_parser.py:31 → import numpy as np  ✗

  路径 4:
  test_msaicerr_ut
    └─> msaicerr
        └─> aicore_error_parser.py:32 → import numpy as np  ✗

  路径 5(直接在测试文件中):
  test_dump_data_ut.py:27 → import numpy as np  ✗

  涉及的源文件(模块级直接 import numpy)

  ┌─────────────────────────────────────────────────────────────────────┬──────┐
  │                                文件                                 │ 行号 │
  ├─────────────────────────────────────────────────────────────────────┼──────┤
  │ src/msaicerr/ms_interface/aicore_error_parser.py                    │ 32   │
  ├─────────────────────────────────────────────────────────────────────┼──────┤
  │ src/msaicerr/ms_interface/dump_data_parser.py                       │ 31   │
  ├─────────────────────────────────────────────────────────────────────┼──────┤
  │ src/msaicerr/ms_interface/single_op_test_frame/utils/shape_utils.py │ 21   │
  ├─────────────────────────────────────────────────────────────────────┼──────┤
  │ src/msaicerr/ms_interface/single_op_test_frame/single_op_case.py    │ 28   │
  ├─────────────────────────────────────────────────────────────────────┼──────┤
  │ test/ut/msaicerr/testcase/test_dump_data_ut.py                      │ 27   │
  └─────────────────────────────────────────────────────────────────────┴──────┘

  ---
  结论

  init_env.sh 执行时应当安装 requirements.txt 中的依赖,但 numpy 漏装了。与 asys UT 的 pytest-mock 缺失性质相同——环境初始化不完整。

二、针对整个README.md以及quick_start.md分析,个人提出优化建议:

  1. quick_start提供了三种环境部署方式,但是环境部署结束后,没有提供配套的编译安装验证的命令行,整个README给人阅读上存在中断,建议以三种环境部署方式,对应提供相应的编译验证命令
  2. 在README里提供了同一份运行命令,但是UT执行环境,又要求重新执行requirement.txt安装依赖,与init_env提供的依赖存在差异;component也没提供列表
    image.png
  3. 环境都部署完了,又提供了一堆依赖要安装
    image.png
  4. 提供了msprof的连接,但是位置放的不好,非常突兀
    image.png
  5. 环境都部署完了,既然部署阶段已经准备代码了,那准备代码环节就保持一致,都放到环境部署阶段
    image.png

Environment / 环境信息 (Mandatory / 必填)

1、笔记本安装WSL2,发行版使用Ubuntu22.04,无NPU场景

Steps to reproduce the issue / 重现步骤 (Mandatory / 必填)

1、先装Docker,然后按照指导拉取Docker镜像

Describe the expected behavior / 预期结果 (Mandatory / 必填)

1、基于指导文档里的内容,可以自动完成环境部署,自动完成UT,ST执行

已在详细描述中粘贴

Special notes for this issue/备注 (Optional / 选填)

NA

likedislike
Jjinyingqi成员
4月28日 将 chenminghao11 设为负责人
jinyingqi成员
4月28日 评论:

✅ 此Issue为Msprof工具问题,分配给领域责任人 @chenminghao11,请及时处理。

建议您在24小时内反馈进展,在7天内闭环。
(类别:Bug)

likedislike
Wweixia
4月28日 修改了issue 的描述
Sstarchen_成员
4月28日 将 newstarzj 设为负责人
Sstarchen_成员
4月28日 将 sinat_31531339 设为负责人
Sstarchen_成员
4月28日 将 starchen_ 设为负责人
Sstarchen_成员
4月28日 移除了负责人 chenminghao11
starchen_成员
4月28日 评论:

计划排期:2026.4.30 全部解决

likedislike
Sstarchen_成员
4月30日 关联了pull request:fix pytest-mock dependency
zhangjie
zhangjie成员
4月30日 评论:

问题1:确认非问题,amd64确实是x86_64,验证可正常使用。
问题2:确认问题,已删除ops,当前镜像相关参数是共性问题,已提交相关issue到镜像仓https://github.com/Ascend/cann-container-image/issues/78
问题3:确认问题,文档已修改,改成正确的curl -fsSL https://raw.gitcode.com/cann/oam-tools/raw/master/init_env.sh | bash
问题4:已支持,支持--skip-cann,init_env.sh命令里会跳过cann包

likedislike
zhangjiezhangjie成员
4月30日 关联了pull request:fix issue 66
jinyingqi成员
5月4日 评论:

🔔 @viciaa您好,关联PR #190 已合并,请在2天内检视,超期将视为检视通过,Issue将自动关闭。

likedislike
jinyingqi成员
5月5日 评论:

🔔 @viciaa您好,关联PR #190 已合并,请在2天内检视,超期将视为检视通过,Issue将自动关闭。

likedislike
jinyingqi成员
5月6日 评论:

🔔 @viciaa您好,关联PR #190 已合并,请在2天内检视,超期将视为检视通过,Issue将自动关闭。

likedislike
zhangjiezhangjie成员
5月6日 移除了负责人 newstarzj
jinyingqi成员
5月7日 评论:

🔔 @viciaa您好,关联PR #190 已合并,请在2天内检视,超期将视为检视通过,Issue将自动关闭。

likedislike
Sstarchen_成员
5月7日 关联了pull request:fix asys llt and pytest-mock dependency
starchen_成员
5月7日 评论:

问题5、6已修复

likedislike
Sstarchen_成员
5月7日 移除了负责人 starchen_
jinyingqi成员
5月8日 评论:

🔔 @viciaa您好,关联PR #190 已合并,请在2天内检视,超期将视为检视通过,Issue将自动关闭。

likedislike
jinyingqi成员
5月9日 评论:

🔔 @viciaa您好,关联PR #190 已合并,请在2天内检视,超期将视为检视通过,Issue将自动关闭。

likedislike
jinyingqi成员
5月10日 评论:

🔔 @viciaa您好,关联PR #198 已合并,请在2天内检视,超期将视为检视通过,Issue将自动关闭。

likedislike
jinyingqi成员
5月10日 评论:

🔔 @viciaa您好,关联PR #190 已合并,请在2天内检视,超期将视为检视通过,Issue将自动关闭。

likedislike
jinyingqi成员
5月11日 评论:

🔔 @viciaa您好,关联PR #198 已合并,请在2天内检视,超期将视为检视通过,Issue将自动关闭。

likedislike
jinyingqi成员
5月11日 评论:

🔔 @viciaa您好,关联PR #190 已合并,请在2天内检视,超期将视为检视通过,Issue将自动关闭。

likedislike
jinyingqi成员
5月12日 评论:

🔔 @viciaa您好,关联PR #198 已合并,请在2天内检视,超期将视为检视通过,Issue将自动关闭。

likedislike
jinyingqi成员
5月12日 评论:

🔔 @viciaa您好,关联PR #190 已合并,请在2天内检视,超期将视为检视通过,Issue将自动关闭。

likedislike
jinyingqi成员
5月12日 评论:

🔔 @viciaa您好,关联PR #188 已合并,请在2天内检视,超期将视为检视通过,Issue将自动关闭。

likedislike
jinyingqi成员
5月13日 评论:

🔔 @viciaa您好,关联PR #198 已合并,请在2天内检视,超期将视为检视通过,Issue将自动关闭。

likedislike
jinyingqi成员
5月13日 评论:

🔔 @viciaa您好,关联PR #190 已合并,请在2天内检视,超期将视为检视通过,Issue将自动关闭。

likedislike
jinyingqi成员
5月13日 评论:

🔔 @viciaa您好,关联PR #188 已合并,请在2天内检视,超期将视为检视通过,Issue将自动关闭。

likedislike
Sstarchen_成员
5月13日 添加了label:resolved
jinyingqi成员
5月14日 评论:

🔔 @viciaa您好,关联PR #198 已合并,请在2天内检视,超期将视为检视通过,Issue将自动关闭。

likedislike
jinyingqi成员
5月14日 评论:

🔔 @viciaa您好,关联PR #190 已合并,请在2天内检视,超期将视为检视通过,Issue将自动关闭。

likedislike
jinyingqi成员
5月14日 评论:

🔔 @viciaa您好,关联PR #188 已合并,请在2天内检视,超期将视为检视通过,Issue将自动关闭。

likedislike
Sstarchen_成员
5月14日 issue状态由 进行中 改变为 已解决
Sstarchen_成员
5月14日 关闭了 issue
Sstarchen_成员
5月14日 issue状态由 已解决 改变为 进行中
Sstarchen_成员
5月14日 重新打开了 issue
jinyingqi成员
5月15日 评论:

🔔 @viciaa您好,关联PR #198 已合并,请在2天内检视,超期将视为检视通过,Issue将自动关闭。

likedislike
jinyingqi成员
5月15日 评论:

🔔 @viciaa您好,关联PR #190 已合并,请在2天内检视,超期将视为检视通过,Issue将自动关闭。

likedislike
jinyingqi成员
5月15日 评论:

🔔 @viciaa您好,关联PR #188 已合并,请在2天内检视,超期将视为检视通过,Issue将自动关闭。

likedislike
weixia
5月15日 评论:

OK

likedislike
Sstarchen_成员
5月15日 issue状态由 进行中 改变为 已解决
Sstarchen_成员
5月15日 关闭了 issue