libc : invalid pthread_t 0xccf3b970 passed to libc

2E7F63 06-01 17:39:19.760  2737  2737 F libc    : invalid pthread_t 0xccf3b970 passed to libc
2E7F7C 06-01 17:39:19.764  2737  2737 F libc    : Fatal signal 6 (SIGABRT), code -6 (SI_TKILL) in tid 2737 (baidu.appsearch), pid 2737 (baidu.appsearch)
2E806F 06-01 17:39:19.994  3364  3364 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
2E8070 06-01 17:39:19.994  3364  3364 F DEBUG   : Native Crash TIME: 113131087
2E8071 06-01 17:39:19.994  3364  3364 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
2E8072 06-01 17:39:19.994  3364  3364 F DEBUG   : Build fingerprint: 'Itel/F6308/itel-L6002P:9/PPR1.180610.011/OP-V009-20190529:user/release-keys'
2E8073 06-01 17:39:19.994  3364  3364 F DEBUG   : Revision: '0'
2E8074 06-01 17:39:19.994  3364  3364 F DEBUG   : ABI: 'arm'
2E8075 06-01 17:39:19.994  3364  3364 F DEBUG   : pid: 2737, tid: 2737, name: baidu.appsearch  >>> com.baidu.appsearch <<<
2E8076 06-01 17:39:19.994  3364  3364 F DEBUG   : signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
2E8077 06-01 17:39:19.995  3364  3364 F DEBUG   : Abort message: 'invalid pthread_t 0xccf3b970 passed to libc'
2E8078 06-01 17:39:19.995  3364  3364 F DEBUG   :     r0  00000000  r1  00000ab1  r2  00000006  r3  00000008
2E8079 06-01 17:39:19.995  3364  3364 F DEBUG   :     r4  00000ab1  r5  00000ab1  r6  ffd31f14  r7  0000010c
2E807A 06-01 17:39:19.995  3364  3364 F DEBUG   :     r8  00000000  r9  c5601928  r10 ffd320c8  r11 ffd32054
2E807B 06-01 17:39:19.995  3364  3364 F DEBUG   :     ip  00000041  sp  ffd31f00  lr  eff3206d  pc  eff29d96
2E807E 06-01 17:39:20.009  3364  3364 F DEBUG   : 
06-01 17:39:20.009  3364  3364 F DEBUG   : backtrace:
2E807F 06-01 17:39:20.009  3364  3364 F DEBUG   :     #00 pc 0001cd96  /system/lib/libc.so (abort+58)
2E8080 06-01 17:39:20.009  3364  3364 F DEBUG   :     #01 pc 00064771  /system/lib/libc.so (__pthread_internal_find(long)+104)
2E8081 06-01 17:39:20.009  3364  3364 F DEBUG   :     #02 pc 000647ad  /system/lib/libc.so (pthread_join+28)
2E8082 06-01 17:39:20.009  3364  3364 F DEBUG   :     #03 pc 00011d61  /data/data/com.baidu.appsearch/files/cybermedia/libs/6.3.2.9/libcyber-sdl.so
2E8083 06-01 17:39:20.009  3364  3364 F DEBUG   :     #04 pc 0002e58d  /data/data/com.baidu.appsearch/files/cybermedia/libs/6.3.2.9/libcyber-player.so
2E8084 06-01 17:39:20.009  3364  3364 F DEBUG   :     #05 pc 0002ffa3  /data/data/com.baidu.appsearch/files/cybermedia/libs/6.3.2.9/libcyber-player.so
2E8085 06-01 17:39:20.009  3364  3364 F DEBUG   :     #06 pc 000385c5  /data/data/com.baidu.appsearch/files/cybermedia/libs/6.3.2.9/libcyber-player.so
2E8086 06-01 17:39:20.009  3364  3364 F DEBUG   :     #07 pc 0003c4e1  /data/data/com.baidu.appsearch/files/cybermedia/libs/6.3.2.9/libcyber-player.so
2E8087 06-01 17:39:20.009  3364  3364 F DEBUG   :     #08 pc 0000073b  /data/data/com.baidu.appsearch/files/cybermedia/libs/6.3.2.9/oat/arm/cyber-media-dex.odex (offset 0x2000)
2E8A8A 06-01 17:39:35.875  3414  3746 F libc    : Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x69646e7d in tid 3746 (Thread-63), pid 3414 (baidu.appsearch)
2E8A8F 06-01 17:39:36.063  3922  3922 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***

 

https://www.jianshu.com/p/348d6aa63feb

一、Android 8.0遇到的問題

1. 線程中斷:

  • 描述:軟件中一個長期掛載執行的命令輪詢線程,中斷了
  • 原因:Android 8.0判斷軟件處於未活躍狀態,會釋放軟件持有的所有Wake Lock,恰巧線程中調用Lock.wait,同步鎖,被系統喚醒後,線程結束
  • 處理:增加運行標籤,重新啓動線程機制,增加sleep機制

2. invalid pthread_t 0x2243df2546 passed to libc

  • 處理:經檢測發現,由於c++代碼中不嚴謹的寫法導致了該問題,未啓動線程(未傳入線程指針)前,調用了pthread_join的方法,在以前的版本中,軟件沒有崩潰,所以沒有檢測到,修改後無問題

解決方法:

獲取當前系統版本,大於等於26的話,不再調用 pthread_detach

https://blog.csdn.net/hyl999/article/details/80620305

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章