已合并
bugfix for tiling_utils UT core dump #3936
pengcheng1024创建于 7月3日
bugfix for tiling_utils UT core dump #3936
已合并
Pull Request已成功合入, 合并人@CANN-robot
(感谢 pengcheng1024 的贡献)gao_dafa
7月3日 评论:
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_zhuge和ascendhjh,我们会为您分配合适的committer进行代码检视。
再次感谢您参与CANN的社区贡献。


此处折叠了279条消息 查看更多
zhugexun_sjtu
7月7日 评论:
7月7日 评论:
/lgtm
/approve


7月7日 添加了label:approved
7月8日 添加了label:lgtm
7月8日 合入了pull request
描述
修复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
测试
文档更新
类型标签