Native crash in unknown unknown
Asked Answered
M

2

7

I have an app which is entirely written in Java - no native code whatsoever - and I've twice had a crash report on the Developer Console "Native crash in unknown unknown". I have no idea where to start locating the source of the problem. Searching has only revealed this type of crash in the case of Android bugs, NDK usage or buggy third party libraries.

For what it's worth, here is one of the logs:

*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'samsung/m0xx/m0:4.3/JSS15J/I9300XXUGMJ9:user/release-keys'
Revision: '12'
pid: 2197, tid: 2197, name: .test.app >>> com.test.app <<<
signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
r0 fffffffc r1 bef3f3f8 r2 00000010 r3 ffffffff
r4 41619610 r5 00000000 r6 41619624 r7 000000fc
r8 41619658 r9 00000014 sl 418cc238 fp bef3f56c
ip bef3f3f8 sp bef3f3d8 lr 40115045 pc 401a1574 cpsr 280b0010
d0 0000000100110102 d1 0000000044a01000
d2 0000000000000000 d3 0000000000000000
d4 000002d044340000 d5 0000000042a40000
d6 0000000000000000 d7 000000003f800000
d8 0000000000000030 d9 4301000000000000
d10 0000000042400000 d11 0000000000000000
d12 0000000000000000 d13 0000000000000000
d14 0000000000000000 d15 0000000000000000
d16 00002bdd67c11c72 d17 0000000000000000
d18 0000000000000000 d19 2200220022002200
d20 0000000000000003 d21 0000000000000003
d22 0000000000000002 d23 0000000000000003
d24 2222222222222224 d25 2222222222222224
d26 2222222222222223 d27 ffffffffffffffff
d28 01000100010000fd d29 0100010001000100
d30 0100010001000100 d31 0100010001000100
scr 60000010

backtrace:
#00 pc 0001c574 /system/lib/libc.so (epoll_wait+12)
#01 pc 00015041 /system/lib/libutils.so (android::Looper::pollInner(int)+92)
#02 pc 00015261 /system/lib/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+92)
#03 pc 0006bd21 /system/lib/libandroid_runtime.so (android::NativeMessageQueue::pollOnce(_JNIEnv*, int)+22)
#04 pc 0001eb0c /system/lib/libdvm.so (dvmPlatformInvoke+112)
#05 pc 0004f457 /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+398)
#06 pc 00027fa0 /system/lib/libdvm.so
#07 pc 0002c9d0 /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+184)
#08 pc 0006176b /system/lib/libdvm.so (dvmInvokeMethod(Object*, Method const*, ArrayObject*, ArrayObject*, ClassObject*, bool)+350)
#09 pc 0006944b /system/lib/libdvm.so
#10 pc 00027fa0 /system/lib/libdvm.so
#11 pc 0002c9d0 /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+184)
#12 pc 000614ad /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+292)
#13 pc 0004b03b /system/lib/libdvm.so
#14 pc 0004f5e7 /system/lib/libandroid_runtime.so
#15 pc 00050277 /system/lib/libandroid_runtime.so (android::AndroidRuntime::start(char const*, char const*)+378)
#16 pc 0000105b /system/bin/app_process
#17 pc 0000dd03 /system/lib/libc.so (__libc_init+50)
#18 pc 00000d7c /system/bin/app_process

code around pc:
401a1554 e1a0700c e3700a01 912fff1e e2600000 
401a1564 ea007f30 e1a0c007 e3a070fc ef000000 
401a1574 e1a0700c e3700a01 912fff1e e2600000 
401a1584 ea007f28 e1a0c007 e3a07f4f ef000000 
401a1594 e1a0700c e3700a01 912fff1e e2600000 
401a15a4 ea007f20 e1a0c007 e59f7014 ef000000 
401a15b4 e1a0700c e3700a01 912fff1e e2600000 
401a15c4 ea007f18 0000013d e1a0c007 e59f7014 
401a15d4 ef000000 e1a0700c e3700a01 912fff1e 
401a15e4 e2600000 ea007f0f 0000013e e1a0c007 
401a15f4 e3a070a8 ef000000 e1a0700c e3700a01 
401a1604 912fff1e e2600000 ea007f06 e1a0c007 
401a1614 e3a07f59 ef000000 e1a0700c e3700a01 
401a1624 912fff1e e2600000 ea007efe e1a0c007 
401a1634 e59f7014 ef000000 e1a0700c e3700a01 
401a1644 912fff1e e2600000 ea007ef6 000f0005 

code around lr:
40115024 0848f104 46402500 f7fdaf08 2210fd8e 
40115034 46394633 6b2065e5 0614f104 eeaaf7f7 
40115044 46304681 feb6f7f8 da1245a9 ece6f7f7 
40115054 2f046807 f04fd102 e05637ff f06f4962 
40115064 4a620703 20056803 447a4479 ec52f7f7 
40115074 d048e04b a178f8df b178f8df 44fa4b5e 
40115084 447b44fb 01289305 583b1839 68e0688a 
40115094 d10c4282 d50307d9 f7ff4620 e02efdf1 
401150a4 20054a56 447a4659 ec34f7f7 4611e027 
401150b4 0034f104 92049303 ff0df7ff 99042800 
401150c4 db169b03 0101f003 bf48075a 0102f041 
401150d4 bf48071a 0104f041 6ba306db f041bf48 
401150e4 22140108 3300fb02 1d1a4620 ff5bf7ff 
401150f4 9100e005 99052005 f7f74652 3501ec0c 
40115104 dbc0454d f06fe7a7 f04f0702 f06f32ff 
40115114 e9c44300 f1042318 e02f0918 f7fc2001 

Any suggestions for my next steps? I have my own logfile but it's nothing like granular enough to have tracked this.

Mosstrooper answered 24/3, 2014 at 13:16 Comment(0)
C
6

Searching has only revealed this type of crash in the case of Android bugs, NDK usage or buggy third party libraries

The fourth scenario is buggy ROMs, whether those ROMs are stock ROMs from a manufacturer or are ROM mods (e.g., CyanogenMod). Once-in-a-blue-moon sorts of crashes like this are most likely to come from ROM issues, as otherwise you would run into them more often.

Any suggestions for my next steps?

For only a couple of users, I wouldn't necessarily worry.

Otherwise, the Build fingerprint will give you some idea of the environment you are working with. In this case, samsung/m0xx would appear to be the Samsung GT-I9300, one of their "Galaxy S3" variants. If you can get your hands on one of those -- whether via outright purchase, some online testing service, or borrowing from a friend -- you could see if you can reproduce the crash and narrow down where in your code the crash is coming from. If you can do that, perhaps you can come up with some workaround that either is fine for all devices, or at least gets you past the crash on this one.

Cooperation answered 4/4, 2014 at 8:43 Comment(1)
Thanks. Yes, it was on a device running Cyanogenmod; that device and the one I'm developing are UK Galaxy S3s on CM 10.1.3. So I'm a little surprised one user has seen this problem twice in a couple of days and no-one else has. Then again, there are only a handful of users (friends/family). I'd like it to work on that ROM if possible. Or at least, crash on my phone so I can maybe get a logcat and/or have some idea precisely what I was doing when it happened! For now I'll mark this as answered but I'll update this answer if I find anything more concrete (xkcd.com/979)Mosstrooper
F
2

The bug report tells a few thing

  • Build fingerprint: 'samsung/m0xx/m0:4.3/JSS15J/I9300XXUGMJ9:user/release-keys' It's an official Samsung ROM.
  • signal 6 (SIGABRT) There was probably an internal error in a native library.
  • #00 pc 0001c574 /system/lib/libc.so (epoll_wait+12) while waiting for a IO poll on an epoll file.
  • #03 pc 0006bd21 /system/lib/libandroid_runtime.so (android::NativeMessageQueue::pollOnce(_JNIEnv*, int)+22) originally from the Android message queue.

Bottom line: it's very hard to tell what's happening.

Firstrate answered 8/6, 2015 at 9:56 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.