多线程崩溃(一)

2019-07-12 17:03发布

class="markdown_views prism-atom-one-light"> 项目遇到的一个BUG困扰了我好久。开发的模块A加入到系统中的时候,会偶发 coredump ,缺页异常 do_page_fault 。经过试验,当不激活模块B的时候,系统能稳定运行二十天以上。但是我这个模块时候新加入系统的,B模块在我这个模块未加入前,也能长时间保持稳定运行(这个功能上线近一年)。并且这个和网络状态相关,当网络好的时候,不容易复现这个问题。当wifi网络拥塞的时候,coredump的概率加大。 系统基于嵌入式linux 多线程运行。由于是嵌入式环境,内存受限,运行以后内存相对比较紧张,剩余内存也就是2,3M,一开始担心是新加入模块的内存受限导致。然后在一块 128M内存的板子上面运行(嵌入式平台基本配置是64M),问题依然复现,确认不是内存紧张的原因导致的。长时间运行以后检查内存,也没有发现明显的内存泄漏,剩余内存基本保持稳定。