| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
Initial commit | 9 个月前 | |
fix:修复dump文件未完整落盘 Co-authored-by: yring_8<yangrui1@huawei.com> # message auto-generated for no-merge-commit merge: !3159 merge fix-adump-record-dataloss-on-exit into master fix:修复dump文件未完整落盘 Created-by: yring_8 Commit-by: yring_8 Merged-by: cann-robot Description: # Pull Request ## 描述 修复 adump 记录模块在进程退出时的数据丢失问题。 核心方案: 1. 修复AdxDumpRecord未落盘而退出任务的问题:在 UnInit 中通过加锁、设置停止标志、唤醒消费者线程并 join 等待,确保队列中的残留 dump 数据在退出前全部落盘。 2. 修复落盘任务队列存在的竞态问题:Size/IsEmpty没有加锁,需要加锁保护。 3. 修复DumpDfxKernel析构后的竞态问题:如果DumpDfxKernel已析构,不再接收回调。 4. 修复ExceptionDump如果没有任何数据要落盘,则不生成空文件。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> #653 ## 如何测试 描述测试此变更的步骤和前提条件: 1. 执行bash tests/build_ut.sh --ut=adump -c命令,dump的UT测试用例通过。 2. 开启Data Dump,能够正常落盘数据。 3. 使能Dfx Dump,能够正常落盘数据。 4. SK/PyPTO回调不dump数据,则不生成空数据文件。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!3159 | 3 个月前 | |
Initial commit | 9 个月前 | |
Initial commit | 9 个月前 | |
Initial commit | 9 个月前 | |
Initial commit | 9 个月前 | |
add opensource code Co-authored-by: duanpengliang<duanpengliang@huawei.com> | 8 个月前 | |
add opensource code Co-authored-by: duanpengliang<duanpengliang@huawei.com> | 8 个月前 | |
Initial commit | 9 个月前 | |
Initial commit | 9 个月前 | |
Initial commit | 9 个月前 | |
Initial commit | 9 个月前 | |
Initial commit | 9 个月前 | |
Initial commit | 9 个月前 | |
Initial commit | 9 个月前 | |
Initial commit | 9 个月前 | |
refactor: adump平台工厂重构,隐藏MDC芯片类型,修复UT兼容性 Co-authored-by: sinat_31531339<yuanyue23@huawei.com> # message auto-generated for no-merge-commit merge: !3073 merge feature/adump-hide-mdc-chip-types into master refactor: adump平台工厂重构,隐藏MDC芯片类型,修复UT兼容性 Created-by: sinat_31531339 Commit-by: sinat_31531339 Merged-by: cann-robot Description: # Pull Request ## 描述 对 adump 模块进行平台隔离重构,将散落在公共路径中的芯片/平台分支收敛到平台工厂 + 平台子目录,隐藏 MDC 芯片类型,并修复 UT 兼容性。 ### 主要变更 1. **新增平台工厂**: AdumpPlatformInterface 抽象基类 + AdumpPlatformReflection 工厂 + AdumpPlatformManager 单例入口,新增 CloudV2Platform/CloudV4Platform/DcPlatform 三个平台实现 2. **消除散落的平台判断**:将 DumpCore::DumpRegister/ConvertCoreId、DumpFile::SupportDumpMc2spaces/ComputeStructSize、PcFixerFactory、DfxArgsParser::GetIsDataTypeSizeByte、DumpManager::GetBinName/CheckCoredumpSupportedPlatform、OperatorPreliminary::GetBinName/CalcStackSize、AdxGetCoreTypeIDOffset/AdxGetBlockNum/AdxEnableSimtDump/GetStreamSynchronizeTimeout 全部改为通过平台接口分发 3. **隐藏 MDC 芯片类型**:CMake 移除 MDC 产品名枚举(as31xm1/ascend610/mc62cm12a 等),改用 MODULE_EXT 标志;build.sh 新增 --module_extension 参数控制 MODULE_EXT 变量;CMake 判断条件为 DEFINED MODULE_EXT AND NOT (MODULE_EXT STREQUAL "") 4. **AdumpPlatformManager 失败重试**:改为双重检查锁定,DrvGetPlatformType 失败后不缓存 nullptr,下次调用可重试;新增 ResetForTest() 供 UT 重置单例缓存 5. **消除架构反向依赖**:DumpCore 移除 friend 具体平台类,DumpV2/V4Register 改为 public;adump_platform.h 移除对 kernel_pc_fixer.h 的 include,CreatePcFixer 默认实现移到 cpp;平台文件相对路径 include 改为扁平 include 6. **代码质量改进**:删除未使用常量;fallback 改用基类默认实例消除魔法数字;基类新增 CalcKfcStackSize 辅助方法消除三处重复;7 个调用点补回 nullptr 时的 IDE_LOGW 日志 7. **UT 修复**:删除调用已移除 AdxIsAscend950 的用例;mock 从 ADX_LLT_SOC_VERSION 环境变量改为 MOCKER_CPP DrvGetPlatformType;10 个 UT 文件的 SetUp/TearDown 添加 AdumpPlatformManager::ResetForTest();新增 Test_PlatformManagerRetryAfterFailure 验证重试逻辑;4 个 UT CMakeLists 追加平台 cpp 文件确保注册宏被链接 ## 变更类型 - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 ## 关联的 Issue ## 如何测试 1. 运行 adump 全量 UT:bash tests/build_ut.sh --ut=adump -j8 2. 验证结果:820 tests all PASSED, 0 FAILED ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 ### 提交列表 | 提交 | 内容 | |------|------| | 14044628 | AdumpPlatformManager 失败后允许重试,CMake 隐藏 PRODUCT 值 | | 34995e29 | 消除平台常量重复,补回 nullptr 日志 | | 2d16ce07 | 消除架构反向依赖,统一 include 风格 | | 3e302a2e | 修复 UT 编译失败和平台工厂测试兼容性 | | f80db4e4 | UT SetUp/TearDown 添加 AdumpPlatformManager::ResetForTest | | b69d559d | build.sh 新增 module_extension 参数控制 MODULE_EXT | See merge request: cann/runtime!3073 | 3 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 9 个月前 | ||
| 3 个月前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 8 个月前 | ||
| 8 个月前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 3 个月前 |