Android 8 出现 A/libc: invalid pthread_t 0x7dd83384f0 passed to libc 奔溃
在Android 8.0, 调用 pthread_detach 后奔溃,出现奔溃信息如下:
A/libc: invalid pthread_t 0x7dd83384f0 passed to libc
A/libc: Fatal signal 6 (SIGABRT), code -6 in tid 28040 (RxCachedThreadS)
后来看到网上说:
https://github.com/aosp-mirror/platform_bionic/blob/master/libc/bionic/pthread_internal.cpp
如图:
原因:在Android 8.0 之后,即sdk 版本>=26之后,对检测到线程队列指针为空的情况下还去调用分离线程会出现异常。
解决方法:
获取当前系统版本,大于等于26的话,不再调用 pthread_detach