Сбой в вызове JNI из /system/framework/arm/boot-framework.oat

Я сталкиваюсь с этим странным сбоем в system_server на моем устройстве, работающем на MTK HW с последней версией Android N, где обратная трассировка указывает на сбой в вызове JNI, произошедшем из /system/framework/arm/boot-framework.oat. Я не могу понять, как отлаживать этот сбой, так как он не является ни кодом Java, ни реальной частью c / C++ встроенной библиотеки.

Я чувствую, что это где-то посередине обоих, так как происходит сбой с SIGSEGV, и обратная трассировка не указывает на то, что разделяемая библиотека имеет фактическую реализацию собственного вызова.

Интересно отметить, что адрес ошибки всегда 0x10. проблема не легко воспроизводима.

Пожалуйста, предложите, как отладить такой сбой. Любая помощь будет принята с благодарностью.

например, одна такая бактрия -

Отпечаток пальца сборки: "XYZ/ABC/ABC:7.1.2/NZH54D/0152310: пользовательские / клавиши разблокировки"

Редакция: "0"

ABI: "рука"

pid: 1804, tid: 1814, имя: Binder:1804_1 >>> system_server <<<

сигнал 11 (SIGSEGV), код 1 (SEGV_MAPERR), адрес ошибки 0x10

r0 00000000  r1 d80f35c6  r2 00000000  r3 00000000
r4 70edda68  r5 00002759  r6 712de7bc  r7 12de17a0
r8 00000000  r9 ac783000  sl ac9626fc  fp ffffffff
ip 00000000  sp ac960f24  lr adb05c11  pc 7445198e  cpsr 600b0030
d0  006e006f00690074  d1  006f002f0030002f
d2  0064002e00670072  d3  00640069006f0072
d4  006e002e00760074  d5  0076007400740065
d6  0069006700650072  d7  0061007200740073
d8  0000000000000000  d9  0000000000000000
d10 0000000000000000  d11 0000000000000000
d12 0000000000000000  d13 0000000000000000
d14 0000000000000000  d15 0000000000000000
d16 00000000024aef90  d17 00000000022e8888
d18 00000000024ae790  d19 00000000022e8388
d20 0000000000000000  d21 0000000000000000
d22 d762c4e3e31ef623  d23 2ec7d021e172f340
d24 213dec24a83d36ce  d25 a5d214f608e470a4
d26 0000000100000000  d27 0000000100000000
d28 0000000100000001  d29 0000000100000001
d30 0000000000000000  d31 0000000000cbd10d
scr 80000093

трассировка:

#00 pc 01bd298e  /system/framework/arm/boot-framework.oat (offset 0x15a3000) (android.os.Parcel.nativeWriteInt+121)
#01 pc 01bd918d  /system/framework/arm/boot-framework.oat (offset 0x15a3000) (android.os.Parcel.writeInt+56)
#02 pc 017cc87d  /system/framework/arm/boot-framework.oat (offset 0x15a3000) (android.content.pm.ApplicationInfo.writeToParcel+616)
#03 pc 017c89fb  /system/framework/arm/boot-framework.oat (offset 0x15a3000) (android.content.pm.ComponentInfo.writeToParcel+110)
#04 pc 01817f15  /system/framework/arm/boot-framework.oat (offset 0x15a3000) (android.content.pm.ProviderInfo.writeToParcel+48)
#05 pc 0168a325  /system/framework/arm/boot-framework.oat (offset 0x15a3000) (android.app.IActivityManager$ContentProviderHolder.writeToParcel+48)
#06 pc 000a9a41  /system/lib/libart.so (art_quick_invoke_stub_internal+64)
#07 pc 0040554d  /system/lib/libart.so (art_quick_invoke_stub+232)
#08 pc 000b0cd5  /system/lib/libart.so (_ZN3art9ArtMethod6InvokeEPNS_6ThreadEPjjPNS_6JValueEPKc+136)
#09 pc 001ed20d  /system/lib/libart.so (_ZN3art11interpreter34ArtInterpreterToCompiledCodeBridgeEPNS_6ThreadEPNS_9ArtMethodEPKNS_7DexFile8CodeItemEPNS_11ShadowFrameEPNS_6JValueE+200)
#10 pc 001e77bd  /system/lib/libart.so (_ZN3art11interpreter6DoCallILb0ELb0EEEbPNS_9ArtMethodEPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+492)
#11 pc 003ff9c7  /system/lib/libart.so (MterpInvokeVirtualQuick+322)
#12 pc 000a0614  /system/lib/libart.so (ExecuteMterpImpl+29972)
#13 pc 001caae7  /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadEPKNS_7DexFile8CodeItemERNS_11ShadowFrameENS_6JValueEb+290)
#14 pc 001cf5b9  /system/lib/libart.so (_ZN3art11interpreter30EnterInterpreterFromEntryPointEPNS_6ThreadEPKNS_7DexFile8CodeItemEPNS_11ShadowFrameE+92)
#15 pc 003f49f7  /system/lib/libart.so (artQuickToInterpreterBridge+706)
#16 pc 000ae493  /system/lib/libart.so (art_quick_to_interpreter_bridge+34)
#17 pc 00f046bd  /system/framework/oat/arm/services.odex (offset 0xcdd000)

0 ответов

Другие вопросы по тегам