Open
【缺陷】BatchNormGradExt2 UB 越界读 6 条(illegal read size 60) #228
xieyangyangAdd on  3 days ago
xieyangyangCollaborators
3 days ago Create

【缺陷】BatchNormGradExt2 UB 越界读 6 条(illegal read size 60)

问题描述信息

【环境信息】:

  • 设备信息:Ascend950PR_957b(驱动 9.1.t13.0.b130 / 固件 20260826)
  • CANN信息:CANN 9.3.0(20261110)
  • torch环境信息:torch 2.14.0.dev20260811 / torch_npu 2.14.0.dev20261008
  • 测试框架:TTK 3.0.0 / mssanitizer 26.3.0

【预置条件】:

  • 算子包部署:bash build.sh --jit --soc=ascend950 --ops=batchnormgradext2
  • 插桩编译:--compile-opts op_debug_config=sanitizer
  • mssanitizer wrap 执行

【重现步骤】:

  1. 构建算子包(含插桩):
    cd <ops仓> && bash build.sh --jit --soc=ascend950 --ops=batchnormgradext2
  2. mssanitizer 包裹执行 TTK kernel 模式:
    mssanitizer --tool=memcheck --leak-check=yes --check-unused-memory=yes --
    /npu/miniconda3/envs/CI_py310_aclnn/bin/python3 -m ttk kernel
    -i batchnormgradext2_cases.csv --compile-opts op_debug_config=sanitizer
    --pc 1 --devices 0

【预期结果】:
无 mSAN ERROR(无越界读写、无内存泄漏)

【实际结果】:
mssanitizer memcheck 检出 6 条 ERROR(illegal read of size 60),全部为 UB 越界读。触发 kernel 为 dyn_op_BatchNormGradExt2_L0_017,block aiv(0-18),地址 0x14400/0x1b1c0。

【用户影响】:
UB 越界读——读到越界数据可能导致梯度计算错误

附件


责任田:张磊(目标仓:wangyueting/changwei)

likedislike
Sun
Sun
1 day ago Comments:

image.png

提供的附件用例未能成功复现该问题。

实际 issue 场景中 L0_017 执行并未出现ERROR。可通过日志确认:

image.png

此外,附件中剩余两个用例均因用例构造问题被校验拦住,未能执行到相关逻辑。

因此,当前附件用例无法复现该 issue。

请提供有效的用例用于复现问题

likedislike