- 23
- 0
- 约 10页
- 2016-11-26 发布于重庆
- 举报
走下神坛的内存调试器定位多线程内存越界问题实践总结
定位多线程内存越界问题实践总结
2013/2/4
杨志丰 HYPERLINK mailto:yangzhifeng83@ yangzhifeng83@
关键字 多线程,内存越界,valgrind,electric-fence,mprotect,libsigsegv,glibc
最近定位了在一个多线程服务器程序(OceanBase MergeServer)中,一个线程非法篡改另一个线程的内存而导致程序core掉的问题。定位这个问题花了整整一周的时间,期间历经曲折,尝试了各种内存调试的办法。往往感觉就要柳暗花明了,却发现又进入了另一个死胡同。最后,使用强大的mprotect+backtrace+libsigsegv等工具成功定位了问题。整个定位过程遇到的问题和解决办法对于多线程内存越界问题都很典型,简单总结一下和大家分享。只对终极组合秘技感兴趣的同学,请直接阅读最后一节,其他的章节写到这里是为了科普。
现象
core是在系统集成测试过程中发现的。服务器程序MergeServer有一个50个工作线程组成的线程池,当使用8个线程的测试程序通过MergeServer读取数据时,后者偶尔会core掉。用gdb查看core文件,发现core的原因是一个指针的地址非法,当进程访问指针指向的地址时引起了段错误(segment fault)。见下图。
发生越界的指针ptr_位于一个叫做cnam
您可能关注的文档
- 质量综合知识质量专业技术人员资料.doc
- 质量通病防治措施(终).doc
- 贪吃蛇的逻辑实现.doc
- 贪嘴女孩瘦身法 必备8种餐前“口粮”.docx
- 购物网网站结构分析.doc
- 贯入法检测砌筑砂浆抗压强度技术规程JGJT1362001.doc
- 贲门癌简短宣传资料.doc
- 贴片机设备安装与调试.doc
- 贵州康星油脂费用管理制度.doc
- 贵州省兴义一中09-10学年高三数学一轮复习精品资料三角函数图象与性质.doc
- 清明节高中下学期主题班会课件.pptx
- 统编版语文一年级下册课件《语文园地三》.pptx
- 统编版语文一年级下册课件《语文园地六》.pptx
- 一例ECMO术患者的个案护理.pptx
- 2.12 辽宋夏金元时期经济的繁荣 课件 2025-2026学年统编版七年级历史下学期.pptx
- 一例重症肺炎患者改善肺功能的循证个案护理.pptx
- 青春不“翻车”:电动车安全小贴士 高中下学期主题班会.pptx
- 主动脉夹层破裂的急救护理.pptx
- Unit 3 My school calendar Part A let's spell 课件(内嵌音视频)2025-2026学年人教PEP版英语五年级下册.pptx
- 乳糜尿的微生物学分析.pptx
原创力文档

文档评论(0)