Android锁屏系统重启

it2024-07-20  41

项目场景:

RK3399+Andorid7.1.1


问题描述:

锁屏触发,系统自动重启。

2020-10-21 13:14:24.753 249-249/? E/hwcomposer-drm: signal_all_fence Failed to wait for acquire 0/-1 1000ms 2020-10-21 13:14:24.753 249-249/? E/hwcomposer-drm: signal_all_fence Failed to wait for acquire 0/-1 1000ms          --------- beginning of crash 2020-10-21 13:14:24.764 249-249/? A/libc: Fatal signal 11 (SIGSEGV), code 2, fault addr 0x76f08074b8 in tid 249 (surfaceflinger) 2020-10-21 13:14:24.836 6775-6775/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** 2020-10-21 13:14:24.836 6775-6775/? A/DEBUG: Build fingerprint: 'Android/rk3399_mtb918/:7.1.2/NHG47K/zhuhua10191658:userdebug/test-keys' 2020-10-21 13:14:24.836 6775-6775/? A/DEBUG: Revision: '0' 2020-10-21 13:14:24.836 6775-6775/? A/DEBUG: ABI: 'arm64' 2020-10-21 13:14:24.836 6775-6775/? A/DEBUG: pid: 249, tid: 249, name: surfaceflinger  >>> /system/bin/surfaceflinger <<< 2020-10-21 13:14:24.836 6775-6775/? A/DEBUG: signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 0x76f08074b8 2020-10-21 13:14:24.836 6775-6775/? A/DEBUG:     x0   0000000000000000  x1   0000000040043e00  x2   0000007fe0854774  x3   0000000000000003 2020-10-21 13:14:24.836 6775-6775/? A/DEBUG:     x4   0000000000000000  x5   0000000000000000  x6   0000000000000000  x7   feff666e6b61686b 2020-10-21 13:14:24.837 6775-6775/? A/DEBUG:     x8   0000000000000039  x9   0000007fe0854728  x10  0000007fe08546f0  x11  0000007fe0854770 2020-10-21 13:14:24.837 6775-6775/? A/DEBUG:     x12  0000000000000030  x13  ffffffffffffffff  x14  ff00000000000000  x15  ffffffffffffffff 2020-10-21 13:14:24.837 6775-6775/? A/DEBUG:     x16  00000076f0082848  x17  00000076f0cd3c18  x18  0000000000000000  x19  00000076f042d6a0 2020-10-21 13:14:24.837 6775-6775/? A/DEBUG:     x20  51b3bea3677d46cf  x21  00000000000003e8  x22  00000076f0074294  x23  00000076f0074495 2020-10-21 13:14:24.837 6775-6775/? A/DEBUG:     x24  0000000000000088  x25  000000000028e020  x26  0000000000001bd4  x27  00000000ffffffff 2020-10-21 13:14:24.837 6775-6775/? A/DEBUG:     x28  00000076f0579498  x29  0000007fe0854800  x30  00000076f00500dc 2020-10-21 13:14:24.837 6775-6775/? A/DEBUG:     sp   0000007fe08547a0  pc   00000076f00500dc  pstate 0000000000000000 2020-10-21 13:14:24.844 6775-6775/? A/DEBUG: backtrace: 2020-10-21 13:14:24.844 6775-6775/? A/DEBUG:     #00 pc 00000000000410dc  /system/lib64/hw/hwcomposer.rk30board.so (_ZN7android16signal_all_fenceERNS_21DrmHwcDisplayContentsEP22hwc_display_contents_1+168) 2020-10-21 13:14:24.845 6775-6775/? A/DEBUG:     #01 pc 0000000000046154  /system/lib64/hw/hwcomposer.rk30board.so 2020-10-21 13:14:24.845 6775-6775/? A/DEBUG:     #02 pc 00000000000525f8  /system/lib64/libsurfaceflinger.so 2020-10-21 13:14:24.845 6775-6775/? A/DEBUG:     #03 pc 0000000000045f48  /system/lib64/libsurfaceflinger.so 2020-10-21 13:14:24.845 6775-6775/? A/DEBUG:     #04 pc 0000000000045330  /system/lib64/libsurfaceflinger.so 2020-10-21 13:14:24.845 6775-6775/? A/DEBUG:     #05 pc 0000000000043fcc  /system/lib64/libsurfaceflinger.so 2020-10-21 13:14:24.845 6775-6775/? A/DEBUG:     #06 pc 0000000000043d24  /system/lib64/libsurfaceflinger.so 2020-10-21 13:14:24.845 6775-6775/? A/DEBUG:     #07 pc 0000000000018270  /system/lib64/libutils.so (_ZN7android6Looper9pollInnerEi+764) 2020-10-21 13:14:24.845 6775-6775/? A/DEBUG:     #08 pc 0000000000017eb4  /system/lib64/libutils.so (_ZN7android6Looper8pollOnceEiPiS1_PPv+60) 2020-10-21 13:14:24.845 6775-6775/? A/DEBUG:     #09 pc 0000000000034108  /system/lib64/libsurfaceflinger.so 2020-10-21 13:14:24.845 6775-6775/? A/DEBUG:     #10 pc 0000000000043710  /system/lib64/libsurfaceflinger.so (_ZN7android14SurfaceFlinger3runEv+20) 2020-10-21 13:14:24.845 6775-6775/? A/DEBUG:     #11 pc 00000000000014bc  /system/bin/surfaceflinger 2020-10-21 13:14:24.847 6775-6775/? A/DEBUG:     #12 pc 000000000001a594  /system/lib64/libc.so (__libc_init+88) 2020-10-21 13:14:24.847 6775-6775/? A/DEBUG:     #13 pc 00000000000011e8  /system/bin/surfaceflinger 2020-10-21 13:14:25.149 638-873/system_process W/NativeCrashListener: Couldn't find ProcessRecord for pid 24


原因分析:

没有接显示屏,使用ardc导致。具体解决通过Android锁屏流程跟踪分析到:

frameworks\base\services\core\java\com\android\server\power\PowerManagerService.java

 private void updatePowerStateLocked() {         if (!mSystemReady || mDirty == 0) {             return;         }         if (!Thread.holdsLock(mLock)) {             Slog.wtf(TAG, "Power manager lock was not held when calling updatePowerStateLocked");         }

        Trace.traceBegin(Trace.TRACE_TAG_POWER, "updatePowerState");         try {             // Phase 0: Basic state updates.             updateIsPoweredLocked(mDirty);             updateStayOnLocked(mDirty);             updateScreenBrightnessBoostLocked(mDirty);

            // Phase 1: Update wakefulness.             // Loop because the wake lock and user activity computations are influenced             // by changes in wakefulness.             final long now = SystemClock.uptimeMillis();             int dirtyPhase2 = 0;             for (;;) {                 int dirtyPhase1 = mDirty;                 dirtyPhase2 |= dirtyPhase1;                 mDirty = 0;

                updateWakeLockSummaryLocked(dirtyPhase1);                 updateUserActivitySummaryLocked(now, dirtyPhase1);                 if (!updateWakefulnessLocked(dirtyPhase1)) {                     break;                 }             }

            // Phase 2: Update display power state.             boolean displayBecameReady = updateDisplayPowerStateLocked(dirtyPhase2);

            // Phase 3: Update dream state (depends on display ready signal).             updateDreamLocked(dirtyPhase2, displayBecameReady);

            // Phase 4: Send notifications, if needed.             finishWakefulnessChangeIfNeededLocked();

            // Phase 5: Update suspend blocker.             // Because we might release the last suspend blocker here, we need to make sure             // we finished everything else first!             updateSuspendBlockerLocked();         } finally {             Trace.traceEnd(Trace.TRACE_TAG_POWER);         }     }

 


解决方案:

使用显示屏没有问题,希望可以和你遇到的问题一样!

最新回复(0)