N 上CR SPCSS00383586


问题描述:

项目最近软件下载进去后会出现概率性无法开机,主要表现为一直卡在开机动画界面,有时2个小时后能正常开机。

对应CR SPCSS00383586

分析说明:

提供的异常log可以看到,在开始播放开机动画之后:
[   12.198394] c3 init: Starting service 'bootanim'...

始终未执行到SurfaceFlinger::bootFinished()去设置service.bootanim.exit,因而bootanimiation未能结束,

一直卡在开机动画。

问题原因:

合入Google 2月份SecurityPatch之后,registerContentObserver会调用AMS#checkContentProviderAccess,其中会持有AMS锁,属于新增持锁逻辑。
5.1\6.0 Android大版本中的 Lock Task 相关的逻辑冲突,

在开机时,PhoneWindowManager#setInitialDisplaySize 持有 mWindowMap 锁,在这其中调用下面逻辑可能有与AMS互锁风险,如下:

 


问题影响:

一旦发生概率性死锁,就会存在卡在开机动画无法正常开机的现象,

包括下载完第一次开机、正常手机开机过程中都有可能概率性发生出现。



猜你喜欢

转载自blog.csdn.net/lei7143/article/details/81062257
CR
N!
n
N*
今日推荐