Troubleshooting

FastJNI死锁问题攻关总结

2017-07-06  本文已影响489人  dumphex

问题现象

分析定位

初步分析

定屏后,system_server进程的log很少: 只有少数几个线程打印log信息。

开会讨论

添加debug log

问题复现和分析

ART debug log

A001-01 09:30:03.427   722   733 E art     : Unexpected time out during suspend all.
A001-01 09:30:03.428   722   733 I art     : ThreadId = 18, tid = 761, name = android.display, state = Runnable

A001-01 09:49:14.140   722   733 E art     : Unexpected time out during suspend all.
A001-01 09:49:14.141   722   733 I art     : ThreadId = 18, tid = 761, name = android.display, state = Runnable

A001-01 10:08:24.853   722   733 E art     : Unexpected time out during suspend all.
A001-01 10:08:24.853   722   733 I art     : ThreadId = 18, tid = 761, name = android.display, state = Runnable

debuggerd堆栈分析

死锁现象总结

最新复现

新的堆栈

新的死锁

fastjni_deadlock2.png

Root Cause


解决方案

上一篇 下一篇

猜你喜欢

热点阅读