记一次数据竞争导致内存损坏的coredump - 问题诊断
此次coredump断断续续查了约两个月才查明原因,迄今为止遇到最棘手的问题,深刻的体会到debug C/C++内存损坏是多么痛苦。为了debug还写了两个内存检测工具,可惜最终还是通过注释代码和人肉检查找到了问题根因,不过自制的检测工具还是能把模拟的demo检测出来问题,还是比较有成就感。
此次coredump断断续续查了约两个月才查明原因,迄今为止遇到最棘手的问题,深刻的体会到debug C/C++内存损坏是多么痛苦。为了debug还写了两个内存检测工具,可惜最终还是通过注释代码和人肉检查找到了问题根因,不过自制的检测工具还是能把模拟的demo检测出来问题,还是比较有成就感。
最近发现我竟然不知道或理解错误的系统知识,包含Linux系统时区设置、coredump文件命名的问题。
记录下最近遇到的一些问题: popen后台符号&导致僵尸进程、空间未满却新建文件失败、tar压缩中返回short read生成破损的压缩包、getifaddrs返回ifa_addr可能为空。
本文缘起遇到的Shell重定向的先后顺序问题,下定决心搞懂linux下非常常用的重定向原理。
记录一次由于动态链接库提供的含有虚函数的类不兼容导致的诡异coredump。