Thanks for sending an issue! Please fill in the following template to help quickly solve your problem.
当前matmul/batch_mat_mul_v3/op_host/op_api/aclnn_einsum.cpp下面存在以下这些问题: 1.HandleAxB2AB 缺少空指针检查导致段错误,函数中leftMatrix,rightMatrix和result这三个参数军缺乏空指针校验 2.UniqueExecutor 析构时 561102 警告导致内部状态损坏,HandleABCDxABCED2ABCE 和 HandleAxB2AB的OP_CHECK_WRONG_DIMENSION判断在uniqueExecutor构造之后析构之前,OP_CHECK_WRONG_DIMENSION 宏在维度检查失败时直接 return ACLNN_ERR_PARAM_INVALID,此时 uniqueExecutor 尚未调用 ReleaseTo(executor),触发析构函数输出 561102 警告,析构函数在清理中间资源时可能损坏了全局内部状态(如 op executor 的内存池),导致后续 API 调用访问已释放的内存。 3.HandleAxB2AB 缺少 output shape 校验,HandleABCDxABCED2ABCE做了校验 4.equation 空指针内部使用 561103 而非 161001,CheckNotNull 返回 false 后,CheckParams 通过 CHECK_RET(CheckNotNull(...), ACLNN_ERR_PARAM_NULLPTR) 转换,最终 aclnnEinsumGetWorkspaceSize 返回 161001 给调用方。因此错误码验证通过,但日志中的 561103 与文档不一致。
/
Thanks for sending an issue! Please fill in the following template to help quickly solve your problem.
Describe the current behavior / 问题描述 (Mandatory / 必填)
当前matmul/batch_mat_mul_v3/op_host/op_api/aclnn_einsum.cpp下面存在以下这些问题:
1.HandleAxB2AB 缺少空指针检查导致段错误,函数中leftMatrix,rightMatrix和result这三个参数军缺乏空指针校验
2.UniqueExecutor 析构时 561102 警告导致内部状态损坏,HandleABCDxABCED2ABCE 和 HandleAxB2AB的OP_CHECK_WRONG_DIMENSION判断在uniqueExecutor构造之后析构之前,OP_CHECK_WRONG_DIMENSION 宏在维度检查失败时直接 return ACLNN_ERR_PARAM_INVALID,此时 uniqueExecutor 尚未调用 ReleaseTo(executor),触发析构函数输出 561102 警告,析构函数在清理中间资源时可能损坏了全局内部状态(如 op executor 的内存池),导致后续 API 调用访问已释放的内存。
3.HandleAxB2AB 缺少 output shape 校验,HandleABCDxABCED2ABCE做了校验
4.equation 空指针内部使用 561103 而非 161001,CheckNotNull 返回 false 后,CheckParams 通过 CHECK_RET(CheckNotNull(...), ACLNN_ERR_PARAM_NULLPTR) 转换,最终 aclnnEinsumGetWorkspaceSize 返回 161001 给调用方。因此错误码验证通过,但日志中的 561103 与文档不一致。
Environment / 环境信息 (Mandatory / 必填)
/
Steps to reproduce the issue / 重现步骤 (Mandatory / 必填)
/
Describe the expected behavior / 预期结果 (Mandatory / 必填)
/
Related log / screenshot / 日志 / 截图 (Mandatory / 必填)
/
Special notes for this issue/备注 (Optional / 选填)