Android系统跑monkey测试发生SWT system_server问题log简单分析

本文介绍了在Android系统中遇到SWT system_server问题时如何进行log分析。通过解析DB文件,发现异常类型为system_server_watchdog,表明system_server进程卡住。分析线程状态,发现在main线程等待特定锁,而该锁被其他线程持有。深入调查,发现持有锁的线程处于Native状态,揭示了问题可能存在于底层代码,但具体原因需要进一步的分析。
摘要由CSDN通过智能技术生成

首先从手机导出DB文件,使用MediatekLogView解析db.fatal.00.SWT.dbg,打开__exp_main.txt文件,可以看到Fatal的详细信息。

Exception Class: SWT
Exception Type: system_server_watchdog

Current Executing Process: 
system_server

Trigger time:[2010-01-21 06:51:57.766112] pid:937

Backtrace: 
Process: system_server
Subject: surfaceflinger  hang.
Build: Infinix/H613IN/Infinix-X5516:9/PPR1.180610.011/E-IN-181105V47:user/release-keys

......

----- pid 937 at 2010-01-21 06:51:52 -----
Cmd line: system_server

异常的类型是system_server_watchdog,说明system_server在某个地方卡住了,没有及时喂狗。

首先要做的是:确认线程关系
确认线程状态为“Blocked”,然后通过关键字“held by”来进一步确认是哪一个线程拿住了锁

"main" prio=5 tid=1 Blocked
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x745e11f0 self=0xac95e000
  | sysTid=937 nice=-2 cgrp=default sched=0/0 handle=0xb1080494
  | state=S schedstat=( 1019835302578 1462214227781 2944063 ) utm=64697 stm=37286 core=0 HZ=100
  | stack=0xbe070000-0xbe072000 stackSize=8MB
  | held mutexes=
  at com.android.server.am.ActivityManagerService.broadcastIntent(ActivityManagerService.java:22781)
  - waiting to lock <0x039e9a6d> (a com.android.server.am.ActivityManagerService) held by thread 80 
  at android.app.ActivityManager.broadcastStickyIntent(ActivityManager.
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值