@IT·互联网程序员

一年半才重现一次的bug

2017-04-28  本文已影响123人  Linux后端研发工程实践

bug出现的时间点

进程“死亡现场”

使用gdb细看coredump文件发现是在反序列化解析过程中解析失败然后跳到清理逻辑,在释放一个数组内存的时候引用的了空指针从而导致的奔溃,库代码在释放内存时没做空指针校验。

排查过程

这个时候还是不能完全排除业务进程踩内存导致业务包异常的问题,但是相比2015-10-13日我们已经添加了一个请求和应答稽核数据,这个数据会记录客户端所有的请求和应答数据,通过这个数据稽核查看工具发现对应有问题的业务请求的确是有问题的,那么这时我们可以确认这个bug是由客户端导致的,而不是业务进程踩了内存。

修复问题

思考

任何系统做大之后,业务数据都会通过很多环节和系统,出现问题很难排查,通常很有必要对业务请求做全路径的监控和记录,这样查问题时才能事半功倍。

上一篇 下一篇

猜你喜欢

热点阅读