问题描述:
这是一种稳定性测试,可以在一天内重现SWT问题,概率为30%。
根据SWT trace .txt和log,当软件看门狗发生时,一些线程在不同的代码中随机堵塞,但大约9秒后,被堵塞的线程进入空闲状态。我们怀疑软件看门狗是由于整个手机性能差造成的。
当这个SWT发生时触发memory dumps。检查内存信息,空闲内存低,内存缓存正常。内核日志中有许多用于低优先级过程LMK日志。
问题分析:
从logcat这个在日志里SWT被线程“android.fg”,“android.ui”和“android.display”。
根据跟踪日志,线程android.fg”和“android.ui " was waiting to lock " 0x0ecf3bbc " hold by thread " ActivityManager ",等待锁定" 0x0f3257a8 " hold by thread "android.bg调用非重函数Process.readProcFile()。大约9秒后,在WATCHDOG KILLING在日志中,所有被阻塞的线程都在等待新任务的准备。
Thread "main"-> "ActivityManager"(lock:0x0ecf3bbc)->"android.bg"(lock:0x0f3257a8) "android.ui"-> "ActivityManager"(lock:0x0ecf3bbc)-> "android.bg"(lock:0x0f3257a8)