SWT/ANR问题--Deadlock

本文分析了一个Android系统服务中出现的死锁问题,通过跟踪trace,发现Deadlock涉及到system_server进程中的多个Binder线程。死锁路径为:Binder:1126_1B -> Binder:1126_B -> Binder:1126_3 -> Binder:1126_1B。解决办法是检查代码逻辑并解除死锁条件。
摘要由CSDN通过智能技术生成

1.确认问题时间点:

02-25 04:05:23.019869  1126  3219 I watchdog: Blocked in monitor com.android.server.Watchdog$BinderThreadMonitor on foreground thread (android.fg), Blocked in handler on main thread (main), Blocked in handler on display thread (android.display), Blocked in handler on ActivityManager (ActivityManager)

2.查找对应时间段内两次trace是一致的,都如下(下图只截取了其中一个时间点的backtrace):

先从system_server blocked的任一thread入手分析,如main thread:

----- pid 1126 at 2019-02-25 04:05:23 -----
Cmd line: system_server

"main" prio=5 tid=1 Blocked
| group="main" sCount=1 dsCount&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

专业开发者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值