已合并
bugfix for tiling_utils UT core dump #3936
bugfix for tiling_utils UT core dump #3936
已合并
pengcheng1024创建于 7月3日
pengcheng1024成员
7月3日

描述

修复tiling_utils UT任务出现的静态析构顺序灾难问题导致的core dump问题
1.用例多次调用单例创建platforminfo等,进程退出时,libc按LIFO顺序调用通过__cxa_atexit注册析构函数。由于链接的共享库(register、graph、graph_base、opp_register、platform、metadef等)也有自己的static对象和atexit处理器,其析构顺序不可控,当某个库的析构函数试图访问已被其他析构函数销毁的对象时,触发SIGSEGV,导致core dump
2.当前用例错误mock污染进程单例状态导致乱序执行时,错误的mock调用导致野指针被使用,可能会导致coredump
3.当前修改在test main cpp 通过 std::quick_exit() 跳过了 atexit流程,需要注册的 gcov 刷新钩子,解决 .gcda 不生成;修复以及 lcov 脚本缺少错误忽略参数导致覆盖率生成失败的问题

关联的Issue

测试

文档更新

类型标签

  • 🐛 fix: Bug 修复
  • ✨ feat: 新功能
  • ⚡ perf: 性能优化
  • ♻️ refactor: 代码重构
  • 🧪 test: 新增或修改测试
  • 📝 docs: 文档更新
  • 🔧 ci: CI/CD 配置修改
  • ↩️ revert: 回退
  • 🧹 chore: 其他,请具体描述
likedislike
Pull Request已成功合入, 合并人@CANN-robot
(感谢 pengcheng1024 的贡献)
gao_dafa成员
7月3日 评论:

pengcheng1024,感谢您的提交,建议在完成PR充分自验证后,再触发线上构建任务。

若您的PR已具备检视条件,可根据下表的责任田,@对应的committer进行代码检视,我们会在第一时间对您的提交进行处理。

代码责任田:

module committer
adv_api chenyiyuan, wuyang_hw
basic_api chenyiyuan, wuyang_hw
c_api pangfd, yue_mo_du_qian
cmake xun_zhuge, DragonBornHD84
docs munanhw, ai_xin
examples changxianyu, bianque
simt_api wulinyu, zhanghao_0689
scripts xun_zhuge, kevin365
tools YANXI_ZHAO, XuebinYang, sjtulxh

💡 如您不确定可以@谁,可以直接@我或者ascend-c sig的maintainer,xun_zhugeascendhjh,我们会为您分配合适的committer进行代码检视。

再次感谢您参与CANN的社区贡献。

likedislike
此处折叠了279条消息 查看更多
zhugexun_sjtu
zhugexun_sjtu成员
7月7日 评论:

/lgtm
/approve

likedislike
CANN-robotCANN-robot成员
7月7日 添加了label:approved
YeZZzzz1成员
7月8日 评论:

/lgtm

likedislike
CANN-robotCANN-robot成员
7月8日 添加了label:lgtm
CANN-robotCANN-robot成员
7月8日 合入了pull request