| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
feat: msnpureport -t 11 Co-authored-by: z_AUV<zhangchangwei6@h-partners.com> # message auto-generated for no-merge-commit merge: !4988 merge pr_msn_hccn into master feat: msnpureport -t 11 Created-by: z_AUV Commit-by: z_AUV Merged-by: cann-robot Description: # Pull Request ## 描述 请清晰准确地描述本次 Pull Request 的意图和变更内容。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!4988 | 1 个月前 | |
fix: PR#4807 检视意见修复 - close路径清理/并发测试/日志标签 (#957) Co-authored-by: GuoWenbo<guowenbo13@h-partners.com> # message auto-generated for no-merge-commit merge: !4970 merge fix-issue-957-pr1-review into master fix: PR#4807 检视意见修复 - close路径清理/并发测试/日志标签 (#957) Created-by: GuoWenbo Commit-by: GuoWenbo Merged-by: cann-robot Description: ## 描述 - 修复摘要: 补充 PR #4807 合入后检视意见的修复 - 来源: PR #4952(9.2.0 分支)的检视意见,同步回 master ## 变更类型 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 ## 关联的Issue https://gitcode.com/cann/runtime/issues/957 ## 关联的PR - 原始 PR: https://gitcode.com/cann/runtime/merge_requests/4807(已合入 master) - 9.2.0 同步 PR: https://gitcode.com/cann/runtime/merge_requests/4952 ## 修复内容 ### 意见 2/6(严重):DlogCloseTimerDll 清理遗漏 - DlogCloseTimerDll 卸载库后未调用 DlogResetTimerFuncInfo 清空函数表 - g_timerFuncInfo[].handle 仍指向已 dlclose 的符号地址(悬垂指针) - DlogAddUnifiedTimer 不检查 g_timerLibHandle,会通过残留指针调用已卸载地址 → use-after-free - 修复:close 路径添加 DlogResetTimerFuncInfo(),与 load 失败路径对齐 ### 意见 1/7(严重):并发测试空转 - ConcurrentLoadAndCloseTimerDllAreThreadSafe 未设置 g_stubLibLoadable=true - 4 线程 200 轮全部空转(LoadRuntimeDll 恒返回 NULL),互斥锁临界区从未被并发触及 - 该测试在未加锁的旧实现上同样通过,无法守护竞态回归 - 修复:设置 g_stubLibLoadable=true,末尾断言改为 LOG_SUCCESS ### 意见 3(一般):缺少 close 路径清理验证 - 新增 CloseClearsFunctionTable 测试:load 成功 → close → DlogAddUnifiedTimer/DlogRemoveUnifiedTimer 返回 1(函数表已清空) - 守护 DlogResetTimerFuncInfo 在 close 路径的调用 ### 意见 4(提示):stub 计数器数据竞争 - g_stubLoadDllFuncCallNum 和 g_stubUnloadCallNum 使用非原子自增 - 并发测试中多线程同时自增 → 未定义行为 - 修复:改用 __atomic_fetch_add(__ATOMIC_SEQ_CST) ### 意见 5(提示):日志标签不一致 - LogConfRealPath 日志标签 "file=%s" 实际输出 resolvePath - 修复:标签改为 "path=%s" ## 如何测试 - 5 个 Timer 测试全部通过(含新增 CloseClearsFunctionTable) - precommit 门禁 PASS(clang-format + OAT) ## 风险和遗留问题 - 互斥锁为非递归锁,close 路径内联清理而非调用 DlogCloseTimerDll,避免死锁 - 函数表清理防止悬垂指针(Add/Remove 无锁读表场景) See merge request: cann/runtime!4970 | 1 个月前 | |
Initial commit | 9 个月前 | |
fix: 软压缩代码逻辑优化 (#983) Co-authored-by: GuoWenbo<guowenbo13@h-partners.com> # message auto-generated for no-merge-commit merge: !4980 merge fix-issue-983 into master fix: 软压缩代码逻辑优化 (#983) Created-by: GuoWenbo Commit-by: GuoWenbo Merged-by: cann-robot Description: ## 描述 - 修复摘要: slogd进程负责将slog.so等客户端上报的日志进行分类落盘,在pegasus形态上还要进行压缩。 - 变更文件: - src/dfx/log/syslog/slog/log_server/log_mgr/file_mgr/log_to_file.c - src/dfx/log/utils/log_compress/log_hardware_zip.c - src/dfx/log/utils/log_compress/log_software_zip.c ### Diff 摘要 text .../slog/log_server/log_mgr/file_mgr/log_to_file.c | 27 ++++++++++++++++++++++ src/dfx/log/utils/log_compress/log_hardware_zip.c | 4 ++-- src/dfx/log/utils/log_compress/log_software_zip.c | 6 ++++- 3 files changed, 34 insertions(+), 3 deletions(-) ## 变更类型 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## 关联的Issue https://gitcode.com/cann/runtime/issues/983 ## 如何测试 - 测试结论: PASS - 检测到代码变更文件 3 个: src/dfx/log/syslog/slog/log_server/log_mgr/file_mgr/log_to_file.c, src/dfx/log/utils/log_compress/log_hardware_zip.c, src/dfx/log/utils/log_compress/log_software_zip.c - 测试日志包含通过信号 - 测试日志覆盖计划测试项 1 条 ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 ## 风险和遗留问题 - 无阻塞问题(结论 PASS)。以下为已知风险与验证边界,随 PR 一并说明: - 修复保证范围:write() 返回部分写入(含磁盘满 ENOSPC 主路径,即 issue 报告场景)被回滚;writeback 阶段(页缓存回写时)的延迟 ENOSPC 不在覆盖范围内,FsyncLogToDisk 失败仅告警(日志守护进程性能约束不做 per-entry fsync)。 - 硬件压缩路径(log_hardware_zip.c)在无 zip SDK 环境下仅语法级验证(-DHARDWARE_ZIP -fsyntax-only 零告警),部分写入检测逻辑与软件路径同构。 - 真机 mc62cm12a 形态端到端验证未执行(无该形态环境),以等价模拟验证程序为证据(生产同参数 deflateInit2(15+16)+Z_FINISH 逐条 gzip member + O_APPEND 追加)。 - 现有 slog UT(slogd_log_to_file_unittest.cc)在 CMake 中被注释且签名为旧 4 参数接口,无法直接复用,未运行。 See merge request: cann/runtime!4980 | 1 个月前 | |
fix: 软压缩代码逻辑优化 (#983) Co-authored-by: GuoWenbo<guowenbo13@h-partners.com> # message auto-generated for no-merge-commit merge: !4980 merge fix-issue-983 into master fix: 软压缩代码逻辑优化 (#983) Created-by: GuoWenbo Commit-by: GuoWenbo Merged-by: cann-robot Description: ## 描述 - 修复摘要: slogd进程负责将slog.so等客户端上报的日志进行分类落盘,在pegasus形态上还要进行压缩。 - 变更文件: - src/dfx/log/syslog/slog/log_server/log_mgr/file_mgr/log_to_file.c - src/dfx/log/utils/log_compress/log_hardware_zip.c - src/dfx/log/utils/log_compress/log_software_zip.c ### Diff 摘要 text .../slog/log_server/log_mgr/file_mgr/log_to_file.c | 27 ++++++++++++++++++++++ src/dfx/log/utils/log_compress/log_hardware_zip.c | 4 ++-- src/dfx/log/utils/log_compress/log_software_zip.c | 6 ++++- 3 files changed, 34 insertions(+), 3 deletions(-) ## 变更类型 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## 关联的Issue https://gitcode.com/cann/runtime/issues/983 ## 如何测试 - 测试结论: PASS - 检测到代码变更文件 3 个: src/dfx/log/syslog/slog/log_server/log_mgr/file_mgr/log_to_file.c, src/dfx/log/utils/log_compress/log_hardware_zip.c, src/dfx/log/utils/log_compress/log_software_zip.c - 测试日志包含通过信号 - 测试日志覆盖计划测试项 1 条 ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 ## 风险和遗留问题 - 无阻塞问题(结论 PASS)。以下为已知风险与验证边界,随 PR 一并说明: - 修复保证范围:write() 返回部分写入(含磁盘满 ENOSPC 主路径,即 issue 报告场景)被回滚;writeback 阶段(页缓存回写时)的延迟 ENOSPC 不在覆盖范围内,FsyncLogToDisk 失败仅告警(日志守护进程性能约束不做 per-entry fsync)。 - 硬件压缩路径(log_hardware_zip.c)在无 zip SDK 环境下仅语法级验证(-DHARDWARE_ZIP -fsyntax-only 零告警),部分写入检测逻辑与软件路径同构。 - 真机 mc62cm12a 形态端到端验证未执行(无该形态环境),以等价模拟验证程序为证据(生产同参数 deflateInit2(15+16)+Z_FINISH 逐条 gzip member + O_APPEND 追加)。 - 现有 slog UT(slogd_log_to_file_unittest.cc)在 CMake 中被注释且签名为旧 4 参数接口,无法直接复用,未运行。 See merge request: cann/runtime!4980 | 1 个月前 |