一、获取可能死锁的进程相关的数据
adb root
adb shell debuggerd -b (pid)
adb shell cat /sys/kernel/debug/binder/proc/(pid)
adb shell ps -T -p (pid)
如果遇到找不到文件,类似报错如下
canoe:/ # cat /sys/kernel/debug/binder/proc/1020
cat: /sys/kernel/debug/binder/proc/1020: No such file or directory
就可以尝试挂载debugfs
mount -t debugfs debugfs /sys/kernel/debug
ls /sys/kernel/debug/binder
ls /sys/kernel/debug/binder/proc
下面是一个正常进程的数据
canoe:/ # ps -T -p 1020
USER PID TID PPID VSZ RSS WCHAN ADDR S CMD
system 1020 1020 1 10952532 8848 ep_poll 0 S binder:1020_4
system 1020 1024 1 10952532 8848 binder_th+ 0 S binder:1020_1
system 1020 1025 1 10952532 8848 ep_poll 0 S PkgInfoResolver
system 1020 1026 1 10952532 8848 binder_th+ 0 S binder:1020_3
system 1020 1027 1 10952532 8848 ep_poll 0 S PressureMonitor
system 1020 1028 1 10952532 8848 ep_poll 0 S WatchdogPerfSvc
system 1020 1531 1 10952532 8848 futex_wai+ 0 S binder:1020_4
system 1020 5981 1 10952532 8848 binder_th+ 0 S binder:1020_5
canoe:/ # cat /sys/kernel/debug/binder/proc/1020
binder proc state:
proc 1020
context binder
thread 1020: l 00 need_return 0 tr 0
thread 1024: l 12 need_return 0 tr 0
thread 1026: l 11 need_return 0 tr 0
thread 1028: l 00 need_return 0 tr 0
thread 5981: l 11 need_return 0 tr 0
node 98: ub400007bd6204c10 cb400007bc6202248 pri 0:120 hs 1 hw 1 ls 0 lw 0 is 3 iw 3 tr 1 proc 4218 2248 441
node 94: ub400007bd6204dc0 cb400007bc6201e58 pri 0:120 hs 1 hw 1 ls 0 lw 0 is 1 iw 1 tr 1 proc 441
node 343: ub400007bd620d5b0 cb400007bc6203718 pri 0:120 hs 1 hw 1 ls 0 lw 0 is 1 iw 1 tr 1 proc 1197
node 337: ub400007bd620d730 cb400007bc6202bd8 pri 0:120 hs 1 hw 1 ls 0 lw 0 is 1 iw 1 tr 1 proc 1197
ref 88: desc 0 node 1 s 1 w 1 d 0000000000000000
ref 327: desc 1 node 287 s 1 w 1 d ffffff886f589b40
ref 12536: desc 2 node 12535 s 1 w 1 d ffffff88df43d440
ref 16100: desc 3 node 16099 s 1 w 1 d ffffff88dfbe2440
canoe:/ # debuggerd -b 1020
----- pid 1020 at 2026-04-03 08:07:50.466368580+0800 -----
Cmd line: /system/bin/carwatchdogd
ABI: 'arm64'
"binder:1020_4" sysTid=1020
#00 pc 00000000000d8e0c /apex/com.android.runtime/lib64/bionic/libc.so (__epoll_pwait+12) (BuildId: 6749654b298d5f3f303586203e167c0e)
#01 pc 0000000000013b80 /system/lib64/libutils.so (android::Looper::pollInner(int)+196) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#02 pc 0000000000014594 /system/lib64/libutils.so (android::Looper::pollAll(int, int*, int*, void**)+312) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#03 pc 0000000000034c30 /system/bin/carwatchdogd (main+380) (BuildId: 3018206b7765e6681f25196c3d7547e2)
#04 pc 000000000006a6f8 /apex/com.android.runtime/lib64/bionic/libc.so (__libc_init+124) (BuildId: 6749654b298d5f3f303586203e167c0e)
"binder:1020_1" sysTid=1024
#00 pc 00000000000d6dcc /apex/com.android.runtime/lib64/bionic/libc.so (__ioctl+12) (BuildId: 6749654b298d5f3f303586203e167c0e)
#01 pc 000000000007d144 /apex/com.android.runtime/lib64/bionic/libc.so (ioctl+156) (BuildId: 6749654b298d5f3f303586203e167c0e)
#02 pc 000000000004a2c8 /system/lib64/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+244) (BuildId: 1a310bdbdf7318d4350b12f8b197c67a)
#03 pc 000000000004a674 /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+32) (BuildId: 1a310bdbdf7318d4350b12f8b197c67a)
#04 pc 000000000004b0b0 /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+108) (BuildId: 1a310bdbdf7318d4350b12f8b197c67a)
#05 pc 000000000005617c /system/lib64/libbinder.so (android::PoolThread::threadLoop()+28) (BuildId: 1a310bdbdf7318d4350b12f8b197c67a)
#06 pc 0000000000011dfc /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+416) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#07 pc 0000000000011850 /system/lib64/libutils.so (libutil_thread_trampoline(void*) (.__uniq.226528677032898775202282855395389835431)+24) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#08 pc 000000000008264c /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+184) (BuildId: 6749654b298d5f3f303586203e167c0e)
#09 pc 0000000000074aa8 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68) (BuildId: 6749654b298d5f3f303586203e167c0e)
"PkgInfoResolver" sysTid=1025
#00 pc 00000000000d8e0c /apex/com.android.runtime/lib64/bionic/libc.so (__epoll_pwait+12) (BuildId: 6749654b298d5f3f303586203e167c0e)
#01 pc 0000000000013b80 /system/lib64/libutils.so (android::Looper::pollInner(int)+196) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#02 pc 0000000000014594 /system/lib64/libutils.so (android::Looper::pollAll(int, int*, int*, void**)+312) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#03 pc 00000000000984f8 /system/bin/carwatchdogd (void* std::__1::__thread_proxy[abi:nn200000]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, android::automotive::watchdog::PackageInfoResolver::startLooper()::$_0>>(void*)+304) (BuildId: 3018206b7765e6681f25196c3d7547e2)
#04 pc 000000000008264c /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+184) (BuildId: 6749654b298d5f3f303586203e167c0e)
#05 pc 0000000000074aa8 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68) (BuildId: 6749654b298d5f3f303586203e167c0e)
"binder:1020_3" sysTid=1026
#00 pc 00000000000d6dcc /apex/com.android.runtime/lib64/bionic/libc.so (__ioctl+12) (BuildId: 6749654b298d5f3f303586203e167c0e)
#01 pc 000000000007d144 /apex/com.android.runtime/lib64/bionic/libc.so (ioctl+156) (BuildId: 6749654b298d5f3f303586203e167c0e)
#02 pc 000000000004a2c8 /system/lib64/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+244) (BuildId: 1a310bdbdf7318d4350b12f8b197c67a)
#03 pc 000000000004a674 /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+32) (BuildId: 1a310bdbdf7318d4350b12f8b197c67a)
#04 pc 000000000004b0b0 /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+108) (BuildId: 1a310bdbdf7318d4350b12f8b197c67a)
#05 pc 000000000005617c /system/lib64/libbinder.so (android::PoolThread::threadLoop()+28) (BuildId: 1a310bdbdf7318d4350b12f8b197c67a)
#06 pc 0000000000011dfc /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+416) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#07 pc 0000000000011850 /system/lib64/libutils.so (libutil_thread_trampoline(void*) (.__uniq.226528677032898775202282855395389835431)+24) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#08 pc 000000000008264c /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+184) (BuildId: 6749654b298d5f3f303586203e167c0e)
#09 pc 0000000000074aa8 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68) (BuildId: 6749654b298d5f3f303586203e167c0e)
"PressureMonitor" sysTid=1027
#00 pc 00000000000d8e0c /apex/com.android.runtime/lib64/bionic/libc.so (__epoll_pwait+12) (BuildId: 6749654b298d5f3f303586203e167c0e)
#01 pc 000000000007164c /system/bin/carwatchdogd (android::automotive::watchdog::PressureMonitor::handleMessage(android::Message const&)+324) (BuildId: 3018206b7765e6681f25196c3d7547e2)
#02 pc 0000000000013c38 /system/lib64/libutils.so (android::Looper::pollInner(int)+380) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#03 pc 0000000000014594 /system/lib64/libutils.so (android::Looper::pollAll(int, int*, int*, void**)+312) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#04 pc 0000000000072dd8 /system/bin/carwatchdogd (void* std::__1::__thread_proxy[abi:nn200000]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, android::automotive::watchdog::PressureMonitor::start()::$_0>>(void*)+428) (BuildId: 3018206b7765e6681f25196c3d7547e2)
#05 pc 000000000008264c /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+184) (BuildId: 6749654b298d5f3f303586203e167c0e)
#06 pc 0000000000074aa8 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68) (BuildId: 6749654b298d5f3f303586203e167c0e)
"WatchdogPerfSvc" sysTid=1028
#00 pc 00000000000d8e0c /apex/com.android.runtime/lib64/bionic/libc.so (__epoll_pwait+12) (BuildId: 6749654b298d5f3f303586203e167c0e)
#01 pc 0000000000013b80 /system/lib64/libutils.so (android::Looper::pollInner(int)+196) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#02 pc 0000000000014594 /system/lib64/libutils.so (android::Looper::pollAll(int, int*, int*, void**)+312) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#03 pc 0000000000094220 /system/bin/carwatchdogd (void* std::__1::__thread_proxy[abi:nn200000]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, android::automotive::watchdog::WatchdogPerfService::start()::$_0>>(void*)+888) (BuildId: 3018206b7765e6681f25196c3d7547e2)
#04 pc 000000000008264c /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+184) (BuildId: 6749654b298d5f3f303586203e167c0e)
#05 pc 0000000000074aa8 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68) (BuildId: 6749654b298d5f3f303586203e167c0e)
"binder:1020_4" sysTid=1531
#00 pc 0000000000098460 /apex/com.android.runtime/lib64/bionic/libc.so (syscall+32) (BuildId: 6749654b298d5f3f303586203e167c0e)
#01 pc 000000000007383c /apex/com.android.runtime/lib64/bionic/libc.so (__futex_wait_ex(void volatile*, bool, int, bool, timespec const*)+148) (BuildId: 6749654b298d5f3f303586203e167c0e)
#02 pc 0000000000081a30 /apex/com.android.runtime/lib64/bionic/libc.so (pthread_cond_clockwait+180) (BuildId: 6749654b298d5f3f303586203e167c0e)
#03 pc 00000000000c8c1c /system/bin/carwatchdogd (void* std::__1::__thread_proxy[abi:nn200000]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, android::hardware::automotive::vehicle::PendingRequestPool::PendingRequestPool(long)::$_0>>(void*)+312) (BuildId: 3018206b7765e6681f25196c3d7547e2)
#04 pc 000000000008264c /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+184) (BuildId: 6749654b298d5f3f303586203e167c0e)
#05 pc 0000000000074aa8 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68) (BuildId: 6749654b298d5f3f303586203e167c0e)
"binder:1020_5" sysTid=5981
#00 pc 00000000000d6dcc /apex/com.android.runtime/lib64/bionic/libc.so (__ioctl+12) (BuildId: 6749654b298d5f3f303586203e167c0e)
#01 pc 000000000007d144 /apex/com.android.runtime/lib64/bionic/libc.so (ioctl+156) (BuildId: 6749654b298d5f3f303586203e167c0e)
#02 pc 000000000004a2c8 /system/lib64/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+244) (BuildId: 1a310bdbdf7318d4350b12f8b197c67a)
#03 pc 000000000004a674 /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+32) (BuildId: 1a310bdbdf7318d4350b12f8b197c67a)
#04 pc 000000000004b0b0 /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+108) (BuildId: 1a310bdbdf7318d4350b12f8b197c67a)
#05 pc 000000000005617c /system/lib64/libbinder.so (android::PoolThread::threadLoop()+28) (BuildId: 1a310bdbdf7318d4350b12f8b197c67a)
#06 pc 0000000000011dfc /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+416) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#07 pc 0000000000011850 /system/lib64/libutils.so (libutil_thread_trampoline(void*) (.__uniq.226528677032898775202282855395389835431)+24) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#08 pc 000000000008264c /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+184) (BuildId: 6749654b298d5f3f303586203e167c0e)
#09 pc 0000000000074aa8 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68) (BuildId: 6749654b298d5f3f303586203e167c0e)
----- end 1020 -----
二、解析示例:如何解读获得的正常数据
线程状态
thread 1020: l 00 need_return 0 tr 0
thread 1024: l 12 need_return 0 tr 0
thread 1026: l 11 need_return 0 tr 0
thread 1028: l 00 need_return 0 tr 0
thread 5981: l 11 need_return 0 tr 0
结合前面的 ps -T -p 1020:
1024 / 1026 / 5981是 binder 线程,WCHAN=binder_th+1020 / 1025 / 1027 / 1028多数在ep_poll1531在futex_wait
这通常表示:
binder:1020_x这些 binder 线程大概率处于空闲待命或轻度工作状态,不像被事务压满。tr 0很关键,表示这个线程当前没有挂着活跃 transaction 栈。need_return 0也正常,说明没有卡在一个必须立刻回 binder driver 的异常状态。
l 11、l 12 是 binder looper 状态位,精确位含义不用过度纠结。实战里主要看两点:
- 它是不是 binder looper 线程
- 它有没有 transaction / todo / pending work
这份里看不出"线程被事务拖死"。
proc级别状态
proc 1020
context binder
这表示它在默认 binder 上下文,不是 hwbinder 或 vndbinder。这本身正常。
如果一个进程被 binder 请求压住,常见会在这个文件里看到更多类似这些痕迹:
todo队列transaction列表pending async- 某个 thread 下挂着 transaction 详情
- 大量
from <pid>:<tid> to 1020:<tid>的记录
这份正常的数据没有这些内容,这是最重要的观察点。
node行怎么理解
node 98: ...
node 94: ...
node 343: ...
node 337: ...
这些 node 是"这个进程暴露出去的 Binder 对象"。可以粗略理解成"这个服务进程提供了哪些 Binder endpoint"。
后面的字段里:
hs/hw:强/弱引用相关状态ls/lw:本地引用计数is/iw:内部引用计数proc ...:有哪些进程持有或关联这个 node
这些字段在日常排障里通常不是第一优先级。这里几个 node 的引用数量都不夸张,看不出异常膨胀。
ref行怎么理解
ref 88: desc 0 node 1 ...
ref 327: desc 1 node 287 ...
ref 12536: desc 2 node 12535 ...
ref 16100: desc 3 node 16099 ...
这些 ref 表示"1020 这个进程持有的远端 Binder 句柄"。也就是它作为客户端连了哪些别的 Binder 服务。
同样,这些值本身不说明阻塞。除非你看到非常异常的增长,或者明确知道某个句柄正对应故障链上的服务。
这份输出能得出的结论
这份是正常机上的快照,从 binder 角度看更像:
- binder 线程池存在,至少有 3 个 binder worker 线程。
- 这些 binder 线程在抓取瞬间没有明显忙死。
- 没看到事务堆积、pending async、todo backlog。
- 没看到某个线程正在执行或卡住 transaction。
所以,这份输出更适合作为正常基线 。它说明"一个健康的 carwatchdogd/binder 服务,在 binder/proc/<pid> 里大概长这样"。
和故障机该怎么对比
如果问题机真的是 binder backlog 或 carwatchdogd 被压死,故障时抓出来通常会比这个多出明显异常信号,例如:
- 某些 binder 线程下面挂着 transaction 详情,长时间不变。
- 出现大量 async transaction 记录。
- 出现
proc todo或 thread todo 不断积压。 - 所有 binder 线程都不在
binder_thread_read空闲态,而是都挂在 transaction 上。 - 某个发送方 PID 反复出现,持续往同一个 node 打请求。
在故障机上,尽量在"system_server 已经卡住但还没被杀"的窗口里,连续抓 3 份:
cat /sys/kernel/debug/binder/proc/1173
ps -T -p 1173
debuggerd -b 1173
最好每隔 1 到 2 秒抓一次,连续抓 3 次。分析时看这三个问题:
- binder/proc/1173 里有没有 transaction backlog 或 async pending。
- ps -T -p 1173 里 binder 线程是不是全部不再空闲。
- debuggerd -b 1173 里线程到底卡在 binder driver、锁等待,还是 carwatchdogd 自己的业务逻辑里。
三、解析示例:如何解读获得得异常数据
下面是debuggerd抓取的调用栈,同样的调用栈抓取了3次。由于发生了死锁,3份文件的调用栈都在同样的地方。
代码为安卓16的AAOS
----- pid 1173 at 2026-07-29 15:31:22.110512076+0800 -----
Cmd line: /system/bin/carwatchdogd
ABI: 'arm64'
"binder:1173_4" sysTid=1173
#00 pc 0000000000098460 /apex/com.android.runtime/lib64/bionic/libc.so (syscall+32) (BuildId: 6749654b298d5f3f303586203e167c0e)
#01 pc 000000000007383c /apex/com.android.runtime/lib64/bionic/libc.so (__futex_wait_ex(void volatile*, bool, int, bool, timespec const*)+148) (BuildId: 6749654b298d5f3f303586203e167c0e)
#02 pc 0000000000083f88 /apex/com.android.runtime/lib64/bionic/libc.so (NonPI::MutexLockWithTimeout(pthread_mutex_internal_t*, bool, timespec const*)+344) (BuildId: 6749654b298d5f3f303586203e167c0e)
#03 pc 00000000000a2410 /system/bin/carwatchdogd (android::automotive::watchdog::WatchdogProcessService::MessageHandlerImpl::handleMessage(android::Message const&)+540) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#04 pc 0000000000013c38 /system/lib64/libutils.so (android::Looper::pollInner(int)+380) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#05 pc 0000000000014594 /system/lib64/libutils.so (android::Looper::pollAll(int, int*, int*, void**)+312) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#06 pc 0000000000034c30 /system/bin/carwatchdogd (main+380) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#07 pc 000000000006a6f8 /apex/com.android.runtime/lib64/bionic/libc.so (__libc_init+124) (BuildId: 6749654b298d5f3f303586203e167c0e)
"binder:1173_13" sysTid=797
#00 pc 0000000000098460 /apex/com.android.runtime/lib64/bionic/libc.so (syscall+32) (BuildId: 6749654b298d5f3f303586203e167c0e)
#01 pc 000000000007383c /apex/com.android.runtime/lib64/bionic/libc.so (__futex_wait_ex(void volatile*, bool, int, bool, timespec const*)+148) (BuildId: 6749654b298d5f3f303586203e167c0e)
#02 pc 00000000000817b4 /apex/com.android.runtime/lib64/bionic/libc.so (pthread_cond_wait+76) (BuildId: 6749654b298d5f3f303586203e167c0e)
#03 pc 00000000000a2ab4 /system/lib64/libc++.so (std::__1::__shared_mutex_base::lock()+44) (BuildId: ada37e5198285720b02f7d77fd27626c7782fe29)
#04 pc 000000000003e4d0 /system/bin/carwatchdogd (android::automotive::watchdog::WatchdogServiceHelper::registerService(std::__1::shared_ptr<aidl::android::automotive::watchdog::internal::ICarWatchdogServiceForSystem> const&)+96) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#05 pc 000000000003c418 /system/bin/carwatchdogd (android::automotive::watchdog::WatchdogInternalHandler::registerCarWatchdogService(std::__1::shared_ptr<aidl::android::automotive::watchdog::internal::ICarWatchdogServiceForSystem> const&)+212) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#06 pc 00000000000a4bec /system/bin/carwatchdogd (aidl::android::automotive::watchdog::internal::_aidl_android_automotive_watchdog_internal_ICarWatchdog_onTransact(AIBinder*, unsigned int, AParcel const*, AParcel*)+932) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#07 pc 00000000000118a8 /system/lib64/libbinder_ndk.so (ABBinder::onTransact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+324) (BuildId: dfddd81e9f30558710ad9637efdebc32)
#08 pc 00000000000617e4 /system/lib64/libbinder.so (android::BBinder::transact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+568) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#09 pc 000000000004abac /system/lib64/libbinder.so (android::IPCThreadState::executeCommand(int)+968) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#10 pc 000000000004a6e8 /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+148) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#11 pc 000000000004b0b0 /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+108) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#12 pc 000000000005617c /system/lib64/libbinder.so (android::PoolThread::threadLoop()+28) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#13 pc 0000000000011dfc /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+416) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#14 pc 0000000000011850 /system/lib64/libutils.so (libutil_thread_trampoline(void*) (.__uniq.226528677032898775202282855395389835431)+24) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#15 pc 000000000008264c /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+184) (BuildId: 6749654b298d5f3f303586203e167c0e)
#16 pc 0000000000074aa8 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68) (BuildId: 6749654b298d5f3f303586203e167c0e)
"binder:1173_1" sysTid=1179
#00 pc 0000000000098460 /apex/com.android.runtime/lib64/bionic/libc.so (syscall+32) (BuildId: 6749654b298d5f3f303586203e167c0e)
#01 pc 000000000007383c /apex/com.android.runtime/lib64/bionic/libc.so (__futex_wait_ex(void volatile*, bool, int, bool, timespec const*)+148) (BuildId: 6749654b298d5f3f303586203e167c0e)
#02 pc 0000000000083f88 /apex/com.android.runtime/lib64/bionic/libc.so (NonPI::MutexLockWithTimeout(pthread_mutex_internal_t*, bool, timespec const*)+344) (BuildId: 6749654b298d5f3f303586203e167c0e)
#03 pc 00000000000a1fc4 /system/bin/carwatchdogd (android::automotive::watchdog::WatchdogProcessService::PropertyChangeListener::onPropertyEvent(std::__1::vector<std::__1::unique_ptr<android::frameworks::automotive::vhal::IHalPropValue, std::__1::default_delete<android::frameworks::automotive::vhal::IHalPropValue>>, std::__1::allocator<std::__1::unique_ptr<android::frameworks::automotive::vhal::IHalPropValue, std::__1::default_delete<android::frameworks::automotive::vhal::IHalPropValue>>>> const&)+204) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#04 pc 00000000000bda88 /system/bin/carwatchdogd (android::frameworks::automotive::vhal::SubscriptionVehicleCallback::onPropertyEvent(aidl::android::hardware::automotive::vehicle::VehiclePropValues const&, int)+2120) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#05 pc 00000000000ceadc /system/bin/carwatchdogd (aidl::android::hardware::automotive::vehicle::_aidl_android_hardware_automotive_vehicle_IVehicleCallback_onTransact(AIBinder*, unsigned int, AParcel const*, AParcel*)+1708) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#06 pc 00000000000118a8 /system/lib64/libbinder_ndk.so (ABBinder::onTransact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+324) (BuildId: dfddd81e9f30558710ad9637efdebc32)
#07 pc 00000000000617e4 /system/lib64/libbinder.so (android::BBinder::transact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+568) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#08 pc 000000000004abac /system/lib64/libbinder.so (android::IPCThreadState::executeCommand(int)+968) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#09 pc 000000000004a6e8 /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+148) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#10 pc 000000000004b0b0 /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+108) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#11 pc 000000000005617c /system/lib64/libbinder.so (android::PoolThread::threadLoop()+28) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#12 pc 0000000000011dfc /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+416) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#13 pc 0000000000011850 /system/lib64/libutils.so (libutil_thread_trampoline(void*) (.__uniq.226528677032898775202282855395389835431)+24) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#14 pc 000000000008264c /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+184) (BuildId: 6749654b298d5f3f303586203e167c0e)
#15 pc 0000000000074aa8 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68) (BuildId: 6749654b298d5f3f303586203e167c0e)
"binder:1173_3" sysTid=1180
#00 pc 0000000000098460 /apex/com.android.runtime/lib64/bionic/libc.so (syscall+32) (BuildId: 6749654b298d5f3f303586203e167c0e)
#01 pc 000000000007383c /apex/com.android.runtime/lib64/bionic/libc.so (__futex_wait_ex(void volatile*, bool, int, bool, timespec const*)+148) (BuildId: 6749654b298d5f3f303586203e167c0e)
#02 pc 00000000000817b4 /apex/com.android.runtime/lib64/bionic/libc.so (pthread_cond_wait+76) (BuildId: 6749654b298d5f3f303586203e167c0e)
#03 pc 00000000000a2ab4 /system/lib64/libc++.so (std::__1::__shared_mutex_base::lock()+44) (BuildId: ada37e5198285720b02f7d77fd27626c7782fe29)
#04 pc 000000000003e4d0 /system/bin/carwatchdogd (android::automotive::watchdog::WatchdogServiceHelper::registerService(std::__1::shared_ptr<aidl::android::automotive::watchdog::internal::ICarWatchdogServiceForSystem> const&)+96) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#05 pc 000000000003c418 /system/bin/carwatchdogd (android::automotive::watchdog::WatchdogInternalHandler::registerCarWatchdogService(std::__1::shared_ptr<aidl::android::automotive::watchdog::internal::ICarWatchdogServiceForSystem> const&)+212) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#06 pc 00000000000a4bec /system/bin/carwatchdogd (aidl::android::automotive::watchdog::internal::_aidl_android_automotive_watchdog_internal_ICarWatchdog_onTransact(AIBinder*, unsigned int, AParcel const*, AParcel*)+932) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#07 pc 00000000000118a8 /system/lib64/libbinder_ndk.so (ABBinder::onTransact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+324) (BuildId: dfddd81e9f30558710ad9637efdebc32)
#08 pc 00000000000617e4 /system/lib64/libbinder.so (android::BBinder::transact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+568) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#09 pc 000000000004abac /system/lib64/libbinder.so (android::IPCThreadState::executeCommand(int)+968) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#10 pc 000000000004a6e8 /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+148) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#11 pc 000000000004b0b0 /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+108) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#12 pc 000000000005617c /system/lib64/libbinder.so (android::PoolThread::threadLoop()+28) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#13 pc 0000000000011dfc /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+416) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#14 pc 0000000000011850 /system/lib64/libutils.so (libutil_thread_trampoline(void*) (.__uniq.226528677032898775202282855395389835431)+24) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#15 pc 000000000008264c /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+184) (BuildId: 6749654b298d5f3f303586203e167c0e)
#16 pc 0000000000074aa8 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68) (BuildId: 6749654b298d5f3f303586203e167c0e)
"PkgInfoResolver" sysTid=1181
#00 pc 00000000000d8e0c /apex/com.android.runtime/lib64/bionic/libc.so (__epoll_pwait+12) (BuildId: 6749654b298d5f3f303586203e167c0e)
#01 pc 0000000000013b80 /system/lib64/libutils.so (android::Looper::pollInner(int)+196) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#02 pc 0000000000014594 /system/lib64/libutils.so (android::Looper::pollAll(int, int*, int*, void**)+312) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#03 pc 00000000000984f8 /system/bin/carwatchdogd (void* std::__1::__thread_proxy[abi:nn200000]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, android::automotive::watchdog::PackageInfoResolver::startLooper()::$_0>>(void*)+304) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#04 pc 000000000008264c /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+184) (BuildId: 6749654b298d5f3f303586203e167c0e)
#05 pc 0000000000074aa8 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68) (BuildId: 6749654b298d5f3f303586203e167c0e)
"PressureMonitor" sysTid=1183
#00 pc 00000000000d8e0c /apex/com.android.runtime/lib64/bionic/libc.so (__epoll_pwait+12) (BuildId: 6749654b298d5f3f303586203e167c0e)
#01 pc 000000000007164c /system/bin/carwatchdogd (android::automotive::watchdog::PressureMonitor::handleMessage(android::Message const&)+324) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#02 pc 0000000000013ce4 /system/lib64/libutils.so (android::Looper::pollInner(int)+552) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#03 pc 0000000000014594 /system/lib64/libutils.so (android::Looper::pollAll(int, int*, int*, void**)+312) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#04 pc 0000000000072dd8 /system/bin/carwatchdogd (void* std::__1::__thread_proxy[abi:nn200000]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, android::automotive::watchdog::PressureMonitor::start()::$_0>>(void*)+428) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#05 pc 000000000008264c /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+184) (BuildId: 6749654b298d5f3f303586203e167c0e)
#06 pc 0000000000074aa8 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68) (BuildId: 6749654b298d5f3f303586203e167c0e)
"WatchdogPerfSvc" sysTid=1184
#00 pc 0000000000098460 /apex/com.android.runtime/lib64/bionic/libc.so (syscall+32) (BuildId: 6749654b298d5f3f303586203e167c0e)
#01 pc 000000000007383c /apex/com.android.runtime/lib64/bionic/libc.so (__futex_wait_ex(void volatile*, bool, int, bool, timespec const*)+148) (BuildId: 6749654b298d5f3f303586203e167c0e)
#02 pc 00000000000817b4 /apex/com.android.runtime/lib64/bionic/libc.so (pthread_cond_wait+76) (BuildId: 6749654b298d5f3f303586203e167c0e)
#03 pc 00000000000a2c1c /system/lib64/libc++.so (std::__1::__shared_mutex_base::lock_shared()+56) (BuildId: ada37e5198285720b02f7d77fd27626c7782fe29)
#04 pc 000000000003f8cc /system/bin/carwatchdogd (android::automotive::watchdog::WatchdogServiceHelper::isServiceConnected()+24) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#05 pc 0000000000095af0 /system/bin/carwatchdogd (android::automotive::watchdog::PackageInfoResolver::updatePackageInfos(std::__1::vector<unsigned int, std::__1::allocator<unsigned int>> const&)+1856) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#06 pc 0000000000096494 /system/bin/carwatchdogd (android::automotive::watchdog::PackageInfoResolver::getPackageInfosForUids(std::__1::vector<unsigned int, std::__1::allocator<unsigned int>> const&)+88) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#07 pc 0000000000087f14 /system/bin/carwatchdogd (android::automotive::watchdog::UidStatsCollector::process(std::__1::unordered_map<unsigned int, android::automotive::watchdog::UidIoStats, std::__1::hash<unsigned int>, std::__1::equal_to<unsigned int>, std::__1::allocator<std::__1::pair<unsigned int const, android::automotive::watchdog::UidIoStats>>> const&, std::__1::unordered_map<unsigned int, android::automotive::watchdog::UidProcStats, std::__1::hash<unsigned int>, std::__1::equal_to<unsigned int>, std::__1::allocator<std::__1::pair<unsigned int const, android::automotive::watchdog::UidProcStats>>> const&, std::__1::unordered_map<unsigned int, long, std::__1::hash<unsigned int>, std::__1::equal_to<unsigned int>, std::__1::allocator<std::__1::pair<unsigned int const, long>>> const&) const+496) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#08 pc 0000000000087a3c /system/bin/carwatchdogd (android::automotive::watchdog::UidStatsCollector::collect()+1364) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#09 pc 00000000000914d0 /system/bin/carwatchdogd (android::automotive::watchdog::WatchdogPerfService::processCollectionEvent(android::automotive::watchdog::WatchdogPerfService::EventMetadata*)+652) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#10 pc 000000000008ffc0 /system/bin/carwatchdogd (android::automotive::watchdog::WatchdogPerfService::handleMessage(android::Message const&)+1832) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#11 pc 0000000000013c38 /system/lib64/libutils.so (android::Looper::pollInner(int)+380) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#12 pc 0000000000014594 /system/lib64/libutils.so (android::Looper::pollAll(int, int*, int*, void**)+312) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#13 pc 0000000000094220 /system/bin/carwatchdogd (void* std::__1::__thread_proxy[abi:nn200000]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, android::automotive::watchdog::WatchdogPerfService::start()::$_0>>(void*)+888) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#14 pc 000000000008264c /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+184) (BuildId: 6749654b298d5f3f303586203e167c0e)
#15 pc 0000000000074aa8 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68) (BuildId: 6749654b298d5f3f303586203e167c0e)
"binder:1173_4" sysTid=2129
#00 pc 0000000000098460 /apex/com.android.runtime/lib64/bionic/libc.so (syscall+32) (BuildId: 6749654b298d5f3f303586203e167c0e)
#01 pc 000000000007383c /apex/com.android.runtime/lib64/bionic/libc.so (__futex_wait_ex(void volatile*, bool, int, bool, timespec const*)+148) (BuildId: 6749654b298d5f3f303586203e167c0e)
#02 pc 0000000000081a30 /apex/com.android.runtime/lib64/bionic/libc.so (pthread_cond_clockwait+180) (BuildId: 6749654b298d5f3f303586203e167c0e)
#03 pc 00000000000c8c1c /system/bin/carwatchdogd (void* std::__1::__thread_proxy[abi:nn200000]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, android::hardware::automotive::vehicle::PendingRequestPool::PendingRequestPool(long)::$_0>>(void*)+312) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#04 pc 000000000008264c /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+184) (BuildId: 6749654b298d5f3f303586203e167c0e)
#05 pc 0000000000074aa8 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68) (BuildId: 6749654b298d5f3f303586203e167c0e)
"binder:1173_5" sysTid=5997
#00 pc 0000000000098460 /apex/com.android.runtime/lib64/bionic/libc.so (syscall+32) (BuildId: 6749654b298d5f3f303586203e167c0e)
#01 pc 000000000007383c /apex/com.android.runtime/lib64/bionic/libc.so (__futex_wait_ex(void volatile*, bool, int, bool, timespec const*)+148) (BuildId: 6749654b298d5f3f303586203e167c0e)
#02 pc 00000000000817b4 /apex/com.android.runtime/lib64/bionic/libc.so (pthread_cond_wait+76) (BuildId: 6749654b298d5f3f303586203e167c0e)
#03 pc 00000000000a2c1c /system/lib64/libc++.so (std::__1::__shared_mutex_base::lock_shared()+56) (BuildId: ada37e5198285720b02f7d77fd27626c7782fe29)
#04 pc 0000000000095fe0 /system/bin/carwatchdogd (android::automotive::watchdog::PackageInfoResolver::asyncFetchPackageNamesForUids(std::__1::vector<unsigned int, std::__1::allocator<unsigned int>> const&, std::__1::function<void (std::__1::unordered_map<unsigned int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::hash<unsigned int>, std::__1::equal_to<unsigned int>, std::__1::allocator<std::__1::pair<unsigned int const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>>)> const&)+64) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#05 pc 000000000009ab10 /system/bin/carwatchdogd (android::automotive::watchdog::WatchdogProcessService::registerClient(android::automotive::watchdog::WatchdogProcessService::ClientInfo const&, aidl::android::automotive::watchdog::TimeoutLength)+2844) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#06 pc 000000000009b3f4 /system/bin/carwatchdogd (android::automotive::watchdog::WatchdogProcessService::registerCarWatchdogService(ndk::SpAIBinder const&, android::sp<android::automotive::watchdog::WatchdogServiceHelperInterface> const&)+416) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#07 pc 000000000003e564 /system/bin/carwatchdogd (android::automotive::watchdog::WatchdogServiceHelper::registerService(std::__1::shared_ptr<aidl::android::automotive::watchdog::internal::ICarWatchdogServiceForSystem> const&)+244) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#08 pc 000000000003c418 /system/bin/carwatchdogd (android::automotive::watchdog::WatchdogInternalHandler::registerCarWatchdogService(std::__1::shared_ptr<aidl::android::automotive::watchdog::internal::ICarWatchdogServiceForSystem> const&)+212) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#09 pc 00000000000a4bec /system/bin/carwatchdogd (aidl::android::automotive::watchdog::internal::_aidl_android_automotive_watchdog_internal_ICarWatchdog_onTransact(AIBinder*, unsigned int, AParcel const*, AParcel*)+932) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#10 pc 00000000000118a8 /system/lib64/libbinder_ndk.so (ABBinder::onTransact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+324) (BuildId: dfddd81e9f30558710ad9637efdebc32)
#11 pc 00000000000617e4 /system/lib64/libbinder.so (android::BBinder::transact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+568) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#12 pc 000000000004abac /system/lib64/libbinder.so (android::IPCThreadState::executeCommand(int)+968) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#13 pc 000000000004a6e8 /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+148) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#14 pc 000000000004b0b0 /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+108) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#15 pc 000000000005617c /system/lib64/libbinder.so (android::PoolThread::threadLoop()+28) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#16 pc 0000000000011dfc /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+416) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#17 pc 0000000000011850 /system/lib64/libutils.so (libutil_thread_trampoline(void*) (.__uniq.226528677032898775202282855395389835431)+24) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#18 pc 000000000008264c /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+184) (BuildId: 6749654b298d5f3f303586203e167c0e)
#19 pc 0000000000074aa8 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68) (BuildId: 6749654b298d5f3f303586203e167c0e)
"binder:1173_8" sysTid=7630
#00 pc 0000000000098460 /apex/com.android.runtime/lib64/bionic/libc.so (syscall+32) (BuildId: 6749654b298d5f3f303586203e167c0e)
#01 pc 000000000007383c /apex/com.android.runtime/lib64/bionic/libc.so (__futex_wait_ex(void volatile*, bool, int, bool, timespec const*)+148) (BuildId: 6749654b298d5f3f303586203e167c0e)
#02 pc 00000000000817b4 /apex/com.android.runtime/lib64/bionic/libc.so (pthread_cond_wait+76) (BuildId: 6749654b298d5f3f303586203e167c0e)
#03 pc 00000000000a2ab4 /system/lib64/libc++.so (std::__1::__shared_mutex_base::lock()+44) (BuildId: ada37e5198285720b02f7d77fd27626c7782fe29)
#04 pc 000000000003e4d0 /system/bin/carwatchdogd (android::automotive::watchdog::WatchdogServiceHelper::registerService(std::__1::shared_ptr<aidl::android::automotive::watchdog::internal::ICarWatchdogServiceForSystem> const&)+96) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#05 pc 000000000003c418 /system/bin/carwatchdogd (android::automotive::watchdog::WatchdogInternalHandler::registerCarWatchdogService(std::__1::shared_ptr<aidl::android::automotive::watchdog::internal::ICarWatchdogServiceForSystem> const&)+212) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#06 pc 00000000000a4bec /system/bin/carwatchdogd (aidl::android::automotive::watchdog::internal::_aidl_android_automotive_watchdog_internal_ICarWatchdog_onTransact(AIBinder*, unsigned int, AParcel const*, AParcel*)+932) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#07 pc 00000000000118a8 /system/lib64/libbinder_ndk.so (ABBinder::onTransact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+324) (BuildId: dfddd81e9f30558710ad9637efdebc32)
#08 pc 00000000000617e4 /system/lib64/libbinder.so (android::BBinder::transact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+568) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#09 pc 000000000004abac /system/lib64/libbinder.so (android::IPCThreadState::executeCommand(int)+968) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#10 pc 000000000004a6e8 /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+148) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#11 pc 000000000004b0b0 /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+108) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#12 pc 000000000005617c /system/lib64/libbinder.so (android::PoolThread::threadLoop()+28) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#13 pc 0000000000011dfc /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+416) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#14 pc 0000000000011850 /system/lib64/libutils.so (libutil_thread_trampoline(void*) (.__uniq.226528677032898775202282855395389835431)+24) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#15 pc 000000000008264c /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+184) (BuildId: 6749654b298d5f3f303586203e167c0e)
#16 pc 0000000000074aa8 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68) (BuildId: 6749654b298d5f3f303586203e167c0e)
"binder:1173_9" sysTid=10936
#00 pc 0000000000098460 /apex/com.android.runtime/lib64/bionic/libc.so (syscall+32) (BuildId: 6749654b298d5f3f303586203e167c0e)
#01 pc 000000000007383c /apex/com.android.runtime/lib64/bionic/libc.so (__futex_wait_ex(void volatile*, bool, int, bool, timespec const*)+148) (BuildId: 6749654b298d5f3f303586203e167c0e)
#02 pc 00000000000817b4 /apex/com.android.runtime/lib64/bionic/libc.so (pthread_cond_wait+76) (BuildId: 6749654b298d5f3f303586203e167c0e)
#03 pc 00000000000a2ab4 /system/lib64/libc++.so (std::__1::__shared_mutex_base::lock()+44) (BuildId: ada37e5198285720b02f7d77fd27626c7782fe29)
#04 pc 000000000003e4d0 /system/bin/carwatchdogd (android::automotive::watchdog::WatchdogServiceHelper::registerService(std::__1::shared_ptr<aidl::android::automotive::watchdog::internal::ICarWatchdogServiceForSystem> const&)+96) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#05 pc 000000000003c418 /system/bin/carwatchdogd (android::automotive::watchdog::WatchdogInternalHandler::registerCarWatchdogService(std::__1::shared_ptr<aidl::android::automotive::watchdog::internal::ICarWatchdogServiceForSystem> const&)+212) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#06 pc 00000000000a4bec /system/bin/carwatchdogd (aidl::android::automotive::watchdog::internal::_aidl_android_automotive_watchdog_internal_ICarWatchdog_onTransact(AIBinder*, unsigned int, AParcel const*, AParcel*)+932) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#07 pc 00000000000118a8 /system/lib64/libbinder_ndk.so (ABBinder::onTransact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+324) (BuildId: dfddd81e9f30558710ad9637efdebc32)
#08 pc 00000000000617e4 /system/lib64/libbinder.so (android::BBinder::transact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+568) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#09 pc 000000000004abac /system/lib64/libbinder.so (android::IPCThreadState::executeCommand(int)+968) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#10 pc 000000000004a6e8 /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+148) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#11 pc 000000000004b0b0 /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+108) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#12 pc 000000000005617c /system/lib64/libbinder.so (android::PoolThread::threadLoop()+28) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#13 pc 0000000000011dfc /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+416) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#14 pc 0000000000011850 /system/lib64/libutils.so (libutil_thread_trampoline(void*) (.__uniq.226528677032898775202282855395389835431)+24) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#15 pc 000000000008264c /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+184) (BuildId: 6749654b298d5f3f303586203e167c0e)
#16 pc 0000000000074aa8 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68) (BuildId: 6749654b298d5f3f303586203e167c0e)
"binder:1173_6" sysTid=11376
#00 pc 0000000000098460 /apex/com.android.runtime/lib64/bionic/libc.so (syscall+32) (BuildId: 6749654b298d5f3f303586203e167c0e)
#01 pc 000000000007383c /apex/com.android.runtime/lib64/bionic/libc.so (__futex_wait_ex(void volatile*, bool, int, bool, timespec const*)+148) (BuildId: 6749654b298d5f3f303586203e167c0e)
#02 pc 00000000000817b4 /apex/com.android.runtime/lib64/bionic/libc.so (pthread_cond_wait+76) (BuildId: 6749654b298d5f3f303586203e167c0e)
#03 pc 00000000000a2ab4 /system/lib64/libc++.so (std::__1::__shared_mutex_base::lock()+44) (BuildId: ada37e5198285720b02f7d77fd27626c7782fe29)
#04 pc 000000000003e4d0 /system/bin/carwatchdogd (android::automotive::watchdog::WatchdogServiceHelper::registerService(std::__1::shared_ptr<aidl::android::automotive::watchdog::internal::ICarWatchdogServiceForSystem> const&)+96) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#05 pc 000000000003c418 /system/bin/carwatchdogd (android::automotive::watchdog::WatchdogInternalHandler::registerCarWatchdogService(std::__1::shared_ptr<aidl::android::automotive::watchdog::internal::ICarWatchdogServiceForSystem> const&)+212) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#06 pc 00000000000a4bec /system/bin/carwatchdogd (aidl::android::automotive::watchdog::internal::_aidl_android_automotive_watchdog_internal_ICarWatchdog_onTransact(AIBinder*, unsigned int, AParcel const*, AParcel*)+932) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#07 pc 00000000000118a8 /system/lib64/libbinder_ndk.so (ABBinder::onTransact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+324) (BuildId: dfddd81e9f30558710ad9637efdebc32)
#08 pc 00000000000617e4 /system/lib64/libbinder.so (android::BBinder::transact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+568) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#09 pc 000000000004abac /system/lib64/libbinder.so (android::IPCThreadState::executeCommand(int)+968) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#10 pc 000000000004a6e8 /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+148) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#11 pc 000000000004b0b0 /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+108) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#12 pc 000000000005617c /system/lib64/libbinder.so (android::PoolThread::threadLoop()+28) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#13 pc 0000000000011dfc /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+416) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#14 pc 0000000000011850 /system/lib64/libutils.so (libutil_thread_trampoline(void*) (.__uniq.226528677032898775202282855395389835431)+24) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#15 pc 000000000008264c /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+184) (BuildId: 6749654b298d5f3f303586203e167c0e)
#16 pc 0000000000074aa8 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68) (BuildId: 6749654b298d5f3f303586203e167c0e)
"binder:1173_A" sysTid=12833
#00 pc 0000000000098460 /apex/com.android.runtime/lib64/bionic/libc.so (syscall+32) (BuildId: 6749654b298d5f3f303586203e167c0e)
#01 pc 000000000007383c /apex/com.android.runtime/lib64/bionic/libc.so (__futex_wait_ex(void volatile*, bool, int, bool, timespec const*)+148) (BuildId: 6749654b298d5f3f303586203e167c0e)
#02 pc 00000000000817b4 /apex/com.android.runtime/lib64/bionic/libc.so (pthread_cond_wait+76) (BuildId: 6749654b298d5f3f303586203e167c0e)
#03 pc 00000000000a2ab4 /system/lib64/libc++.so (std::__1::__shared_mutex_base::lock()+44) (BuildId: ada37e5198285720b02f7d77fd27626c7782fe29)
#04 pc 000000000003e4d0 /system/bin/carwatchdogd (android::automotive::watchdog::WatchdogServiceHelper::registerService(std::__1::shared_ptr<aidl::android::automotive::watchdog::internal::ICarWatchdogServiceForSystem> const&)+96) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#05 pc 000000000003c418 /system/bin/carwatchdogd (android::automotive::watchdog::WatchdogInternalHandler::registerCarWatchdogService(std::__1::shared_ptr<aidl::android::automotive::watchdog::internal::ICarWatchdogServiceForSystem> const&)+212) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#06 pc 00000000000a4bec /system/bin/carwatchdogd (aidl::android::automotive::watchdog::internal::_aidl_android_automotive_watchdog_internal_ICarWatchdog_onTransact(AIBinder*, unsigned int, AParcel const*, AParcel*)+932) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#07 pc 00000000000118a8 /system/lib64/libbinder_ndk.so (ABBinder::onTransact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+324) (BuildId: dfddd81e9f30558710ad9637efdebc32)
#08 pc 00000000000617e4 /system/lib64/libbinder.so (android::BBinder::transact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+568) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#09 pc 000000000004abac /system/lib64/libbinder.so (android::IPCThreadState::executeCommand(int)+968) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#10 pc 000000000004a6e8 /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+148) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#11 pc 000000000004b0b0 /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+108) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#12 pc 000000000005617c /system/lib64/libbinder.so (android::PoolThread::threadLoop()+28) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#13 pc 0000000000011dfc /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+416) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#14 pc 0000000000011850 /system/lib64/libutils.so (libutil_thread_trampoline(void*) (.__uniq.226528677032898775202282855395389835431)+24) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#15 pc 000000000008264c /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+184) (BuildId: 6749654b298d5f3f303586203e167c0e)
#16 pc 0000000000074aa8 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68) (BuildId: 6749654b298d5f3f303586203e167c0e)
"binder:1173_B" sysTid=14648
#00 pc 0000000000098460 /apex/com.android.runtime/lib64/bionic/libc.so (syscall+32) (BuildId: 6749654b298d5f3f303586203e167c0e)
#01 pc 000000000007383c /apex/com.android.runtime/lib64/bionic/libc.so (__futex_wait_ex(void volatile*, bool, int, bool, timespec const*)+148) (BuildId: 6749654b298d5f3f303586203e167c0e)
#02 pc 00000000000817b4 /apex/com.android.runtime/lib64/bionic/libc.so (pthread_cond_wait+76) (BuildId: 6749654b298d5f3f303586203e167c0e)
#03 pc 00000000000a2ab4 /system/lib64/libc++.so (std::__1::__shared_mutex_base::lock()+44) (BuildId: ada37e5198285720b02f7d77fd27626c7782fe29)
#04 pc 000000000003e4d0 /system/bin/carwatchdogd (android::automotive::watchdog::WatchdogServiceHelper::registerService(std::__1::shared_ptr<aidl::android::automotive::watchdog::internal::ICarWatchdogServiceForSystem> const&)+96) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#05 pc 000000000003c418 /system/bin/carwatchdogd (android::automotive::watchdog::WatchdogInternalHandler::registerCarWatchdogService(std::__1::shared_ptr<aidl::android::automotive::watchdog::internal::ICarWatchdogServiceForSystem> const&)+212) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#06 pc 00000000000a4bec /system/bin/carwatchdogd (aidl::android::automotive::watchdog::internal::_aidl_android_automotive_watchdog_internal_ICarWatchdog_onTransact(AIBinder*, unsigned int, AParcel const*, AParcel*)+932) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#07 pc 00000000000118a8 /system/lib64/libbinder_ndk.so (ABBinder::onTransact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+324) (BuildId: dfddd81e9f30558710ad9637efdebc32)
#08 pc 00000000000617e4 /system/lib64/libbinder.so (android::BBinder::transact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+568) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#09 pc 000000000004abac /system/lib64/libbinder.so (android::IPCThreadState::executeCommand(int)+968) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#10 pc 000000000004a6e8 /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+148) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#11 pc 000000000004b0b0 /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+108) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#12 pc 000000000005617c /system/lib64/libbinder.so (android::PoolThread::threadLoop()+28) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#13 pc 0000000000011dfc /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+416) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#14 pc 0000000000011850 /system/lib64/libutils.so (libutil_thread_trampoline(void*) (.__uniq.226528677032898775202282855395389835431)+24) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#15 pc 000000000008264c /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+184) (BuildId: 6749654b298d5f3f303586203e167c0e)
#16 pc 0000000000074aa8 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68) (BuildId: 6749654b298d5f3f303586203e167c0e)
"binder:1173_C" sysTid=14649
#00 pc 0000000000098460 /apex/com.android.runtime/lib64/bionic/libc.so (syscall+32) (BuildId: 6749654b298d5f3f303586203e167c0e)
#01 pc 000000000007383c /apex/com.android.runtime/lib64/bionic/libc.so (__futex_wait_ex(void volatile*, bool, int, bool, timespec const*)+148) (BuildId: 6749654b298d5f3f303586203e167c0e)
#02 pc 00000000000817b4 /apex/com.android.runtime/lib64/bionic/libc.so (pthread_cond_wait+76) (BuildId: 6749654b298d5f3f303586203e167c0e)
#03 pc 00000000000a2ab4 /system/lib64/libc++.so (std::__1::__shared_mutex_base::lock()+44) (BuildId: ada37e5198285720b02f7d77fd27626c7782fe29)
#04 pc 000000000003e4d0 /system/bin/carwatchdogd (android::automotive::watchdog::WatchdogServiceHelper::registerService(std::__1::shared_ptr<aidl::android::automotive::watchdog::internal::ICarWatchdogServiceForSystem> const&)+96) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#05 pc 000000000003c418 /system/bin/carwatchdogd (android::automotive::watchdog::WatchdogInternalHandler::registerCarWatchdogService(std::__1::shared_ptr<aidl::android::automotive::watchdog::internal::ICarWatchdogServiceForSystem> const&)+212) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#06 pc 00000000000a4bec /system/bin/carwatchdogd (aidl::android::automotive::watchdog::internal::_aidl_android_automotive_watchdog_internal_ICarWatchdog_onTransact(AIBinder*, unsigned int, AParcel const*, AParcel*)+932) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#07 pc 00000000000118a8 /system/lib64/libbinder_ndk.so (ABBinder::onTransact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+324) (BuildId: dfddd81e9f30558710ad9637efdebc32)
#08 pc 00000000000617e4 /system/lib64/libbinder.so (android::BBinder::transact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+568) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#09 pc 000000000004abac /system/lib64/libbinder.so (android::IPCThreadState::executeCommand(int)+968) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#10 pc 000000000004a6e8 /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+148) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#11 pc 000000000004b0b0 /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+108) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#12 pc 000000000005617c /system/lib64/libbinder.so (android::PoolThread::threadLoop()+28) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#13 pc 0000000000011dfc /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+416) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#14 pc 0000000000011850 /system/lib64/libutils.so (libutil_thread_trampoline(void*) (.__uniq.226528677032898775202282855395389835431)+24) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#15 pc 000000000008264c /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+184) (BuildId: 6749654b298d5f3f303586203e167c0e)
#16 pc 0000000000074aa8 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68) (BuildId: 6749654b298d5f3f303586203e167c0e)
"binder:1173_D" sysTid=17599
#00 pc 0000000000098460 /apex/com.android.runtime/lib64/bionic/libc.so (syscall+32) (BuildId: 6749654b298d5f3f303586203e167c0e)
#01 pc 000000000007383c /apex/com.android.runtime/lib64/bionic/libc.so (__futex_wait_ex(void volatile*, bool, int, bool, timespec const*)+148) (BuildId: 6749654b298d5f3f303586203e167c0e)
#02 pc 00000000000817b4 /apex/com.android.runtime/lib64/bionic/libc.so (pthread_cond_wait+76) (BuildId: 6749654b298d5f3f303586203e167c0e)
#03 pc 00000000000a2ab4 /system/lib64/libc++.so (std::__1::__shared_mutex_base::lock()+44) (BuildId: ada37e5198285720b02f7d77fd27626c7782fe29)
#04 pc 000000000003e4d0 /system/bin/carwatchdogd (android::automotive::watchdog::WatchdogServiceHelper::registerService(std::__1::shared_ptr<aidl::android::automotive::watchdog::internal::ICarWatchdogServiceForSystem> const&)+96) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#05 pc 000000000003c418 /system/bin/carwatchdogd (android::automotive::watchdog::WatchdogInternalHandler::registerCarWatchdogService(std::__1::shared_ptr<aidl::android::automotive::watchdog::internal::ICarWatchdogServiceForSystem> const&)+212) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#06 pc 00000000000a4bec /system/bin/carwatchdogd (aidl::android::automotive::watchdog::internal::_aidl_android_automotive_watchdog_internal_ICarWatchdog_onTransact(AIBinder*, unsigned int, AParcel const*, AParcel*)+932) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#07 pc 00000000000118a8 /system/lib64/libbinder_ndk.so (ABBinder::onTransact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+324) (BuildId: dfddd81e9f30558710ad9637efdebc32)
#08 pc 00000000000617e4 /system/lib64/libbinder.so (android::BBinder::transact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+568) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#09 pc 000000000004abac /system/lib64/libbinder.so (android::IPCThreadState::executeCommand(int)+968) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#10 pc 000000000004a6e8 /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+148) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#11 pc 000000000004b0b0 /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+108) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#12 pc 000000000005617c /system/lib64/libbinder.so (android::PoolThread::threadLoop()+28) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#13 pc 0000000000011dfc /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+416) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#14 pc 0000000000011850 /system/lib64/libutils.so (libutil_thread_trampoline(void*) (.__uniq.226528677032898775202282855395389835431)+24) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#15 pc 000000000008264c /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+184) (BuildId: 6749654b298d5f3f303586203e167c0e)
#16 pc 0000000000074aa8 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68) (BuildId: 6749654b298d5f3f303586203e167c0e)
"binder:1173_E" sysTid=17602
#00 pc 0000000000098460 /apex/com.android.runtime/lib64/bionic/libc.so (syscall+32) (BuildId: 6749654b298d5f3f303586203e167c0e)
#01 pc 000000000007383c /apex/com.android.runtime/lib64/bionic/libc.so (__futex_wait_ex(void volatile*, bool, int, bool, timespec const*)+148) (BuildId: 6749654b298d5f3f303586203e167c0e)
#02 pc 00000000000817b4 /apex/com.android.runtime/lib64/bionic/libc.so (pthread_cond_wait+76) (BuildId: 6749654b298d5f3f303586203e167c0e)
#03 pc 00000000000a2ab4 /system/lib64/libc++.so (std::__1::__shared_mutex_base::lock()+44) (BuildId: ada37e5198285720b02f7d77fd27626c7782fe29)
#04 pc 000000000003e4d0 /system/bin/carwatchdogd (android::automotive::watchdog::WatchdogServiceHelper::registerService(std::__1::shared_ptr<aidl::android::automotive::watchdog::internal::ICarWatchdogServiceForSystem> const&)+96) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#05 pc 000000000003c418 /system/bin/carwatchdogd (android::automotive::watchdog::WatchdogInternalHandler::registerCarWatchdogService(std::__1::shared_ptr<aidl::android::automotive::watchdog::internal::ICarWatchdogServiceForSystem> const&)+212) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#06 pc 00000000000a4bec /system/bin/carwatchdogd (aidl::android::automotive::watchdog::internal::_aidl_android_automotive_watchdog_internal_ICarWatchdog_onTransact(AIBinder*, unsigned int, AParcel const*, AParcel*)+932) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#07 pc 00000000000118a8 /system/lib64/libbinder_ndk.so (ABBinder::onTransact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+324) (BuildId: dfddd81e9f30558710ad9637efdebc32)
#08 pc 00000000000617e4 /system/lib64/libbinder.so (android::BBinder::transact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+568) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#09 pc 000000000004abac /system/lib64/libbinder.so (android::IPCThreadState::executeCommand(int)+968) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#10 pc 000000000004a6e8 /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+148) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#11 pc 000000000004b0b0 /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+108) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#12 pc 000000000005617c /system/lib64/libbinder.so (android::PoolThread::threadLoop()+28) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#13 pc 0000000000011dfc /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+416) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#14 pc 0000000000011850 /system/lib64/libutils.so (libutil_thread_trampoline(void*) (.__uniq.226528677032898775202282855395389835431)+24) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#15 pc 000000000008264c /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+184) (BuildId: 6749654b298d5f3f303586203e167c0e)
#16 pc 0000000000074aa8 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68) (BuildId: 6749654b298d5f3f303586203e167c0e)
"binder:1173_7" sysTid=26331
#00 pc 0000000000098460 /apex/com.android.runtime/lib64/bionic/libc.so (syscall+32) (BuildId: 6749654b298d5f3f303586203e167c0e)
#01 pc 000000000007383c /apex/com.android.runtime/lib64/bionic/libc.so (__futex_wait_ex(void volatile*, bool, int, bool, timespec const*)+148) (BuildId: 6749654b298d5f3f303586203e167c0e)
#02 pc 00000000000817b4 /apex/com.android.runtime/lib64/bionic/libc.so (pthread_cond_wait+76) (BuildId: 6749654b298d5f3f303586203e167c0e)
#03 pc 00000000000a2ab4 /system/lib64/libc++.so (std::__1::__shared_mutex_base::lock()+44) (BuildId: ada37e5198285720b02f7d77fd27626c7782fe29)
#04 pc 000000000003e4d0 /system/bin/carwatchdogd (android::automotive::watchdog::WatchdogServiceHelper::registerService(std::__1::shared_ptr<aidl::android::automotive::watchdog::internal::ICarWatchdogServiceForSystem> const&)+96) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#05 pc 000000000003c418 /system/bin/carwatchdogd (android::automotive::watchdog::WatchdogInternalHandler::registerCarWatchdogService(std::__1::shared_ptr<aidl::android::automotive::watchdog::internal::ICarWatchdogServiceForSystem> const&)+212) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#06 pc 00000000000a4bec /system/bin/carwatchdogd (aidl::android::automotive::watchdog::internal::_aidl_android_automotive_watchdog_internal_ICarWatchdog_onTransact(AIBinder*, unsigned int, AParcel const*, AParcel*)+932) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#07 pc 00000000000118a8 /system/lib64/libbinder_ndk.so (ABBinder::onTransact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+324) (BuildId: dfddd81e9f30558710ad9637efdebc32)
#08 pc 00000000000617e4 /system/lib64/libbinder.so (android::BBinder::transact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+568) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#09 pc 000000000004abac /system/lib64/libbinder.so (android::IPCThreadState::executeCommand(int)+968) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#10 pc 000000000004a6e8 /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+148) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#11 pc 000000000004b0b0 /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+108) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#12 pc 000000000005617c /system/lib64/libbinder.so (android::PoolThread::threadLoop()+28) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#13 pc 0000000000011dfc /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+416) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#14 pc 0000000000011850 /system/lib64/libutils.so (libutil_thread_trampoline(void*) (.__uniq.226528677032898775202282855395389835431)+24) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#15 pc 000000000008264c /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+184) (BuildId: 6749654b298d5f3f303586203e167c0e)
#16 pc 0000000000074aa8 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68) (BuildId: 6749654b298d5f3f303586203e167c0e)
"binder:1173_F" sysTid=26586
#00 pc 0000000000098460 /apex/com.android.runtime/lib64/bionic/libc.so (syscall+32) (BuildId: 6749654b298d5f3f303586203e167c0e)
#01 pc 000000000007383c /apex/com.android.runtime/lib64/bionic/libc.so (__futex_wait_ex(void volatile*, bool, int, bool, timespec const*)+148) (BuildId: 6749654b298d5f3f303586203e167c0e)
#02 pc 00000000000817b4 /apex/com.android.runtime/lib64/bionic/libc.so (pthread_cond_wait+76) (BuildId: 6749654b298d5f3f303586203e167c0e)
#03 pc 00000000000a2ab4 /system/lib64/libc++.so (std::__1::__shared_mutex_base::lock()+44) (BuildId: ada37e5198285720b02f7d77fd27626c7782fe29)
#04 pc 000000000003e4d0 /system/bin/carwatchdogd (android::automotive::watchdog::WatchdogServiceHelper::registerService(std::__1::shared_ptr<aidl::android::automotive::watchdog::internal::ICarWatchdogServiceForSystem> const&)+96) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#05 pc 000000000003c418 /system/bin/carwatchdogd (android::automotive::watchdog::WatchdogInternalHandler::registerCarWatchdogService(std::__1::shared_ptr<aidl::android::automotive::watchdog::internal::ICarWatchdogServiceForSystem> const&)+212) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#06 pc 00000000000a4bec /system/bin/carwatchdogd (aidl::android::automotive::watchdog::internal::_aidl_android_automotive_watchdog_internal_ICarWatchdog_onTransact(AIBinder*, unsigned int, AParcel const*, AParcel*)+932) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#07 pc 00000000000118a8 /system/lib64/libbinder_ndk.so (ABBinder::onTransact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+324) (BuildId: dfddd81e9f30558710ad9637efdebc32)
#08 pc 00000000000617e4 /system/lib64/libbinder.so (android::BBinder::transact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+568) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#09 pc 000000000004abac /system/lib64/libbinder.so (android::IPCThreadState::executeCommand(int)+968) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#10 pc 000000000004a6e8 /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+148) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#11 pc 000000000004b0b0 /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+108) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#12 pc 000000000005617c /system/lib64/libbinder.so (android::PoolThread::threadLoop()+28) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#13 pc 0000000000011dfc /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+416) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#14 pc 0000000000011850 /system/lib64/libutils.so (libutil_thread_trampoline(void*) (.__uniq.226528677032898775202282855395389835431)+24) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#15 pc 000000000008264c /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+184) (BuildId: 6749654b298d5f3f303586203e167c0e)
#16 pc 0000000000074aa8 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68) (BuildId: 6749654b298d5f3f303586203e167c0e)
"binder:1173_10" sysTid=28522
#00 pc 0000000000098460 /apex/com.android.runtime/lib64/bionic/libc.so (syscall+32) (BuildId: 6749654b298d5f3f303586203e167c0e)
#01 pc 000000000007383c /apex/com.android.runtime/lib64/bionic/libc.so (__futex_wait_ex(void volatile*, bool, int, bool, timespec const*)+148) (BuildId: 6749654b298d5f3f303586203e167c0e)
#02 pc 00000000000817b4 /apex/com.android.runtime/lib64/bionic/libc.so (pthread_cond_wait+76) (BuildId: 6749654b298d5f3f303586203e167c0e)
#03 pc 00000000000a2ab4 /system/lib64/libc++.so (std::__1::__shared_mutex_base::lock()+44) (BuildId: ada37e5198285720b02f7d77fd27626c7782fe29)
#04 pc 000000000003e4d0 /system/bin/carwatchdogd (android::automotive::watchdog::WatchdogServiceHelper::registerService(std::__1::shared_ptr<aidl::android::automotive::watchdog::internal::ICarWatchdogServiceForSystem> const&)+96) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#05 pc 000000000003c418 /system/bin/carwatchdogd (android::automotive::watchdog::WatchdogInternalHandler::registerCarWatchdogService(std::__1::shared_ptr<aidl::android::automotive::watchdog::internal::ICarWatchdogServiceForSystem> const&)+212) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#06 pc 00000000000a4bec /system/bin/carwatchdogd (aidl::android::automotive::watchdog::internal::_aidl_android_automotive_watchdog_internal_ICarWatchdog_onTransact(AIBinder*, unsigned int, AParcel const*, AParcel*)+932) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#07 pc 00000000000118a8 /system/lib64/libbinder_ndk.so (ABBinder::onTransact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+324) (BuildId: dfddd81e9f30558710ad9637efdebc32)
#08 pc 00000000000617e4 /system/lib64/libbinder.so (android::BBinder::transact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+568) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#09 pc 000000000004abac /system/lib64/libbinder.so (android::IPCThreadState::executeCommand(int)+968) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#10 pc 000000000004a6e8 /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+148) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#11 pc 000000000004b0b0 /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+108) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#12 pc 000000000005617c /system/lib64/libbinder.so (android::PoolThread::threadLoop()+28) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#13 pc 0000000000011dfc /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+416) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#14 pc 0000000000011850 /system/lib64/libutils.so (libutil_thread_trampoline(void*) (.__uniq.226528677032898775202282855395389835431)+24) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#15 pc 000000000008264c /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+184) (BuildId: 6749654b298d5f3f303586203e167c0e)
#16 pc 0000000000074aa8 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68) (BuildId: 6749654b298d5f3f303586203e167c0e)
"binder:1173_11" sysTid=29889
#00 pc 0000000000098460 /apex/com.android.runtime/lib64/bionic/libc.so (syscall+32) (BuildId: 6749654b298d5f3f303586203e167c0e)
#01 pc 000000000007383c /apex/com.android.runtime/lib64/bionic/libc.so (__futex_wait_ex(void volatile*, bool, int, bool, timespec const*)+148) (BuildId: 6749654b298d5f3f303586203e167c0e)
#02 pc 00000000000817b4 /apex/com.android.runtime/lib64/bionic/libc.so (pthread_cond_wait+76) (BuildId: 6749654b298d5f3f303586203e167c0e)
#03 pc 00000000000a2ab4 /system/lib64/libc++.so (std::__1::__shared_mutex_base::lock()+44) (BuildId: ada37e5198285720b02f7d77fd27626c7782fe29)
#04 pc 000000000003e4d0 /system/bin/carwatchdogd (android::automotive::watchdog::WatchdogServiceHelper::registerService(std::__1::shared_ptr<aidl::android::automotive::watchdog::internal::ICarWatchdogServiceForSystem> const&)+96) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#05 pc 000000000003c418 /system/bin/carwatchdogd (android::automotive::watchdog::WatchdogInternalHandler::registerCarWatchdogService(std::__1::shared_ptr<aidl::android::automotive::watchdog::internal::ICarWatchdogServiceForSystem> const&)+212) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#06 pc 00000000000a4bec /system/bin/carwatchdogd (aidl::android::automotive::watchdog::internal::_aidl_android_automotive_watchdog_internal_ICarWatchdog_onTransact(AIBinder*, unsigned int, AParcel const*, AParcel*)+932) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#07 pc 00000000000118a8 /system/lib64/libbinder_ndk.so (ABBinder::onTransact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+324) (BuildId: dfddd81e9f30558710ad9637efdebc32)
#08 pc 00000000000617e4 /system/lib64/libbinder.so (android::BBinder::transact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+568) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#09 pc 000000000004abac /system/lib64/libbinder.so (android::IPCThreadState::executeCommand(int)+968) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#10 pc 000000000004a6e8 /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+148) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#11 pc 000000000004b0b0 /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+108) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#12 pc 000000000005617c /system/lib64/libbinder.so (android::PoolThread::threadLoop()+28) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#13 pc 0000000000011dfc /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+416) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#14 pc 0000000000011850 /system/lib64/libutils.so (libutil_thread_trampoline(void*) (.__uniq.226528677032898775202282855395389835431)+24) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#15 pc 000000000008264c /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+184) (BuildId: 6749654b298d5f3f303586203e167c0e)
#16 pc 0000000000074aa8 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68) (BuildId: 6749654b298d5f3f303586203e167c0e)
"binder:1173_12" sysTid=31975
#00 pc 0000000000098460 /apex/com.android.runtime/lib64/bionic/libc.so (syscall+32) (BuildId: 6749654b298d5f3f303586203e167c0e)
#01 pc 000000000007383c /apex/com.android.runtime/lib64/bionic/libc.so (__futex_wait_ex(void volatile*, bool, int, bool, timespec const*)+148) (BuildId: 6749654b298d5f3f303586203e167c0e)
#02 pc 00000000000817b4 /apex/com.android.runtime/lib64/bionic/libc.so (pthread_cond_wait+76) (BuildId: 6749654b298d5f3f303586203e167c0e)
#03 pc 00000000000a2ab4 /system/lib64/libc++.so (std::__1::__shared_mutex_base::lock()+44) (BuildId: ada37e5198285720b02f7d77fd27626c7782fe29)
#04 pc 000000000003e4d0 /system/bin/carwatchdogd (android::automotive::watchdog::WatchdogServiceHelper::registerService(std::__1::shared_ptr<aidl::android::automotive::watchdog::internal::ICarWatchdogServiceForSystem> const&)+96) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#05 pc 000000000003c418 /system/bin/carwatchdogd (android::automotive::watchdog::WatchdogInternalHandler::registerCarWatchdogService(std::__1::shared_ptr<aidl::android::automotive::watchdog::internal::ICarWatchdogServiceForSystem> const&)+212) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#06 pc 00000000000a4bec /system/bin/carwatchdogd (aidl::android::automotive::watchdog::internal::_aidl_android_automotive_watchdog_internal_ICarWatchdog_onTransact(AIBinder*, unsigned int, AParcel const*, AParcel*)+932) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#07 pc 00000000000118a8 /system/lib64/libbinder_ndk.so (ABBinder::onTransact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+324) (BuildId: dfddd81e9f30558710ad9637efdebc32)
#08 pc 00000000000617e4 /system/lib64/libbinder.so (android::BBinder::transact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+568) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#09 pc 000000000004abac /system/lib64/libbinder.so (android::IPCThreadState::executeCommand(int)+968) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#10 pc 000000000004a6e8 /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+148) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#11 pc 000000000004b0b0 /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+108) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#12 pc 000000000005617c /system/lib64/libbinder.so (android::PoolThread::threadLoop()+28) (BuildId: 650714231aa31d61c8f5ff9c938d40a4)
#13 pc 0000000000011dfc /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+416) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#14 pc 0000000000011850 /system/lib64/libutils.so (libutil_thread_trampoline(void*) (.__uniq.226528677032898775202282855395389835431)+24) (BuildId: 48d3f1cd3f64b4f4e6b450257d353d27)
#15 pc 000000000008264c /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+184) (BuildId: 6749654b298d5f3f303586203e167c0e)
#16 pc 0000000000074aa8 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68) (BuildId: 6749654b298d5f3f303586203e167c0e)
----- end 1173 -----
从上面的堆栈可以看到,大量的binder线程卡在registerService这里。从中提取出发生了死锁的2个线程
"WatchdogPerfSvc" sysTid=1184
#03 pc 00000000000a2c1c /system/lib64/libc++.so (std::__1::__shared_mutex_base::lock_shared()+56) (BuildId: ada37e5198285720b02f7d77fd27626c7782fe29)
#04 pc 000000000003f8cc /system/bin/carwatchdogd (android::automotive::watchdog::WatchdogServiceHelper::isServiceConnected()+24) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#05 pc 0000000000095af0 /system/bin/carwatchdogd (android::automotive::watchdog::PackageInfoResolver::updatePackageInfos(std::__1::vector<unsigned int, std::__1::allocator<unsigned int>> const&)+1856) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#06 pc 0000000000096494 /system/bin/carwatchdogd (android::automotive::watchdog::PackageInfoResolver::getPackageInfosForUids(std::__1::vector<unsigned int, std::__1::allocator<unsigned int>> const&)+88) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
"binder:1173_5" sysTid=5997
#03 pc 00000000000a2c1c /system/lib64/libc++.so (std::__1::__shared_mutex_base::lock_shared()+56) (BuildId: ada37e5198285720b02f7d77fd27626c7782fe29)
#04 pc 0000000000095fe0 /system/bin/carwatchdogd (android::automotive::watchdog::PackageInfoResolver::asyncFetchPackageNamesForUids(std::__1::vector<unsigned int, std::__1::allocator<unsigned int>> const&, std::__1::function<void (std::__1::unordered_map<unsigned int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::hash<unsigned int>, std::__1::equal_to<unsigned int>, std::__1::allocator<std::__1::pair<unsigned int const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>>)> const&)+64) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#05 pc 000000000009ab10 /system/bin/carwatchdogd (android::automotive::watchdog::WatchdogProcessService::registerClient(android::automotive::watchdog::WatchdogProcessService::ClientInfo const&, aidl::android::automotive::watchdog::TimeoutLength)+2844) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#06 pc 000000000009b3f4 /system/bin/carwatchdogd (android::automotive::watchdog::WatchdogProcessService::registerCarWatchdogService(ndk::SpAIBinder const&, android::sp<android::automotive::watchdog::WatchdogServiceHelperInterface> const&)+416) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#07 pc 000000000003e564 /system/bin/carwatchdogd (android::automotive::watchdog::WatchdogServiceHelper::registerService(std::__1::shared_ptr<aidl::android::automotive::watchdog::internal::ICarWatchdogServiceForSystem> const&)+244) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#08 pc 000000000003c418 /system/bin/carwatchdogd (android::automotive::watchdog::WatchdogInternalHandler::registerCarWatchdogService(std::__1::shared_ptr<aidl::android::automotive::watchdog::internal::ICarWatchdogServiceForSystem> const&)+212) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
#09 pc 00000000000a4bec /system/bin/carwatchdogd (aidl::android::automotive::watchdog::internal::_aidl_android_automotive_watchdog_internal_ICarWatchdog_onTransact(AIBinder*, unsigned int, AParcel const*, AParcel*)+932) (BuildId: 0e2c0356ca546c3b5c995b1eef7618e6)
__shared_mutex_base 是什么
它是 C++ 标准库 std::shared_mutex 的底层实现名(libc++ 里的内部类名)。
简单说就是"读写锁":
lock():申请写锁(独占)
lock_shared():申请读锁(共享)
上面的堆栈也能对应上源码,例如1184线程的堆栈对应/packages/services/Car/cpp/watchdog/server/src/WatchdogServiceHelper.h中
bool isServiceConnected() {
std::shared_lock readLock(mRWMutex);
return mService != nullptr;
}
结合代码,整理出死锁的发生原理
5997线程
WatchdogInternalHandler::registerCarWatchdogService
→ WatchdogServiceHelper::registerService(拿 WatchdogServiceHelper.mRWMutex 写锁)
→ WatchdogProcessService::registerCarWatchdogService
→ WatchdogProcessService::registerClient
→ PackageInfoResolver::asyncFetchPackageNamesForUids(想拿 PackageInfoResolver.mRWMutex 读锁,阻塞)
1184线程
WatchdogPerfService::handleMessage
→ WatchdogPerfService::processCollectionEvent
→ UidStatsCollector::collect
→ PackageInfoResolver::getPackageInfosForUids
→ PackageInfoResolver::updatePackageInfos(拿 PackageInfoResolver.mRWMutex 写锁)
→ WatchdogServiceHelper::isServiceConnected(想拿 WatchdogServiceHelper.mRWMutex 读锁,阻塞)
简而言之:A线程先拿了1号锁,之后申请2号锁;B线程先拿了2号锁,之后申请1号锁。2个线程拿着各自的锁,等待另一个锁,于是发生死锁。
解决方案:为了求稳,这里我只改了PackageInfoResolver::asyncFetchPackageNamesForUids。其实最好把另一个线程中调用的PackageInfoResolver::updatePackageInfos也改改,避免持有一个锁的时候又去申请另一个锁的情况。不过,这里又涉及到updatePackageInfos()这个函数的原子性和其中成员变量的异步问题,在此就不展开了。
仅就此次发现的死锁问题而言,改PackageInfoResolver::asyncFetchPackageNamesForUids已经可以解决。
修改代码示例如下:
void PackageInfoResolver::asyncFetchPackageNamesForUids(
const std::vector<uid_t>& uids,
const std::function<void(std::unordered_map<uid_t, std::string>)>& callback) {
// 注释掉原生的锁
// std::shared_lock writeLock(mRWMutex);
// mPendingPackageNames.push_back(std::make_pair(uids, callback));
// 对vector单独使用新的锁mPendingPackageNamesMutex,保障vector的线程安全
// 其它使用mPendingPackageNames和定义它的地方也要修改上锁,这里就不给出代码了
{
std::lock_guard<std::mutex> lock(mPendingPackageNamesMutex);
mPendingPackageNames.push_back(std::make_pair(uids, callback));
}
mHandlerLooper->removeMessages(mMessageHandler, MSG_RESOLVE_PACKAGE_NAME);
mHandlerLooper->sendMessage(mMessageHandler, Message(MSG_RESOLVE_PACKAGE_NAME));
}
这是安卓16上发现的一个原生carwatchdogd死锁问题,且发现安卓15上的代码也一样存在这种死锁的可能。但安卓14的代码差异较大,不存在这个问题。
这个死锁的概率应该是比较低的,需要两个线程正好持锁互相等待。目前在谷歌的git上并没发现对应的修改patch。