起因
JT同学拿着手机来找我说用着用着自动重启了,让我看一下,我抓出bugreport一看是system server发生watchdog重启了,然后接着看了一下traces,发现traces比较诡异。
初步分析
为什么说traces诡异?暂且一看
都被thread 31持有的锁给block了,那就看看thread 31在搞什么飞机?
"InputDispatcher" prio=10 tid=31 Native
| group="main" sCount=1 dsCount=0 obj=0x133d90a0 self=0x7f73f8c800
| sysTid=1662 nice=-8 cgrp=default sched=0/0 handle=0x7f5f80b440
| state=S schedstat=( 1388341757 1177043722 12975 ) utm=81 stm=57 core=2 HZ=100
| stack=0x7f5f70f000-0x7f5f711000 stackSize=1013KB
| held mutexes=
kernel: (couldn't read /proc/self/task/1662/stack)
native: #00 pc 00000000000684e0 /system/lib64/libc.so (__ioctl+4)
native: #01 pc 0000000000072508 /system/lib64/libc.so (ioctl+100)
native: #02 pc 000000000002d584 /system/lib64/libbinder.so (_ZN7android14IPCThreadState14talkWithDriverEb+164)
native: #03 pc 000000000002e050 /system/lib64/libbinder.so (_ZN7android14IPCThreadState15waitForResponseEPNS_6ParcelEPi+104)
native: #04 pc 000000000002e2c4 /system/lib64/libbinder.so (_ZN7android14IPCThreadState8transactEijRKNS_6ParcelEPS1_j+176)
native: #05 pc 0000000000025654 /system/lib64/libbinder.so (_ZN7android8BpBinder8transactEjRKNS_6ParcelEPS1_j+64)
native: #06 pc 00000000000e02cc /system/lib64/libandroid_runtime.so (???)
native: #07 pc 0