pipe fd泄露

昨天apk遇到这样的crash

08-18 15:39:00.947  4796  5991 F Looper  : Could not create wake pipe.  errno=24
08-18 15:39:00.947  4796  5991 F libc    : Fatal signal 6 (SIGABRT) at 0x000012bc (code=-6), thread 5991 (ACTWrite)


然后发现是pipe出现了泄露,导致fd增加,当pipe满了无法创建后报上面这个错误。


可是项目中用到pipe的地方就一个,而且确定是释放掉了的。


最终定位发现是几个Thread使用完后没有quit,而Thread通信也使用到了pipe,Thread的泄露导致pipe数量的增加。

你可能感兴趣的:(Android相关,疑难杂症)