SIGILL fault when running program - android

New one to me for errors signal 4 SIGILL. When I take a look at the tombstone file and type int he address I get ?? i.e.
Here is someof the tombstone:
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'generic/sdk/generic/:2.2/FRF91/43546:eng/test-keys'
pid: 2083, tid: 2089 >>> com.activities <<<
signal 4 (SIGILL), fault addr 00016b10
r0 00000006 r1 8086caa4 r2 8086fbcf r3 0006b60b
r4 80887fc4 r5 0006b60b r6 00000000 r7 00000000
r8 80813b00 r9 4e23a038 10 00000019 fp 0011d230
ip 808880f8 sp 47bcbca8 lr 8083a8d1 pc 00016b10 cpsr 20000010
#00 pc 00016b10 [heap]
#01 pc 0003a8ce /system/lib/libdvm.so
#02 pc 0003d02c /system/lib/libdvm.so
#03 pc 0001890c /system/lib/libdvm.so
#04 pc 0001e8c4 /system/lib/libdvm.so
#05 pc 0001d790 /system/lib/libdvm.so
#06 pc 0005408e /system/lib/libdvm.so
#07 pc 0005bde2 /system/lib/libdvm.so
#08 pc 00018714 /system/lib/libdvm.so
#09 pc 0001e8c4 /system/lib/libdvm.so
#10 pc 0001d790 /system/lib/libdvm.so
#11 pc 00053eec /system/lib/libdvm.so
#12 pc 00054102 /system/lib/libdvm.so
#13 pc 0004825a /system/lib/libdvm.so
#14 pc 0001103c /system/lib/libc.so
#15 pc 00010b20 /system/lib/libc.so
I go my android-ndk-r7\toolchains\arm-linux-androideabi-4.4.3\prebuilt\windows\bin directory using command window, type in this command and get no function at all.
arm-linux-androideabi--addr2line.exe -C -f -e libdvm.so 0003a8ce
and it returns
??
??:0
I seem to remember this working before...and yes I have the libdvm.so in the same working directory.

Well apparently this occurs only when I test it on the 2.2 emulator. On a myTouch 3G phone the code never crashes. Must be a pointer memory issue or not enough RAM allocated for simulator.

Related

Android application crashes after migrating unity 2019 -> 2021

We're trying to update unity from version 2019 to 2021.
After update android application randomly crashes. Session time from 3 minutes till 40.
Also, there no steps to repo.
Tried to disable all SDKs, update to 2020 and 2022, change stripping code, change compilation from il2cpp to mono and lof of other variants but without any results.
It would be great to hear any ideas. Thx!
2022-11-22 17:46:35.813 6299-6411/com.***.*** E/AndroidRuntime: FATAL EXCEPTION: UnityMain
Process: com.***.***, PID: 6299
java.lang.Error: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Version '2021.3.13f1 (9e7d58001ecf)', Build type 'Development', Scripting Backend 'mono', CPU 'armeabi-v7a'
Build fingerprint: 'samsung/m32xx/m32:12/SP1A.210812.016/M325FVXXS4BVJ1:user/release-keys'
Revision: '3'
ABI: 'arm'
Timestamp: 2022-11-22 17:46:34+0200
pid: 6299, tid: 6411, name: UnityMain >>> com.***.*** <<<
uid: 10762
signal 7 (SIGBUS), code 1 (BUS_ADRALN), fault addr 0x97
r0 0000008b r1 00000097 r2 a6045de0 r3 00000002
r4 0000008b r5 00000000 r6 c4447440 r7 c23cf264
r8 00000002 r9 a6045de0 r10 c23cf2a8 r11 00000000
ip bfc4f380 sp c60d7870 lr c6b6c093 pc c6b70ba8
backtrace:
#00 pc 0032fba8 /data/app/~~-yOypRKW_zJrZZDfaDURbQ==/com.***.***-zHyjP_HS-QJKpSjVK2hWuQ==/lib/arm/libunity.so (EventManager::InvokeEventCommon(EventManager*, EventEntry*, void*, int)+26) (BuildId: 60691ac925aaa903ed9fa2d3edd0b108518d4dbd)
#01 pc 0032b08f /data/app/~~-yOypRKW_zJrZZDfaDURbQ==/com.***.***-zHyjP_HS-QJKpSjVK2hWuQ==/lib/arm/libunity.so (delete_object_internal_step1(Object*)+26) (BuildId: 60691ac925aaa903ed9fa2d3edd0b108518d4dbd)
#02 pc 0032ac1d /data/app/~~-yOypRKW_zJrZZDfaDURbQ==/com.***.***-zHyjP_HS-QJKpSjVK2hWuQ==/lib/arm/libunity.so (delete_object_internal(Object*)+8) (BuildId: 60691ac925aaa903ed9fa2d3edd0b108518d4dbd)
#03 pc 005fba11 /data/app/~~-yOypRKW_zJrZZDfaDURbQ==/com.***.***-zHyjP_HS-QJKpSjVK2hWuQ==/lib/arm/libunity.so (DestroyObjectHighLevel(Object*, bool)+28) (BuildId: 60691ac925aaa903ed9fa2d3edd0b108518d4dbd)
#04 pc 0058b211 /data/app/~~-yOypRKW_zJrZZDfaDURbQ==/com.***.***-zHyjP_HS-QJKpSjVK2hWuQ==/lib/arm/libunity.so (BackgroundJobQueue::ExecuteMainThreadJobs()+24) (BuildId: 60691ac925aaa903ed9fa2d3edd0b108518d4dbd)
#05 pc 005ff843 /data/app/~~-yOypRKW_zJrZZDfaDURbQ==/com.***.***-zHyjP_HS-QJKpSjVK2hWuQ==/lib/arm/libunity.so (InitPlayerLoopCallbacks()::EarlyUpdateExecuteMainThreadJobsRegistrator::Forward()+30) (BuildId: 60691ac925aaa903ed9fa2d3edd0b108518d4dbd)
#06 pc 00600c41 /data/app/~~-yOypRKW_zJrZZDfaDURbQ==/com.***.***-zHyjP_HS-QJKpSjVK2hWuQ==/lib/arm/libunity.so (ExecutePlayerLoop(NativePlayerLoopSystem*)+66) (BuildId: 60691ac925aaa903ed9fa2d3edd0b108518d4dbd)
#07 pc 00600c81 /data/app/~~-yOypRKW_zJrZZDfaDURbQ==/com.***.***-zHyjP_HS-QJKpSjVK2hWuQ==/lib/arm/libunity.so (ExecutePlayerLoop(NativePlayerLoopSystem*)+130) (BuildId: 60691ac925aaa903ed9fa2d3edd0b108518d4dbd)
#08 pc 00600e41 /data/app/~~-yOypRKW_zJrZZDfaDURbQ==/com.***.***-zHyjP_HS-QJKpSjVK2hWuQ==/lib/arm/libunity.so (PlayerLoop()+224) (BuildId: 60691ac925aaa903ed9fa2d3edd0b108518d4dbd)
#09 pc 009a53f9 /data/app/~~-yOypRKW_zJrZZDfaDURbQ==/com.***.***-zHyjP_HS-QJKpSjVK2hWuQ==/lib/arm/libunity.so (UnityPlayerLoop()+576) (BuildId: 60691ac925aaa903ed9fa2d3edd0b108518d4dbd)
#10 pc 009cdd9d /data/app/~~-yOypRKW_zJrZZDfaDURbQ==/com.***.***-zHyjP_HS-QJKpSjVK2hWuQ==/lib/arm/libunity.so (nativeRender(_JNIEnv*, _jobject*)+40) (BuildId: 60691ac925aaa903ed9fa2d3edd0b108518d4dbd)
#11 pc 003af19d /apex/com.android.art/lib/libart.so (art_quick_alloc_string_from_bytes_region_tlab_instrumented+44) (BuildId: 8a3405190074d955145af6042a9f3658)
at libunity.EventManager::InvokeEventCommon(EventManager*, EventEntry*, void*, int)(InvokeEventCommon:26)
at libunity.delete_object_internal_step1(Object*)(delete_object_internal_step1:26)
at libunity.delete_object_internal(Object*)(delete_object_internal:8)
at libunity.DestroyObjectHighLevel(Object*, bool)(DestroyObjectHighLevel:28)
at libunity.BackgroundJobQueue::ExecuteMainThreadJobs()(ExecuteMainThreadJobs:24)
2022-11-22 17:46:35.814 6299-6411/com.***.*** E/AndroidRuntime: at libunity.InitPlayerLoopCallbacks()::EarlyUpdateExecuteMainThreadJobsRegistrator::Forward()(InitPlayerLoopCallbacks:30)
at libunity.ExecutePlayerLoop(NativePlayerLoopSystem*)(ExecutePlayerLoop:66)
at libunity.ExecutePlayerLoop(NativePlayerLoopSystem*)(ExecutePlayerLoop:130)
at libunity.PlayerLoop()(PlayerLoop:224)
at libunity.UnityPlayerLoop()(UnityPlayerLoop:576)
at libunity.nativeRender(_JNIEnv*, _jobject*)(nativeRender:40)
at libart.art_quick_alloc_string_from_bytes_region_tlab_instrumented(art_quick_alloc_string_from_bytes_region_tlab_instrumented:44)
We face this issue also but on lower update: from 2021.3.9 to 2021.3.12. It was affecting 20% of our users on production.
According to logs, it is related to scene loading.
So looks like this issue started to appear somewhere after 2021.3.9.
Rolling back to this .9 version solved it for us.

How to convert an unity3d game app crash log backtrace to code location

***** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'google/volantis/flounder:7.1.1/N9F27M/4333998:user/release-keys'
Revision: '0'
ABI: 'arm'
pid: 23136, tid: 23160, name: UnityMain >>> com.kumora.emblem <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0
r0 c0d0d570 r1 00000000 r2 00000024 r3 00000038
r4 c0d0d578 r5 00000038 r6 de77d141 r7 c837fc78
r8 00000000 r9 ce4e7694 sl 00000024 fp df1c5c70
ip dea4fab0 sp d0f75a18 lr de80ec47 pc de77d148 cpsr 600b0030
backtrace:
#00 pc 00914148 /vendor/lib/libglcore.so
#01 pc 009a5c45 /vendor/lib/libglcore.so
#02 pc 009a5fd9 /vendor/lib/libglcore.so
#03 pc 0079ef39 /vendor/lib/libglcore.so
#04 pc 005130b0 /data/app/com.kumora.emblem-1/lib/arm/libunity.so
#05 pc 00264054 /data/app/com.kumora.emblem-1/lib/arm/libunity.so
#06 pc 002631c0 /data/app/com.kumora.emblem-1/lib/arm/libunity.so
#07 pc 005b7eec /data/app/com.kumora.emblem-1/lib/arm/libunity.so
#08 pc 005b7fa8 /data/app/com.kumora.emblem-1/lib/arm/libunity.so
#09 pc 0019ac44 /data/app/com.kumora.emblem-1/lib/arm/libunity.so
#10 pc 0045ef4c /data/app/com.kumora.emblem-1/lib/arm/libunity.so
#11 pc 00199ef0 /data/app/com.kumora.emblem-1/lib/arm/libunity.so
#12 pc 0019b6e4 /data/app/com.kumora.emblem-1/lib/arm/libunity.so
#13 pc 0019c690 /data/app/com.kumora.emblem-1/lib/arm/libunity.so
#14 pc 001a34c8 /data/app/com.kumora.emblem-1/lib/arm/libunity.so
#15 pc 00125d90 /data/app/com.kumora.emblem-1/lib/arm/libunity.so
#16 pc 00128364 /data/app/com.kumora.emblem-1/lib/arm/libunity.so
#17 pc 00149794 /data/app/com.kumora.emblem-1/lib/arm/libunity.so
#18 pc 002e7b34 /data/app/com.kumora.emblem-1/lib/arm/libunity.so
#19 pc 002e941c /data/app/com.kumora.emblem-1/lib/arm/libunity.so
#20 pc 00540a68 /data/app/com.kumora.emblem-1/lib/arm/libunity.so
#21 pc 00543248 /data/app/com.kumora.emblem-1/lib/arm/libunity.so
#22 pc 0020e629 /data/app/com.kumora.emblem-1/oat/arm/base.odex (offset 0x1ec000)
I am using this method to convert the address to code location but the result seems no right. Is there any better way to find the crash code location in my file or unity native code?

Android Native crash at /system/lib/libc.so

I got this crash reported on the play developer console from a Galaxy S4. Any clue what it's about?
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'samsung/jfltespr/jfltespr:5.0.1/LRX22C/L720VPUGOK3:user/release-keys'
Revision: '11'
ABI: 'arm'
pid: 19535, tid: 19535, name: >>> com.company.package <<<
signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
Abort message: 'sart/runtime/class_linker.cc:3054] Check failed: dex_cache.Get() != nullptr Failed to allocate dex cache for /data/app/com.google.android.gms-1/base.apk'
r0 00000000 r1 00004c4f r2 00000006 r3 00000000
r4 b6f4e114 r5 00000006 r6 00000002 r7 0000010c
r8 00000001 r9 b4f4f520 sl b4f07800 fp b3b6db00
ip 00004c4f sp beceff10 lr b6ed7fd1 pc b6efaeb4 cpsr 60070010
backtrace:
#00 pc 00036eb4 /system/lib/libc.so (tgkill+12)
#01 pc 00013fcd /system/lib/libc.so (pthread_kill+52)
#02 pc 00014beb /system/lib/libc.so (raise+10)
#03 pc 00011531 /system/lib/libc.so (__libc_android_abort+36)
#04 pc 0000fcbc /system/lib/libc.so (abort+4)
#05 pc 0021d9d9 /system/lib/libart.so (art::Runtime::Abort()+160)
#06 pc 000a8363 /system/lib/libart.so (art::LogMessage::~LogMessage()+1322)
#07 pc 000ce557 /system/lib/libart.so (art::ClassLinker::RegisterDexFile(art::DexFile const&)+330)
#08 pc 000d37e5 /system/lib/libart.so (art::ClassLinker::FindClassInPathClassLoader(art::ScopedObjectAccessAlreadyRunnable&, art::Thread*, char const*, art::Handle<art::mirror::ClassLoader>)+424)
#09 pc 000d3af9 /system/lib/libart.so (_ZN3art11ClassLinker9FindClassEPNS_6ThreadEPKcNS_6HandleINS_6mirror11ClassLoaderEEE.part.403+356)
#10 pc 000d65e3 /system/lib/libart.so (art::ClassLinker::ResolveType(art::DexFile const&, unsigned short, art::Handle<art::mirror::DexCache>, art::Handle<art::mirror::ClassLoader>)+122)
#11 pc 000d685d /system/lib/libart.so (art::ClassLinker::ResolveMethodExceptionHandlerTypes(art::DexFile const&, art::mirror::ArtMethod*)+316)
#12 pc 000d6953 /system/lib/libart.so (art::ClassLinker::ResolveClassExceptionHandlerTypes(art::DexFile const&, art::Handle<art::mirror::Class>)+46)
#13 pc 000d6b8f /system/lib/libart.so (art::ClassLinker::VerifyClass(art::Handle<art::mirror::Class>)+470)
#14 pc 000d81bf /system/lib/libart.so (art::ClassLinker::InitializeClass(art::Handle<art::mirror::Class>, bool, bool)+270)
#15 pc 000d8c13 /system/lib/libart.so (art::ClassLinker::EnsureInitialized(art::Handle<art::mirror::Class>, bool, bool)+54)
#16 pc 00288037 /system/lib/libart.so (artQuickResolutionTrampoline+598)
#17 pc 000a424b /system/lib/libart.so (art_quick_resolution_trampoline+10)
#18 pc 0010fa7c /dev/ashmem/dalvik-main space (deleted)
Here's the primary error message pulled out from that mess:
Abort message: 'sart/runtime/class_linker.cc:3054] Check failed: dex_cache.Get() != nullptr Failed to allocate dex cache for /data/app/com.google.android.gms-1/base.apk'
There were no user comments so I have no idea how to reproduce it. Is there anything I can do to track this down?

How to determine what is causing Android / LibStageFright to fail on freeBuffer?

I am running into an issue in my Android app where Galaxy Note 4, Galaxy Edge, and some other devices crash when trying to play H.264 video streamed from a server. I'm fairly certain that the H.264 video is correct, as the same video works using the same decoder on other devices. In addition, the devices that are crashing support the decoder that I'm using.
It doesn't crash in my source code, but it does crash the app. Has anyone ever run into this issue? If so, could you give me some help on what I could do to figure out what is happening? Here's the message I'm getting from the Developer Console in Google Play:
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'Verizon/trltevzw/trltevzw:5.0.1/LRX22C/N910VVRU1BOAF:user/release-keys'
Revision: '12'
ABI: 'arm'
pid: 32467, tid: 32524, name: CodecLooper >>> com.xxxx.xxxx<<<
signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
Abort message: 'frameworks/av/media/libstagefright/ACodec.cpp:1304 CHECK_EQ( mOMX->freeBuffer( mNode, portIndex, info->mBufferID),(status_t)OK) failed: -2147483648 vs. 0'
r0 00000000 r1 00007f0c r2 00000006 r3 00000000
r4 a160fdb8 r5 00000006 r6 00000000 r7 0000010c
r8 00000015 r9 00000000 sl a160fcf4 fp a160fdb0
ip 00007f0c sp a160f6d0 lr b6e9dff5 pc b6ec1998 cpsr 600f0010
backtrace:
#00 pc 00037998 /system/lib/libc.so (tgkill+12)
#01 pc 00013ff1 /system/lib/libc.so (pthread_kill+52)
#02 pc 00014c0f /system/lib/libc.so (raise+10)
#03 pc 00011531 /system/lib/libc.so (__libc_android_abort+36)
#04 pc 0000fcbc /system/lib/libc.so (abort+4)
#05 pc 00007709 /system/lib/libcutils.so (__android_log_assert+88)
#06 pc 000672f9 /system/lib/libstagefright.so (android::ACodec::freeBuffer(unsigned int, unsigned int)+152)
#07 pc 00067589 /system/lib/libstagefright.so (android::ACodec::freeOutputBuffersNotOwnedByComponent()+56)
#08 pc 0006b86f /system/lib/libstagefright.so (android::ACodec::ExecutingState::onOMXEvent(OMX_EVENTTYPE, unsigned int, unsigned int)+210)
#09 pc 0006ba23 /system/lib/libstagefright.so (android::ACodec::BaseState::onOMXMessage(android::sp<android::AMessage> const&)+342)
#10 pc 0006bc71 /system/lib/libstagefright.so (android::ACodec::BaseState::onMessageReceived(android::sp<android::AMessage> const&)+84)
#11 pc 0006c0e1 /system/lib/libstagefright.so (android::ACodec::ExecutingState::onMessageReceived(android::sp<android::AMessage> const&)+652)
#12 pc 00009819 /system/lib/libstagefright_foundation.so (android::AHierarchicalStateMachine::handleMessage(android::sp<android::AMessage> const&)+44)
#13 pc 00061a6f /system/lib/libstagefright.so
#14 pc 0000a5a3 /system/lib/libstagefright_foundation.so (android::ALooperRoster::deliverMessage(android::sp<android::AMessage> const&)+166)
#15 pc 00009f25 /system/lib/libstagefright_foundation.so (android::ALooper::loop()+220)
#16 pc 0000ef11 /system/lib/libutils.so (android::Thread::_threadLoop(void*)+112)
#17 pc 0000ea81 /system/lib/libutils.so
#18 pc 000137bb /system/lib/libc.so (__pthread_start(void*)+30)
#19 pc 0001189b /system/lib/libc.so (__start_thread+6)

native code crash (android)?

I'm having android app that heavily uses ffmpeg ported to android. It works pretty well on most devices but crashes on Galaxy Tab 10:
06-20 13:16:36.136 505-561/? D/CrashAnrDetector﹕ Build: samsung/espresso10rfxx/espresso10rf:4.2.2/JDQ39/P5100XXDMJ2:user/release-keys
Hardware: piranha
Revision: 9
Bootloader: unknown
Radio: unknown
Kernel: Linux version 3.0.31-1919150 (se.infra#SEP-107) (gcc version 4.4.1 (Sourcery G++ Lite 2010q1-202) ) #1 SMP PREEMPT Fri Oct 18 15:31:19 KST 2013
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'samsung/espresso10rfxx/espresso10rf:4.2.2/JDQ39/P5100XXDMJ2:user/release-keys'
Revision: '9'
pid: 22003, tid: 22003, name: om.company.project >>> com.company.project <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr deadbaad
r0 00000027 r1 deadbaad r2 401b5258 r3 00000000
r4 00000000 r5 bebb936c r6 00000004 r7 40d63400
r8 00000000 r9 409d81b0 sl 4000c0d8 fp 00000001
ip 62675144 sp bebb9368 lr 4018854d pc 40184be2 cpsr 60000030
d0 65706d666662696c d1 732e6e6f656e2d67
d2 732e30323763692e d3 2f322d6c6f6f6863
d4 ff00edc0e4c09680 d5 000c000c000c000c
d6 03fc0378033000e0 d7 3f8000003f800000
d8 41c0000000000000 d9 000000a13f000000
d10 0000000000000000 d11 0000000000000000
d12 0000000000000000 d13 0000000000000000
d14 0000000000000000 d15 0000000000000000
d16 00ffffffffffffff d17 004c481a004aca6e
d18 004f4372004dc5c6 d19 00523eca0050c11e
d20 00f5403e00ef803c d21 0101404100fb403f
d22 0000004400000042 d23 0000004700000045
d24 010d404401074042 d25 0119404701134045
d26 0000004300000041 d27 0000004600000044
d28 00f5400000ef8000 d29 0101400000fb4000
d30 0000000100000001 d31 0000000100000001
scr 60000010
backtrace:
#00 pc 0001abe2 /system/lib/libc.so
#01 pc 00018208 /system/lib/libc.so (abort+4)
#02 pc 0066b8e0 /data/app-lib/com.company.project-2/libffmpeg-neon.so
#03 pc 000032b3 /system/bin/linker
#04 pc 0000510b /system/bin/linker
#05 pc 0004f973 /system/lib/libdvm.so (dvmLoadNativeCode(char const*, Object*, char**)+186)
#06 pc 0006681d /system/lib/libdvm.so
#07 pc 000276e0 /system/lib/libdvm.so
#08 pc 0002b5c4 /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+184)
#09 pc 0005fc79 /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+272)
#10 pc 0005fca3 /system/lib/libdvm.so (dvmCallMethod(Thread*, Method const*, Object*, JValue*, ...)+20)
#11 pc 0006ad49 /system/lib/libdvm.so (dvmInitClass+1036)
#12 pc 000225dc /system/lib/libdvm.so (dvmAsmSisterStart+412)
#13 pc 0002b5c4 /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+184)
#14 pc 0005ff4f /system/lib/libdvm.so (dvmInvokeMethod(Object*, Method const*, ArrayObject*, ArrayObject*, ClassObject*, bool)+374)
#15 pc 00067879 /system/lib/libdvm.so
#16 pc 000276e0 /system/lib/libdvm.so
#17 pc 0002b5c4 /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+184)
#18 pc 0005fc79 /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+272)
#19 pc 00049a43 /system/lib/libdvm.so
#20 pc 00047f43 /system/lib/libandroid_runtime.so
#21 pc 000492df /system/lib/libandroid_runtime.so (android::AndroidRuntime::start(char const*, char const*)+390)
#22 pc 00000db7 /system/bin/app_process
#23 pc 0001287f /system/lib/libc.so (__libc_init+38)
#24 pc 00000ae8 /system/bin/app_process
stack:
bebb9328 f930001d
bebb932c 5f7a1cc8
bebb9330 4015bcf8 /system/bin/linker
bebb9334 4015bf40 /system/bin/linker
bebb9338 4015c4f4
bebb933c 4015b0ac /system/bin/linker
bebb9340 401b2254 /system/lib/libc.so
bebb9344 401b21b4 /system/lib/libc.so
bebb9348 00000000
bebb934c 4018854d /system/lib/libc.so (_fwalk+32)
bebb9350 00000001
bebb9354 bebb936c [stack]
bebb9358 00000004
bebb935c 40d63400 [heap]
bebb9360 df0027ad
bebb
Since no app symbols are in output (no my methods in JNI code) how can i understand what's wrong? Is it missing .so lib that should be loaded before loading libffmpeg.so ?
Look at the address- DEADBAAD. Notice its in english? That means it was set that way purposely (the odds against it are astronomical). In particular its a value used by the JVM to overwrite pointers inside Java references that are no longer valid. So you're passing a value to C code that is no longer valid, or the C code is holding onto a reference without properly telling the VM it's doing so by incrementing its reference count. This can frequently be a result of a race condition if your code is multithreaded.
You can utilize ndk-stack tool provided by Android NDK.
The details can be found from NDK doc:
android-ndk-r10d\docs\Programmers_Guide\html\md_3__key__topics__debugging__n_d_k-_s_t_a_c_k.htm
This tool basically helps you convert the content in the memory into human-readable debug information. Sometimes, it is extremely helpful.
The following is copied from the NDK document:
The tool can convert the following information
I/DEBUG ( 31): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG ( 31): Build fingerprint: 'generic/google_sdk/generic/:2.2/FRF91/43546:eng/test-keys'
I/DEBUG ( 31): pid: 351, tid: 351 %gt;%gt;%gt; /data/local/ndk-tests/crasher <<<
I/DEBUG ( 31): signal 11 (SIGSEGV), fault addr 0d9f00d8
I/DEBUG ( 31): r0 0000af88 r1 0000a008 r2 baadf00d r3 0d9f00d8
I/DEBUG ( 31): r4 00000004 r5 0000a008 r6 0000af88 r7 00013c44
I/DEBUG ( 31): r8 00000000 r9 00000000 10 00000000 fp 00000000
I/DEBUG ( 31): ip 0000959c sp be956cc8 lr 00008403 pc 0000841e cpsr 60000030
I/DEBUG ( 31): #00 pc 0000841e /data/local/ndk-tests/crasher
I/DEBUG ( 31): #01 pc 000083fe /data/local/ndk-tests/crasher
I/DEBUG ( 31): #02 pc 000083f6 /data/local/ndk-tests/crasher
I/DEBUG ( 31): #03 pc 000191ac /system/lib/libc.so
I/DEBUG ( 31): #04 pc 000083ea /data/local/ndk-tests/crasher
I/DEBUG ( 31): #05 pc 00008458 /data/local/ndk-tests/crasher
I/DEBUG ( 31): #06 pc 0000d362 /system/lib/libc.so
I/DEBUG ( 31):
into the more readable output:
********** Crash dump: **********
Build fingerprint: 'generic/google_sdk/generic/:2.2/FRF91/43546:eng/test-keys'
pid: 351, tid: 351 >>> /data/local/ndk-tests/crasher <<<
signal 11 (SIGSEGV), fault addr 0d9f00d8
Stack frame #00 pc 0000841e /data/local/ndk-tests/crasher : Routine zoo in /tmp/foo/crasher/jni/zoo.c:13
Stack frame #01 pc 000083fe /data/local/ndk-tests/crasher : Routine bar in /tmp/foo/crasher/jni/bar.c:5
Stack frame #02 pc 000083f6 /data/local/ndk-tests/crasher : Routine my_comparison in /tmp/foo/crasher/jni/foo.c:9
Stack frame #03 pc 000191ac /system/lib/libc.so
Stack frame #04 pc 000083ea /data/local/ndk-tests/crasher : Routine foo in /tmp/foo/crasher/jni/foo.c:14
Stack frame #05 pc 00008458 /data/local/ndk-tests/crasher : Routine main in /tmp/foo/crasher/jni/main.c:19
Stack frame #06 pc 0000d362 /system/lib/libc.so

Categories

Resources