记录一次ANR死锁排查过程
![](https://www.icode9.com/i/l/?n=22&i=blog/2084689/202207/2084689-20220701151515619-718546297.png)
首先从logcat看是watchdog发现死锁,kill掉了系统服务
于是我们通过/data/anr/下的trace文件查看
![](https://www.icode9.com/i/l/?n=22&i=blog/2084689/202207/2084689-20220701151751041-1455004097.png)
持有锁的在thread 23
![](https://www.icode9.com/i/l/?n=22&i=blog/2084689/202207/2084689-20220701151853329-568326023.png)
发现thread 23 在等另外一把锁 0x0b72ea32
, 这把锁的持有又在thread 155
![](https://www.icode9.com/i/l/?n=22&i=blog/2084689/202207/2084689-20220701152137361-355908675.png)
到这里基本已经锁定是网络超时导致
因为线程异常是会释放锁的,所以应该时持有锁的时间太长,导致另外一边等太长时间,被watchdog发现
标签:thread,23,持有,死锁,ANR,watchdog
来源: https://www.cnblogs.com/tangshunhui/p/16434795.html