| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
add fft 1d c2r ascend950 implementation Co-authored-by: demoauguste<zhanghao418@huawei.com> | 5 个月前 | |
Fix: 修复7个issue(#106/#108/#109/#110/#111/#112/#115) YAML重复键/日志fd/越界防护/溢出/内存泄漏 Co-authored-by: yang_3597<mr_yangdong@163.com> # message auto-generated for no-merge-commit merge: !118 merge fix/sip-issues-106-115 into master Fix: 修复7个issue(#106/#108/#109/#110/#111/#112/#115) YAML重复键/日志fd/越界防护/溢出/内存泄漏 Created-by: yang_3597 Commit-by: yang_3597 Merged-by: cann-robot Description: ## 修复内容 本 PR 一次性修复 7 个已确认的低风险缺陷 issue:#106 #108 #109 #110 #111 #112 #115 ### 1. #106/#109 configs/op_list.yaml 顶层 FftStrideOperation 键重复 FftStrideOperation 顶层键出现两次(内容完全一致,中间夹 DdOperation 块)。YAML 规范禁止映射键重复:宽松解析器静默取后者,严格模式加载器(yaml-cpp/Go yaml.v3 strict/SnakeYAML)直接抛 DuplicateKey 异常,且后续维护修改其中一处会造成静默分歧。删除第二处重复块(纯删除,解析结果与现状等价,44 个顶层键不变)。同时按仓库标准格式补充版权头,消除 OAT License Header 存量告警。 ### 2. #108 日志文件描述符为 0 时未关闭导致轮转失效 LogSinkFileSip::CloseFile() 使用 if (currentFd_ > 0) 判断,但 open() 返回 0 是合法情况(如进程启动时 stdin 已关闭)。此时日志 sink 不关闭 fd 0、不重置 currentFileSize_,导致日志轮转和析构清理失效。改为 currentFd_ >= 0,与其他非负 fd 一致处理。 ### 3. #111 GetHomeDir() 访问未初始化指针 getpwuid_r 错误判断条件使用 && 而非 ||:当返回 0(成功)但 result 为 NULL(用户未找到,POSIX 规定此时 pwd 内容未定义)时绕过检查,解引用未初始化的 pwd.pw_dir。条件改为 ||,并对 passwd 结构零初始化双保险。 ### 4. #110 matchR2C_ 数组索引越界 matchR2C_ 缺少兄弟函数 matchC2C_/matchC2R_ 均有的"plan 的 fftSizes 维度数大于张量维度数"防护,循环索引递减为负时 dims[i] 越界读。补齐相同的 plan.fftSizes.size() > last + 1 防护并安全释放 dims。 ### 5. #112 ComplexMatDotTiling 整数溢出 uint32_t numEachCore = m * n / vecCoreNum 中 m*n 在 uint32_t 域相乘,m=n=65536 时回绕为 0,tiling 参数 numEachCore/remainNum 错误。提升为 uint64_t 计算后再截断,正常范围内结果不变。 ### 6. #115 BlasCgemvPlan::SetyInTensor 内存泄漏 构造函数与 CreateTensor 均调用 SetyInTensor,第二次 aclrtMalloc 直接覆盖 yInTensor.data 指针,首次分配的设备内存丢失引用造成泄漏。分配前检查旧指针非空则先 FreeTensorInDevice 释放。 ## 验证 - 环境:Atlas 910B3 / CANN 9.1.0 - bash build.sh --dev 全量编译通过,run 包正常产出 - bash build.sh --ut 单元测试 **125/125 全部 PASS**(覆盖 BLAS Cgemv、FFT 全套用例,包含本次修改路径) - pre-commit 全部 11 项检查 Passed(trailing-whitespace/end-of-file/check-yaml/clang-format/codespell/OAT 等) - op_list.yaml 修改后 YAML 解析验证通过(无重复键、顶层键数量不变) Fixes #106, fixes #108, fixes #109, fixes #110, fixes #111, fixes #112, fixes #115 See merge request: cann/sip!118 | 1 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 5 个月前 | ||
| 1 个月前 |