Android: фатальное исключение в системном процессе: ActivityManager

После нескольких месяцев работы некоторые планшетные устройства Android (рутированные) в компании, в которой я работаю, случайным образом получают белый экран после анимации загрузки. Кроме того, некоторые из них перезагружаются несколько раз, прежде чем установиться на белом экране.

Для тех устройств, которые перезагружаются, я вижу в logcat, что они останавливаются в исключении ниже:

D/NetlinkEvent(  167): NL subsys is 'block'
D/NetlinkEvent(  167): NL param 'DEVPATH=/devices/sprd-sdhci.3/mmc_host/mmc0/mmc0:0001/block/mmcblk0/mmcblk0p21'
D/NetlinkEvent(  167): NL param 'MAJOR=179'
D/NetlinkEvent(  167): NL param 'MINOR=21'
D/NetlinkEvent(  167): NL param 'DEVNAME=mmcblk0p21'
D/NetlinkEvent(  167): NL param 'DEVTYPE=partition'
D/NetlinkEvent(  167): NL param 'PARTN=21'
D/NetlinkEvent(  167): NL param 'PARTNAME=userdata'
I/DirectVolume(  167): ++ok_vold----in_handleBolckEvent() in_if*it:/devices/sprd-sdhci.3/mmc_host/mmc0-----
E/DirectVolume(  167): making device node '/dev/block/vold/179:21'
W/DirectVolume(  167): Ignore partition userdata
D/WCND    (  171): is_cp2_alive_ok: open polling interface: /dev/spipe_wcn0, fd = 12
D/WCND    (  171): is_cp2_alive_ok: loop: /dev/spipe_wcn0 is OK
I/Zygote  (  178): ...preloaded 1463 classes in 2501ms.
D/libEGL  (  178): loaded /system/lib/egl/libGLES_mali.so
I/Zygote  (  178): ZytoteInit preload finish
D/dalvikvm(  178): GC_EXPLICIT freed 467K, 16% free 2665K/3136K, paused 2ms+2ms, total 19ms
D/dalvikvm(  178): GC_EXPLICIT freed 4K, 16% free 2660K/3136K, paused 1ms+1ms, total 16ms
D/dalvikvm(  178): GC_EXPLICIT freed <1K, 16% free 2660K/3136K, paused 1ms+1ms, total 16ms
I/dalvikvm(  178): System server process 647 has been created
I/Zygote  (  178): Accepting command socket connections
D/SensorService(  647): nuSensorService starting...
I/SystemServer(  647): Entered the Android system server!
D/Sensors (  647): AnumSensors=1; 1
E/IAtChannel(  180): Couldn't get connection to atchannel0
D/audio_hw_primary(  180): do_cmd_dual Switch incall AT command [AT+VGR=6][ERROR]
E/audio_hw_primary(  180): do_voice_command: X
I/audio_hw_primary(  180):  voice_command_thread_entry looping done.
I/audio_hw_primary(  180):  voice_command_thread_entry looping now...
D/SDCARD  (  188): missing packages.list; retrying
D/SDCARD  (  191): missing packages.list; retrying
D/Sensors (  647): PnumSensors=2; 2
D/Sensors (  647): activate handle=0; drv=0
D/Sensors (  647): activate handle=4; drv=1
D/Sensors (  647): PlsSensor::enable en=0; newState=0; what=0; mEnabled=0
I/SensorService(  647): STK8312 3-axis Accelerometer
I/SensorService(  647): AL3006 Proximity sensor
D/SensorService(  647): Max socket buffer size 163840
D/SensorService(  647): nuSensorService thread starting...
I/installd(  181): new connection
I/SystemServer(  647): Waiting for installd to be ready.
I/Installer(  647): connecting...
I/SystemServer(  647): Power Manager
D/PowerManagerService(  647): Acquiring suspend blocker "PowerManagerService.Display".
I/SystemServer(  647): Activity Manager
W/dalvikvm(  647): threadid=14: thread exiting with uncaught exception (group=0x415e5bc0)
I/Process (  647): Sending signal. PID: 647 SIG: 9
E/installd(  181): eof
E/installd(  181): failed to read size
I/installd(  181): closing connection
I/Zygote  (  178): Exit zygote because system server (647) has terminated
E/AndroidRuntime(  647): *** FATAL EXCEPTION IN SYSTEM PROCESS: ActivityManager
E/AndroidRuntime(  647): android.content.res.Resources$NotFoundException: Resource ID #0x10e0009
E/AndroidRuntime(  647):        at android.content.res.Resources.getValue(Resources.java:1139)
E/AndroidRuntime(  647):        at android.content.res.SPRDResources.getValue(SPRDResources.java:182)
E/AndroidRuntime(  647):        at android.content.res.Resources.getInteger(Resources.java:923)
E/AndroidRuntime(  647):        at com.android.server.am.ProcessList.updateOomLevels(ProcessList.java:245)
E/AndroidRuntime(  647):        at com.android.server.am.ProcessList.<init>(ProcessList.java:179)
E/AndroidRuntime(  647):        at com.android.server.am.ActivityManagerService.<init>(ActivityManagerService.java:485)
E/AndroidRuntime(  647):        at com.android.server.am.ActivityManagerServiceEx.<init>(ActivityManagerServiceEx.java:48)
E/AndroidRuntime(  647):        at com.android.server.am.ActivityManagerService$AThread.run(ActivityManagerService.java:1955)
E/AndroidRuntime(  647): Error reporting crash
E/AndroidRuntime(  647): java.lang.NullPointerException
E/AndroidRuntime(  647):        at com.android.internal.os.RuntimeInit$UncaughtHandler.uncaughtException(RuntimeInit.java:92)
E/AndroidRuntime(  647):        at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:693)
E/AndroidRuntime(  647):        at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:690)
I/ServiceManager(  166): service 'power' died
I/ServiceManager(  166): service 'sensorservice' died
D/SDCARD  (  188): missing packages.list; retrying
D/SDCARD  (  191): missing packages.list; retrying
D/WCND    (  171): is_cp2_alive_ok: open polling interface: /dev/spipe_wcn0, fd = 12
D/WCND    (  171): is_cp2_alive_ok: loop: /dev/spipe_wcn0 is OK
D/SDCARD  (  188): missing packages.list; retrying
D/SDCARD  (  191): missing packages.list; retrying
D/SDCARD  (  188): missing packages.list; retrying
D/SDCARD  (  191): missing packages.list; retrying
D/WCND    (  171): is_cp2_alive_ok: open polling interface: /dev/spipe_wcn0, fd = 12
D/WCND    (  171): is_cp2_alive_ok: loop: /dev/spipe_wcn0 is OK
D/SDCARD  (  188): missing packages.list; retrying
D/SDCARD  (  191): missing packages.list; retrying
D/WCND    (  171): is_cp2_alive_ok: open polling interface: /dev/spipe_wcn0, fd = 12
D/WCND    (  171): is_cp2_alive_ok: loop: /dev/spipe_wcn0 is OK
D/SDCARD  (  188): missing packages.list; retrying
D/SDCARD  (  191): missing packages.list; retrying
PS C:\adb>

Для тех, кто работает на белом экране, я вижу, что основной графический интерфейс работает на фоне белого экрана. Я могу подтвердить это, сделав скриншот и открыв его на своем компьютере. Кроме того, сенсорный экран работает, и я могу выбирать некоторые функции с помощью кнопок графического интерфейса. Это также проверяется, когда я делаю еще один снимок экрана.

Почему ActivityManager иногда показывает фатальные исключения? Почему при запуске системы я вижу только пустой экран без цветных пикселей?

Заранее спасибо.


person Eduardo Avelar    schedule 26.10.2020    source источник


Ответы (1)


Для тех, кому интересно, эта проблема была решена, когда я перезагрузил Android ROM на устройстве. Мы подозреваем, что из-за того, что устройство работало более 3 лет напрямую и сохраняло тонны журналов во внутренней памяти MMC, мы достигли предела записи в память, и система была повреждена. Итак, после перезагрузки ПЗУ устройство снова начинает нормально работать. Возможно, мы заменим эту MMC, чтобы продлить жизнь этим устройствам.

person Eduardo Avelar    schedule 31.10.2020