昨天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数量的增加。