Android锁屏系统重启

项目场景:

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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值