已关闭
[Bug-Report|缺陷反馈]: UT用例 OpInfoRecordUtest.Utest_OpInfoSerialize 依赖真实dump库落盘导致CI不稳定失败 #314
yuyuanfeng创建于  8月15日关闭于  28 天前
yuyuanfeng
yuyuanfeng成员
8月15日 创建

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

CI 全量 UT 执行 nnopbase_utest 时,OpInfoRecordUtest.Utest_OpInfoSerialize 用例失败。失败点位于 tests/nnopbase/ut/individual_op/op_info_record_utest.cpp:88EXPECT_EQ(aclnnOpInfoRecord::OpInfoDump(), 0)OpInfoDump() 返回 -1。

直接原因:src/nnopbase/common/op_info_record/op_info_serialize.cppDumpJsonToFile 调用 dump 库 Adx::AdumpSaveToFile(来自 libascend_dump.so)写 json 文件失败,日志报 DumpJsonToFile dump node[Axpy] json file failed!

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

  • 触发环境:CI 流水线(关联 PR:https://gitcode.com/cann/opbase/pull/737)
  • 触发方式:build.shENABLE_UT=on EXEC_TEST=on,执行 cd build/tests/nnopbase/ut/ && ./nnopbase_utest
  • 昇腾硬件型号:与具体硬件型号无关(该问题表现为 dump 文件写入失败)

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

  1. 在 CI 环境编译 opbase UT(ENABLE_UT=on);
  2. 进入 build/tests/nnopbase/ut/ 目录,执行 ./nnopbase_utest --gtest_filter='OpInfoRecordUtest.Utest_OpInfoSerialize'
  3. 当 dump 输出目录不可写时,AdumpSaveToFile 返回非 0,OpInfoDump() 返回 -1,用例断言失败。

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

UT 用例不应依赖真实 dump 库的落盘能力,dump 相关函数在 UT 中应统一 stub,使用例与运行环境(dump 目录是否可写)解耦,稳定通过。

[OP_TEST] [op_info_serialize.cpp:138] DumpJsonToFile:DumpJsonToFile start to record json[10797_opcompile/Axpy_float_ND_33_15_1_48_0.json]!
[OP_TEST] [op_info_serialize.cpp:141] DumpJsonToFile:DumpJsonToFile dump node[Axpy] json file failed!
op_info_record_utest.cpp:88: Failure
Expected equality of these values:
  aclnnOpInfoRecord::OpInfoDump()
    Which is: -1
  0

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

初步分析(非定论,供参考):tests/nnopbase/common/depends/adump/adump_stub.cpp 中已存在 AdumpSaveToFile 的 stub(直接 return 0),但未加入 tests/nnopbase/ut/CMakeLists.txtNNOPBASE_TEST_COMMON_SRC_FILES,导致 UT 链接的是真实 libascend_dump.soAdumpSaveToFile,落盘失败即 flaky。具体原因以负责方定位为准。

likedislike
yuyuanfengyuyuanfeng成员
8月15日 修改了issue 的描述
songkai111成员
8月15日 评论:

已指定相关commiter进行修复。

likedislike
Ssongkai111成员
8月15日 将 pengjiahao96 设为负责人
Lliuyi424
28 天前 关联了pull request:fix: isolate nnopbase ut dump dependencies
CANN-robotCANN-robot成员
28 天前 关闭了 issue
CANN-robotCANN-robot成员
28 天前 添加了label:resolved