Родовой сбой неизвестного неизвестного

У меня есть приложение, которое полностью написано на Java – никакого собственного кода вообще – и у меня дважды был отчет о сбоях в консоли разработчика «Родной сбой неизвестного неизвестного». Я не знаю, с чего начать поиск источника проблемы. Поиск обнаружил только этот тип сбоев в случае ошибок Android, использования NDK или ошибок в сторонних библиотеках.

Для чего это стоит, вот один из журналов:

*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** 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 

Любые предложения для моих следующих шагов? У меня есть свой собственный файл журнала, но он не настолько гранулирован, чтобы отслеживать это.

Поиск выявил только этот тип сбоев в случае сбоев Android, использования NDK или ошибок в сторонних библиотеках

Четвертый сценарий – это жесткие ПЗУ, независимо от того, являются ли эти ПЗУ запасными ПЗУ от производителя или являются модулями ПЗУ (например, CyanogenMod). Когда-то в сине-лунном виде подобные сбои чаще всего возникают из-за проблем с ПЗУ, так как в противном случае вы столкнетесь с ними чаще.

Любые предложения для моих следующих шагов?

Только для нескольких пользователей я не стал бы волноваться.

В противном случае Build fingerprint даст вам некоторое представление о среде, с которой вы работаете. В этом случае samsung/m0xx будет выглядеть как Samsung GT-I9300, один из их вариантов «Galaxy S3». Если вы можете воспользоваться одним из них – будь то прямая покупка, какая-либо онлайн-служба тестирования или заимствование у друга – вы можете увидеть, можете ли вы воспроизвести крах и сузить место, где в вашем коде произошел сбой , Если вы можете это сделать, возможно, вы можете придумать какое-либо решение, которое либо подходит для всех устройств, либо, по крайней мере, приведет вас к краху на этом.

В отчете об ошибке сообщается несколько вещей

  • Build fingerprint: 'samsung/m0xx/m0:4.3/JSS15J/I9300XXUGMJ9:user/release-keys' Это официальный Samsung ROM.
  • signal 6 (SIGABRT) Вероятно, внутренняя ошибка была в собственной библиотеке.
  • #00 pc 0001c574 /system/lib/libc.so (epoll_wait+12) , ожидая опроса IO в файле epoll.
  • #03 pc 0006bd21 /system/lib/libandroid_runtime.so (android::NativeMessageQueue::pollOnce(_JNIEnv*, int)+22) изначально из очереди сообщений Android.

Итог: очень сложно сказать, что происходит.