死锁问题分析

一、获取可能死锁的进程相关的数据

复制代码
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_poll
  • 1531futex_wait

这通常表示:

  1. binder:1020_x 这些 binder 线程大概率处于空闲待命或轻度工作状态,不像被事务压满。
  2. tr 0 很关键,表示这个线程当前没有挂着活跃 transaction 栈。
  3. need_return 0 也正常,说明没有卡在一个必须立刻回 binder driver 的异常状态。

l 11l 12 是 binder looper 状态位,精确位含义不用过度纠结。实战里主要看两点:

  • 它是不是 binder looper 线程
  • 它有没有 transaction / todo / pending work

这份里看不出"线程被事务拖死"。

proc级别状态

复制代码
proc 1020
context binder

这表示它在默认 binder 上下文,不是 hwbindervndbinder。这本身正常。

如果一个进程被 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 角度看更像:

  1. binder 线程池存在,至少有 3 个 binder worker 线程。
  2. 这些 binder 线程在抓取瞬间没有明显忙死。
  3. 没看到事务堆积、pending async、todo backlog。
  4. 没看到某个线程正在执行或卡住 transaction。

所以,这份输出更适合作为正常基线 。它说明"一个健康的 carwatchdogd/binder 服务,在 binder/proc/<pid> 里大概长这样"。

和故障机该怎么对比

如果问题机真的是 binder backlog 或 carwatchdogd 被压死,故障时抓出来通常会比这个多出明显异常信号,例如:

  1. 某些 binder 线程下面挂着 transaction 详情,长时间不变。
  2. 出现大量 async transaction 记录。
  3. 出现 proc todo 或 thread todo 不断积压。
  4. 所有 binder 线程都不在 binder_thread_read 空闲态,而是都挂在 transaction 上。
  5. 某个发送方 PID 反复出现,持续往同一个 node 打请求。

在故障机上,尽量在"system_server 已经卡住但还没被杀"的窗口里,连续抓 3 份:

复制代码
cat /sys/kernel/debug/binder/proc/1173
ps -T -p 1173
debuggerd -b 1173

最好每隔 1 到 2 秒抓一次,连续抓 3 次。分析时看这三个问题:

  1. binder/proc/1173 里有没有 transaction backlog 或 async pending。
  2. ps -T -p 1173 里 binder 线程是不是全部不再空闲。
  3. 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。

相关推荐
TimeFine1 小时前
让 Codex “用上”Android Studio:JetBrains MCP Server 接入与实践
android
__Witheart__3 小时前
3568 Android 设置首次烧录后 usb otg 口模式
android·adb·rockchip
AFinalStone4 小时前
Android 7系统编译与刷机(三)从编译产物到高通刷机包
android·系统编译
AFinalStone4 小时前
Android 7系统编译与刷机(四)QFIL刷机工具详解
android·系统编译
plainGeekDev4 小时前
JUnit 4 → JUnit 5 + Kotlin
android·java·kotlin
plainGeekDev4 小时前
Mockito → MockK
android·java·kotlin
5 小时前
使用ffmpeg将mp4视频转为m3u8格式
android·ffmpeg·音视频
00后程序员张5 小时前
使用Instruments工具深入分析iOS应用性能与启动时间优化
android·macos·ios·小程序·uni-app·cocoa·iphone
zbmwa5 小时前
jetpack compose 副作用 snapshotFlow
android