Bug #118602

IOVDEV-33092【内部】【VC1】【0106】【台架】【EE环境】【副屏】副屏在反激活成功之后进入主界面点击设置出现黑屏,退出再点击设置出现冻屏,三分钟后副屏主动重启恢复正常

Added by CD TEST-方永红 about 2 years ago. Updated almost 2 years ago.

Status:CLOSEDStart date:2023-06-07
Priority:HighDue date:
Assignee:CD TEST-方永红% Done:

0%

Category:冻屏
Target version:-
Need_Info:-- Found Version:0106
Resolution:DUPLICATE Degrated:--
Severity:Critical Verified Version:
Reproducibility:Rarely Fixed Version:
Test Type:ST Root cause:

Description

【环境信息】EE环境
【问题出现时间】:20230607 10:17
【前提条件】:副屏上电;中控、功放已连接;副屏、中控时间一致,副屏激活成功
【操作步骤】
1.点击进入主界
2.点击设置
【实际结果】
1.出现黑屏情况,正常点击出现冻屏
【期望结果】
1.正常进入设置界面

【备注】:

第290次开机 激活之前是285次左右,中间有多次重启
开机时长:3

日志、视频地址:https://ofs.human-horizons.com/#/download/index/IxFck7MOnzU%3D

中控VIN号:HRYTTESTVINMGM817

【中控版本号】:03.02.0088.c103.02_NO

【副屏版本号】:01.00.0106.c104


Related issues

Related to Figure - Bug #118571: IOVDEV-32876【内部】【VC1】【0106】【台架】【EE环境】【副屏】【设置】副屏冻屏五分钟左右自动恢复了 CLOSED 2023-06-06

History

#1 Updated by CD FW 曹覃刚 about 2 years ago

  • Status changed from New to ASSIGNED

■ 我的分析
anr_2023-06-07-10-15-09-761
ANR com.android.settings.intelligence

anr_2023-06-07-10-16-28-255
anr_2023-06-07-10-17-28-074
ANR system_server

卡在获取wakelock, 与 #118571 一样,之后system_server被kill掉重启了
-------------
"Binder:1547_3" prio=5 tid=43 Native | group="main" sCount=1 ucsCount=0 flags=1 obj=0x14642c88 self=0xb400006df58d1e60 | sysTid=1759 nice=-10 cgrp=default sched=0/0 handle=0x6bd6cf6cb0 | state=S schedstat=( 168191311 224067654 1100 ) utm=10 stm=5 core=0 HZ=100 | stack=0x6bd6bff000-0x6bd6c01000 stackSize=991KB | held mutexes=
native: #00 pc 00000000000a1c88 /apex/com.android.runtime/lib64/bionic/libc.so (_ioctl+8)
native: #01 pc 000000000005b8d4 /apex/com.android.runtime/lib64/bionic/libc.so (ioctl+156)
native: #02 pc 00000000000666e4 /system/lib64/libhidlbase.so (android::hardware::IPCThreadState::transact(int, unsigned int, android::hardware::Parcel const&, android::hardware::Parcel*, unsigned int)+424)
native: #03 pc 00000000000663dc /system/lib64/libhidlbase.so (android::hardware::BpHwBinder::transact(unsigned int, android::hardware::Parcel const&, android::hardware::Parcel*, unsigned int, std::
_1::function<void (android::hardware::Parcel&)>)+80)
native: #04 pc 000000000000e5d0 /system/lib64/ (android::system::suspend::V1_0::BpHwSystemSuspend::_hidl_acquireWakeLock(android::hardware::IInterface*, android::hardware::details::HidlInstrumentor*, android::system::suspend::V1_0::WakeLockType, android::hardware::hidl_string const&)+308)
native: #05 pc 0000000000003188 /system/lib64/libhardware_legacy.so (acquire_wake_lock+360)
native: #06 pc 00000000000984a4 /system/lib64/libandroid_servers.so (android::nativeAcquireSuspendBlocker(_JNIEnv*, _jclass*, _jstring*)+68)
at com.android.server.power.PowerManagerService.nativeAcquireSuspendBlocker(Native method)
at com.android.server.power.PowerManagerService.access$1200(PowerManagerService.java:139)
at com.android.server.power.PowerManagerService$NativeWrapper.nativeAcquireSuspendBlocker(PowerManagerService.java:799)
at com.android.server.power.PowerManagerService$SuspendBlockerImpl.acquire(PowerManagerService.java:5048)
- locked <0x0728b597> (a com.android.server.power.PowerManagerService$SuspendBlockerImpl)
at com.android.server.power.PowerManagerService.updateSuspendBlockerLocked(PowerManagerService.java:3413)
at com.android.server.power.PowerManagerService.updatePowerStateLocked(PowerManagerService.java:2170)
at com.android.server.power.PowerManagerService.acquireWakeLockInternal(PowerManagerService.java:1417)
- locked <0x0d30e02b> (a java.lang.Object)
at com.android.server.power.PowerManagerService.access$4600(PowerManagerService.java:139)
at com.android.server.power.PowerManagerService$BinderService.acquireWakeLock(PowerManagerService.java:5175)
at android.os.PowerManager$WakeLock.acquireLocked(PowerManager.java:2720)
at android.os.PowerManager$WakeLock.acquire(PowerManager.java:2686)
- locked <0x0d738384> (a android.os.Binder)
at com.android.server.wm.ActivityTaskSupervisor.acquireLaunchWakelock(ActivityTaskSupervisor.java:1340)
at com.android.server.wm.Task.startPausingLocked(Task.java:5877)
at com.android.server.wm.Task.startPausingLocked(Task.java:5765)
at com.android.server.wm.TaskDisplayArea.lambda$pauseBackTasks$6(TaskDisplayArea.java:1533)
at com.android.server.wm.TaskDisplayArea$$ExternalSyntheticLambda4.accept(unavailable:-1)
at com.android.server.wm.Task.forAllLeafTasks(Task.java:3920)
at com.android.server.wm.WindowContainer.forAllLeafTasks(WindowContainer.java:1748)
at com.android.server.wm.TaskDisplayArea.pauseBackTasks(TaskDisplayArea.java:1526)
at com.android.server.wm.Task.resumeTopActivityInnerLocked(Task.java:6374)
at com.android.server.wm.Task.resumeTopActivityUncheckedLocked(Task.java:6212)
at com.android.server.wm.Task.resumeTopActivityUncheckedLocked(Task.java:6225)
at com.android.server.wm.Task.resumeTopActivityUncheckedLocked(Task.java:6257)
at com.android.server.wm.ActivityRecord.makeActiveIfNeeded(ActivityRecord.java:5374)
at com.android.server.wm.RootWindowContainer.lambda$resumeFocusedTasksTopActivities$19(RootWindowContainer.java:2464)
at com.android.server.wm.RootWindowContainer$$ExternalSyntheticLambda27.accept(unavailable:-1)
at com.android.server.wm.Task.forAllRootTasks(Task.java:3932)
at com.android.server.wm.WindowContainer.forAllRootTasks(WindowContainer.java:1770)
at com.android.server.wm.WindowContainer.forAllRootTasks(WindowContainer.java:1770)
at com.android.server.wm.WindowContainer.forAllRootTasks(WindowContainer.java:1770)
... repeated 2 times
at com.android.server.wm.WindowContainer.forAllRootTasks(WindowContainer.java:1763)
at com.android.server.wm.RootWindowContainer.resumeFocusedTasksTopActivities(RootWindowContainer.java:2444)
at com.android.server.wm.RootWindowContainer.resumeFocusedTasksTopActivities(RootWindowContainer.java:2422)
at com.android.server.wm.RootWindowContainer.resumeFocusedTasksTopActivities(RootWindowContainer.java:2417)
at com.android.server.wm.Task.moveTaskToFront(Task.java:7253)
at com.android.server.wm.Task.moveTaskToFront(Task.java:7183)
at com.android.server.wm.RecentsAnimation.lambda$finishAnimation$0$RecentsAnimation(RecentsAnimation.java:341)
at com.android.server.wm.RecentsAnimation$$ExternalSyntheticLambda0.run(unavailable:-1)
at com.android.server.wm.WindowManagerService.inSurfaceTransaction(WindowManagerService.java:7983)
at com.android.server.wm.RecentsAnimation.finishAnimation(RecentsAnimation.java:309)
- locked <0x0a57e816> (a com.android.server.wm.WindowManagerGlobalLock)
at com.android.server.wm.RecentsAnimation.onAnimationFinished(RecentsAnimation.java:423)
at com.android.server.wm.RecentsAnimationController$2.finish(RecentsAnimationController.java:282)
at android.view.IRecentsAnimationController$Stub.onTransact(IRecentsAnimationController.java:314)
at android.os.Binder.execTransactInternal(Binder.java:1179)
at android.os.Binder.execTransact(Binder.java:1143)
-------------

■ 下一步计划
#118571 一样, 需要结合着一起看一下

#2 Updated by CD FW 曹覃刚 about 2 years ago

  • Assignee changed from CD FW 曹覃刚 to CD FW王武军

#3 Updated by CD FW 郑雷 about 2 years ago

[当前状态]
分析traces_SystemServer_WDT07_06_10_18_02.563_pid1547
system_server的主线程,android.fg线程都是被Binder:1547_3线程block

而Binder:1547_3的状态呢?

Binder:1547_3线程在启动Activity的过程中,会获取唤醒锁,为了防止设备在启动activity时进入睡眠状态,以确保启动过程的顺利进行。
if (!uiSleeping && !mAtmService.isSleepingOrShuttingDownLocked()) {
mStackSupervisor.acquireLaunchWakelock();
}

Binder:1547_3线程在通过PowerManagerService获取唤醒锁(wakelock)的时候调用到BpHwSystemSuspend服务,BpHwSystemSuspend服务进行跨进程调用的时候没有返回。

解析以下2个内存地址:

native: #03 pc 00000000000663dc /system/lib64/libhidlbase.so (android::hardware::BpHwBinder::transact(unsigned int, android::hardware::Parcel const&, android::hardware::Parcel*, unsigned int, std::__1::function<void (android::hardware::Parcel&)>)+80)
《=====
user@fw-1:~/code/wangwujun/turbox_c2130/turbox_c2130c_qssi/LA.QSSI/LINUX/android$ ./prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9/bin/x86_64-linux-android-addr2line -fe libhidlbase.so 00000000000663dc
ZN7android8hardware10BpHwBinder8transactEjRKNS0_6ParcelEPS2_jNSt3_18functionIFvRS2_EEE
system/libhwbinder/BpHwBinder.cpp:107
=====》

native: #04 pc 000000000000e5d0 /system/lib64/ (android::system::suspend::V1_0::BpHwSystemSuspend::_hidl_acquireWakeLock(android::hardware::IInterface*, android::hardware::details::HidlInstrumentor*, android::system::suspend::V1_0::WakeLockType, android::hardware::hidl_string const&)+308)
《=====
user@fw-1:~/code/wangwujun/turbox_c2130/turbox_c2130c_qssi/LA.QSSI/LINUX/android$ ./prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9/bin/x86_64-linux-android-addr2line -fe 000000000000e5d0
_ZN7android6system7suspend4V1_017BpHwSystemSuspend21_hidl_acquireWakeLockEPNS_8hardware10IInterfaceEPNS4_7details16HidlInstrumentorENS2_12WakeLockTypeERKNS4_11hidl_stringE
out/soong/.intermediates/system/hardware/interfaces/suspend/1.0/_genc++/gen/android/system/suspend/1.0/SystemSuspendAll.cpp:177
=====》
代码中没找到SystemSuspendAll.cpp,应该是以so库提供的。

[下一步 Action]
接下来需要BSP同学分析下造成BpHwSystemSuspend跨进程通信失败的原因。是写入节点失败了吗?

"main" prio=5 tid=1 Blocked | group="main" sCount=1 ucsCount=0 flags=1 obj=0x71474698 self=0xb400006df58567b0 | sysTid=1547 nice=-2 cgrp=default sched=0/0 handle=0x6fc177d4f8 | state=S schedstat=( 1507212249 556335241 4425 ) utm=105 stm=45 core=3 HZ=100 | stack=0x7fcd293000-0x7fcd295000 stackSize=8188KB | held mutexes=
at com.android.server.am.ActivityManagerService.getMemoryTrimLevel(ActivityManagerService.java:8688)
- waiting to lock <0x09d2916b> (a com.android.server.am.ActivityManagerService) held by thread 11
at com.android.server.job.JobConcurrencyManager.refreshSystemStateLocked(JobConcurrencyManager.java:493)
at com.android.server.job.JobConcurrencyManager.updateCounterConfigLocked(JobConcurrencyManager.java:503)
at com.android.server.job.JobConcurrencyManager.assignJobsToContextsInternalLocked(JobConcurrencyManager.java:561)
at com.android.server.job.JobConcurrencyManager.assignJobsToContextsLocked(JobConcurrencyManager.java:538)
at com.android.server.job.JobSchedulerService.maybeRunPendingJobsLocked(JobSchedulerService.java:2487)
at com.android.server.job.JobSchedulerService$JobHandler.handleMessage(JobSchedulerService.java:2071)
- locked <0x09c848bb> (a java.lang.Object)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:201)
at android.os.Looper.loop(Looper.java:288)
at com.android.server.SystemServer.run(SystemServer.java:909)
at com.android.server.SystemServer.main(SystemServer.java:616)
at java.lang.reflect.Method.invoke(Native method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:987)

"android.fg" prio=5 tid=11 Blocked | group="main" sCount=1 ucsCount=0 flags=1 obj=0x14640ef0 self=0xb400006df587cb90 | sysTid=1607 nice=-2 cgrp=default sched=0/0 handle=0x6bf8ef8cb0 | state=S schedstat=( 166444747 269222081 733 ) utm=10 stm=5 core=0 HZ=100 | stack=0x6bf8df5000-0x6bf8df7000 stackSize=1039KB | held mutexes=
at com.android.server.power.PowerManagerService.updateUidProcStateInternal(PowerManagerService.java:3751)
- waiting to lock <0x0d30e02b> (a java.lang.Object) held by thread 43
at com.android.server.power.PowerManagerService$LocalService.updateUidProcState(PowerManagerService.java:6118)
at com.android.server.am.ActivityManagerService.enqueueUidChangeLocked(ActivityManagerService.java:14555)
at com.android.server.am.OomAdjuster.updateUidsLSP(OomAdjuster.java:1450)
at com.android.server.am.OomAdjuster.performUpdateOomAdjLSP(OomAdjuster.java:587)
at com.android.server.am.OomAdjuster.performUpdateOomAdjLSP(OomAdjuster.java:689)
at com.android.server.am.OomAdjuster.updateOomAdjLSP(OomAdjuster.java:659)
at com.android.server.am.OomAdjuster.updateOomAdjLocked(OomAdjuster.java:641)
- locked <0x0f186931> (a com.android.server.am.ActivityManagerProcLock)
at com.android.server.am.ActivityManagerService.updateOomAdjLocked(ActivityManagerService.java:14704)
at com.android.server.am.ActiveServices.realStartServiceLocked(ActiveServices.java:4061)
at com.android.server.am.ActiveServices.bringUpServiceLocked(ActiveServices.java:3946)
at com.android.server.am.ActiveServices.bindServiceLocked(ActiveServices.java:2878)
at com.android.server.am.ActivityManagerService.bindIsolatedService(ActivityManagerService.java:12134)
- locked <0x09d2916b> (a com.android.server.am.ActivityManagerService)
at android.app.ContextImpl.bindServiceCommon(ContextImpl.java:1979)
at android.app.ContextImpl.bindService(ContextImpl.java:1903)
at com.android.internal.infra.ServiceConnector$Impl.bindService(ServiceConnector.java:305)
at com.android.internal.infra.ServiceConnector$Impl.enqueueJobThread(ServiceConnector.java:411)
at com.android.internal.infra.ServiceConnector$Impl.lambda$enqueue$1$ServiceConnector$Impl(ServiceConnector.java:394)
at com.android.internal.infra.ServiceConnector$Impl$$ExternalSyntheticLambda2.run(unavailable:-1)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:201)
at android.os.Looper.loop(Looper.java:288)
at android.os.HandlerThread.run(HandlerThread.java:67)
at com.android.server.ServiceThread.run(ServiceThread.java:44)

"Binder:1547_3" prio=5 tid=43 Native | group="main" sCount=1 ucsCount=0 flags=1 obj=0x14642c88 self=0xb400006df58d1e60 | sysTid=1759 nice=-10 cgrp=default sched=0/0 handle=0x6bd6cf6cb0 | state=S schedstat=( 168037873 224067654 1098 ) utm=10 stm=5 core=0 HZ=100 | stack=0x6bd6bff000-0x6bd6c01000 stackSize=991KB | held mutexes=
native: #00 pc 00000000000a1c88 /apex/com.android.runtime/lib64/bionic/libc.so (_ioctl+8)
native: #01 pc 000000000005b8d4 /apex/com.android.runtime/lib64/bionic/libc.so (ioctl+156)
native: #02 pc 00000000000666e4 /system/lib64/libhidlbase.so (android::hardware::IPCThreadState::transact(int, unsigned int, android::hardware::Parcel const&, android::hardware::Parcel*, unsigned int)+424)
native: #03 pc 00000000000663dc /system/lib64/libhidlbase.so (android::hardware::BpHwBinder::transact(unsigned int, android::hardware::Parcel const&, android::hardware::Parcel*, unsigned int, std::
_1::function<void (android::hardware::Parcel&)>)+80)
native: #04 pc 000000000000e5d0 /system/lib64/ (android::system::suspend::V1_0::BpHwSystemSuspend::_hidl_acquireWakeLock(android::hardware::IInterface*, android::hardware::details::HidlInstrumentor*, android::system::suspend::V1_0::WakeLockType, android::hardware::hidl_string const&)+308)
native: #05 pc 0000000000003188 /system/lib64/libhardware_legacy.so (acquire_wake_lock+360)
native: #06 pc 00000000000984a4 /system/lib64/libandroid_servers.so (android::nativeAcquireSuspendBlocker(_JNIEnv*, _jclass*, _jstring*)+68)
at com.android.server.power.PowerManagerService.nativeAcquireSuspendBlocker(Native method)
at com.android.server.power.PowerManagerService.access$1200(PowerManagerService.java:139)
at com.android.server.power.PowerManagerService$NativeWrapper.nativeAcquireSuspendBlocker(PowerManagerService.java:799)
at com.android.server.power.PowerManagerService$SuspendBlockerImpl.acquire(PowerManagerService.java:5048)
- locked <0x0728b597> (a com.android.server.power.PowerManagerService$SuspendBlockerImpl)
at com.android.server.power.PowerManagerService.updateSuspendBlockerLocked(PowerManagerService.java:3413)
at com.android.server.power.PowerManagerService.updatePowerStateLocked(PowerManagerService.java:2170)
at com.android.server.power.PowerManagerService.acquireWakeLockInternal(PowerManagerService.java:1417)
- locked <0x0d30e02b> (a java.lang.Object)
at com.android.server.power.PowerManagerService.access$4600(PowerManagerService.java:139)
at com.android.server.power.PowerManagerService$BinderService.acquireWakeLock(PowerManagerService.java:5175)
at android.os.PowerManager$WakeLock.acquireLocked(PowerManager.java:2720)
at android.os.PowerManager$WakeLock.acquire(PowerManager.java:2686)
- locked <0x0d738384> (a android.os.Binder)
at com.android.server.wm.ActivityTaskSupervisor.acquireLaunchWakelock(ActivityTaskSupervisor.java:1340)
at com.android.server.wm.Task.startPausingLocked(Task.java:5877)
at com.android.server.wm.Task.startPausingLocked(Task.java:5765)
at com.android.server.wm.TaskDisplayArea.lambda$pauseBackTasks$6(TaskDisplayArea.java:1533)
at com.android.server.wm.TaskDisplayArea$$ExternalSyntheticLambda4.accept(unavailable:-1)
at com.android.server.wm.Task.forAllLeafTasks(Task.java:3920)
at com.android.server.wm.WindowContainer.forAllLeafTasks(WindowContainer.java:1748)
at com.android.server.wm.TaskDisplayArea.pauseBackTasks(TaskDisplayArea.java:1526)
at com.android.server.wm.Task.resumeTopActivityInnerLocked(Task.java:6374)
at com.android.server.wm.Task.resumeTopActivityUncheckedLocked(Task.java:6212)
at com.android.server.wm.Task.resumeTopActivityUncheckedLocked(Task.java:6225)
at com.android.server.wm.Task.resumeTopActivityUncheckedLocked(Task.java:6257)
at com.android.server.wm.ActivityRecord.makeActiveIfNeeded(ActivityRecord.java:5374)
at com.android.server.wm.RootWindowContainer.lambda$resumeFocusedTasksTopActivities$19(RootWindowContainer.java:2464)
at com.android.server.wm.RootWindowContainer$$ExternalSyntheticLambda27.accept(unavailable:-1)
at com.android.server.wm.Task.forAllRootTasks(Task.java:3932)
at com.android.server.wm.WindowContainer.forAllRootTasks(WindowContainer.java:1770)
at com.android.server.wm.WindowContainer.forAllRootTasks(WindowContainer.java:1770)
at com.android.server.wm.WindowContainer.forAllRootTasks(WindowContainer.java:1770)
... repeated 2 times
at com.android.server.wm.WindowContainer.forAllRootTasks(WindowContainer.java:1763)
at com.android.server.wm.RootWindowContainer.resumeFocusedTasksTopActivities(RootWindowContainer.java:2444)
at com.android.server.wm.RootWindowContainer.resumeFocusedTasksTopActivities(RootWindowContainer.java:2422)
at com.android.server.wm.RootWindowContainer.resumeFocusedTasksTopActivities(RootWindowContainer.java:2417)
at com.android.server.wm.Task.moveTaskToFront(Task.java:7253)
at com.android.server.wm.Task.moveTaskToFront(Task.java:7183)
at com.android.server.wm.RecentsAnimation.lambda$finishAnimation$0$RecentsAnimation(RecentsAnimation.java:341)
at com.android.server.wm.RecentsAnimation$$ExternalSyntheticLambda0.run(unavailable:-1)
at com.android.server.wm.WindowManagerService.inSurfaceTransaction(WindowManagerService.java:7983)
at com.android.server.wm.RecentsAnimation.finishAnimation(RecentsAnimation.java:309)
- locked <0x0a57e816> (a com.android.server.wm.WindowManagerGlobalLock)
at com.android.server.wm.RecentsAnimation.onAnimationFinished(RecentsAnimation.java:423)
at com.android.server.wm.RecentsAnimationController$2.finish(RecentsAnimationController.java:282)
at android.view.IRecentsAnimationController$Stub.onTransact(IRecentsAnimationController.java:314)
at android.os.Binder.execTransactInternal(Binder.java:1179)
at android.os.Binder.execTransact(Binder.java:1143)

#4 Updated by CD FW王武军 about 2 years ago

  • Assignee changed from CD FW王武军 to CD BSP-杜磊

#5 Updated by CD FW王武军 about 2 years ago

Hi,
@杜磊,如前面分析所示,现在怀疑应用在申请WakeLock时,通过如下堆栈调到了HAL层,卡在了某个环节上,需要bsp的同事帮忙分析下具体的情况。

申请WakeLock的调用堆栈如下:

native: #00 pc 00000000000a1c88 /apex/com.android.runtime/lib64/bionic/libc.so (_ioctl+8)
native: #01 pc 000000000005b8d4 /apex/com.android.runtime/lib64/bionic/libc.so (ioctl+156)
native: #02 pc 00000000000666e4 /system/lib64/libhidlbase.so (android::hardware::IPCThreadState::transact(int, unsigned int, android::hardware::Parcel const&, android::hardware::Parcel*, unsigned int)+424)
native: #03 pc 00000000000663dc /system/lib64/libhidlbase.so (android::hardware::BpHwBinder::transact(unsigned int, android::hardware::Parcel const&, android::hardware::Parcel*, unsigned int, std::_1::function<void (android::hardware::Parcel&)>)+80)
native: #04 pc 000000000000e5d0 /system/lib64/ (android::system::suspend::V1_0::BpHwSystemSuspend::_hidl_acquireWakeLock(android::hardware::IInterface*, android::hardware::details::HidlInstrumentor*, android::system::suspend::V1_0::WakeLockType, android::hardware::hidl_string const&)+308)
native: #05 pc 0000000000003188 /system/lib64/libhardware_legacy.so (acquire_wake_lock+360)
native: #06 pc 00000000000984a4 /system/lib64/libandroid_servers.so (android::nativeAcquireSuspendBlocker(_JNIEnv*, _jclass*, _jstring*)+68)
at com.android.server.power.PowerManagerService.nativeAcquireSuspendBlocker(Native method)

#6 Updated by CD BSP-杜磊 about 2 years ago

  • Assignee changed from CD BSP-杜磊 to CD SYSTEM-夏旭

#7 Updated by CD SYSTEM-胡兵 about 2 years ago

  • Assignee changed from CD SYSTEM-夏旭 to CD BSP-杜磊

Hi all

分析此问题,需要在system_server anr后获取对应的ramdump,进一步排查binder卡住是主从哪端的问题。

需要使用如下VB进行专项测试,当system_server触发watch dog后,会主动给触发ramdump。

ftp://cdiot@192.168.87.46/Pre_figure/VerifyBuild/Pre_figure_turbox-c2130c-la1.1-qssi12-dev/20230609/202306091536-4284/FlatBuild_HH_MCE_FSE.M.D.user.01.00.C104%28X104%29.202306091536.zip

日志文件参考:

----- pid 1496 at 2023-06-06 13:54:20.947954659+0800 -----
Cmd line: system_server

./logcat/000156_persist_04790_230606_135511.log:885:06-06 13:55:55.820  1496  1608 W Watchdog: *** WATCHDOG KILLING SYSTEM PROCESS: Blocked in monitor com.android.server.power.PowerManagerService on foreground thread (android.fg), Blocked in handler on main thread (main), Blocked in handler on display thread (android.display), Blocked in handler on animation thread (android.anim), Blocked in handler on PowerManagerService (PowerManagerService)

本地验证:

--adb shell
--su
--am hang

设备等待一会触发system_server watch dog,使用对应VB 符号表可以进行解析

#8 Updated by CD SYSTEM-胡兵 about 2 years ago

  • Assignee changed from CD BSP-杜磊 to CD SYSTEM-夏旭

#9 Updated by CDTS_TEST 王成 about 2 years ago

  • Severity changed from Major to Critical

#10 Updated by CD SYSTEM-夏旭 almost 2 years ago

  • Status changed from ASSIGNED to NEED_INFO
  • Assignee changed from CD SYSTEM-夏旭 to CD TEST-方永红

【目前进展】
加入强化日志
https://dev.thundercomm.com/gerrit/q/topic:FIGURE_BUG_110672
【下一步计划】
使用最新版本进行复测

#11 Updated by CD TEST-方永红 almost 2 years ago

  • Status changed from NEED_INFO to RESOLVED
  • Resolution changed from -- to DUPLICATE

7.25
客户已关闭。同步关闭

#12 Updated by CD TEST-方永红 almost 2 years ago

  • Status changed from RESOLVED to VERIFIED

#13 Updated by CD TEST-方永红 almost 2 years ago

  • Status changed from VERIFIED to CLOSED

Also available in: Atom PDF