Change the thread for handling shutdown of PowerManagerService.
Symptom: Watchdog due to blocked handler PowerManagerService during shutdown sequence. Root cause: While creating the dialogue for shutdown, HashMap object is accessed by createView() at LayoutInflater. This object is not excluded at multi threads. When this issue is occurred, multiple threads accesses this object. As the result, invalid state is generated inside HashMap object. And circulating reference is occurred at getEntry method. So system cannot get out of "for" loop. It blockes the processing of PowerManagerService thread and causes watchdog. That thing is happening. Solution: Change the thread for handling shutdown from "PowerManagerService" to "android.ui" thread. As the result, exclusive control is not needed. Bug: 35791029 Test: Manual Change-Id: Icbc12fb2706fb3c7e859f53bbb4c65f488850ce6
Loading
Please register or sign in to comment