问题描述:
Android 11 ota升级后,重启卡死在开机动画界面
问题初步分析:
抓起串口开机日志,发现错误信息:
[ 50.020526] init: Untracked pid 425 exited with status 0
[ 50.020787] init: Service 'credstore' (pid 422) received signal 6
[ 54.651069] init: starting service 'tombstoned'...
[ 54.651590] init: Created socket '/dev/socket/tombstoned_crash', mode 666, user 1000, group 1000
[ 54.651923] init: Created socket '/dev/socket/tombstoned_intercept', mode 666, user 1000, group 1000
[ 54.652222] init: Created socket '/dev/socket/tombstoned_java_trace', mode 666, user 1000, group 1000
[ 54.666011] init: Service 'tombstoned' (pid 432) exited with status 1
[ 54.666069] init: Sending signal 9 to service 'tombstoned' (pid 432) process group...
[ 54.666276] libprocessgroup: Successfully killed process cgroup uid 1058 pid 432 in 0ms
[ 54.930896] init: starting service 'credstore'...
[ 54.980284] DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
[ 54.980412] DEBUG: Build fingerprint: 'rockchip/rk3566_r/rk3566_r:11/RQ2A.210505.003/1.1.7:userdebug/release-keys'
[ 54.980496] DEBUG: Revision: '0'
[ 54.980591] DEBUG: ABI: 'arm64'
[ 54.981170] DEBUG: Timestamp: 2017-08-04 17:01:20+0800
[ 54.981332] DEBUG: pid: 433, tid: 433, name: credstore >>> /system/bin/credstore <<<
[ 54.981395] DEBUG: uid: 1076
[ 54.981503] DEBUG: signal 6 (SIGABRT), code -1 (SI_QUEUE), fault addr --------
[ 54.981601] DEBUG: Abort message: 'Check failed: chdir(data_dir.c_str()) != -1 chdir: /data/misc/credstore: No such file or directory'
[ 54.981685] DEBUG: x0 0000000000000000 x1 00000000000001b1 x2 0000000000000006 x3 0000007feba740f0
[ 54.981760] DEBUG: x4 0000000000000000 x5 0000000000000000 x6 0000000000000000 x7 7f7f7f7f7f7f7f7f
[ 54.981862] DEBUG: x8 00000000000000f0 x9 00000075fe7747c0 x10 ffffff80ffffffdf x11 0000000000000001
[ 54.981938] DEBUG: x12 000000008d55fe57 x13 ba9c0000000e010b x14 0000000000000000 x15 00000000fffffffe
[ 54.982009] DEBUG: x16 00000075fe80cc80 x17 00000075fe7ee320 x18 00000075ff906000 x19 00000000000001b1
[ 54.982082] DEBUG: x20 00000000000001b1 x21 00000000ffffffff x22 00000075ff335000 x23 0000000000000000
[ 54.982156] DEBUG: x24 0000000000000000 x25 0000000000000000 x26 0000000000000000 x27 0000000000000000
[ 54.982230] DEBUG: x28 0000000000000000 x29 0000007feba74170
[ 54.982302] DEBUG: lr 00000075fe7a2148 sp 0000007feba740d0 pc 00000075fe7a2178 pst 0000000000001000
[ 54.987578] DEBUG:
[ 54.987614] DEBUG: backtrace:
[ 54.987756] DEBUG: #00 pc 000000000004e178 /apex/com.android.runtime/lib64/bionic/libc.so (abort+168) (BuildId: 23b47e338fca2b85af1ec50fd590d7c7)
[ 54.987871] DEBUG: #01 pc 0000000000011dc0 /system/lib64/libbase.so (android::base::DefaultAborter(char const*)+12) (BuildId: 46870759aa3cab9f96ce2152bf079214)
[ 54.987981] DEBUG: #02 pc 0000000000013990 /system/lib64/libbase.so (android::base::SetAborter(std::__1::function<void (char const*)>&&)::$_3::__invoke(char const*)+76) (BuildId: 46870759aa3cab9f96ce2152bf079214)
[ 54.988074] DEBUG: #03 pc 0000000000012fb4 /system/lib64/libbase.so (android::base::LogMessage::~LogMessage()+320) (BuildId: 46870759aa3cab9f96ce2152bf079214)
[ 54.988158] DEBUG: #04 pc 0000000000010094 /system/bin/credstore (main.cfi+1248) (BuildId: 802c0088b06ec0487090b498a0dbf279)
[ 54.988246] DEBUG: #05 pc 000000000004973c /apex/com.android.runtime/lib64/bionic/libc.so (__libc_init+108) (BuildId: 23b47e338fca2b85af1ec50fd590d7c7)
[ 55.021499] init: Untracked pid 436 exited with status 0
[ 55.021704] init: Service 'credstore' (pid 433) received signal 6
[ 59.659538] init: starting service 'tombstoned'...
---------------------其中关键信息-------------------
Abort message: 'Check failed: chdir(data_dir.c_str()) != -1 chdir: /data/misc/credstore: No such file or directory'
明显看到找不到/data/misc/credstore这个文件
继续分析是在init进程的:
--------credstore.rc----------------------------------------
service credstore /system/bin/credstore /data/misc/credstore
class core
user credstore
group credstore
所以是init报错导致开机卡死,