2014-03-24 4 views
6

전적으로 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 

어떤 제안 : 그것은 여기, 가치가 무엇인지에 대한

는 로그 중 하나입니까? 나 자신의 로그 파일을 가지고 있지만 이것을 추적 할만큼 세분화 된 것은 아무것도 없습니다.

답변

6

검색은 안드로이드 버그, NDK 사용 또는 버그 타사 라이브러리의 경우 충돌의 유형을 밝혀에만있다

네 번째 시나리오는 그 롬 증권 롬은 제조업체 여부, 버그 롬입니다 또는 ROM 모드 (예 : CyanogenMod). 이런 종류의 일회성 충돌은 ROM 문제에서 비롯 될 가능성이 가장 높습니다. 그렇지 않으면 더 자주 충돌하게됩니다.

내 다음 단계에 대한 제안 사항이 있습니까?

몇 명만해도 걱정할 필요가 없습니다.

그렇지 않은 경우 Build fingerprint은 작업 환경에 대한 정보를 제공합니다. 이 경우 samsung/m0xx은 "Galaxy S3"변형 중 하나 인 Samsung GT-I9300 인 것으로 보입니다. 철저한 구매, 온라인 테스트 서비스 또는 친구로부터의 빌려 오는 중 하나를 통해 손을 얻을 수있는 경우 충돌을 재현하고 코드에서 충돌이 발생하는 곳을 좁힐 수 있는지 확인할 수 있습니다. . 그렇게 할 수 있다면 아마도 모든 장치에서 문제가되지 않거나 적어도이 장치의 충돌을 지나치게 할 수있는 해결 방법을 생각해 낼 수 있습니다.

+0

감사합니다. 예, Cyanogenmod를 실행하는 장치에있었습니다. 그 장치와 내가 개발하고있는 장치는 CM 10.1.3의 UK Galaxy S3입니다. 그래서 저는 한 명의 사용자가 며칠 만에이 문제를 두 번이나 보았고 다른 누구도이 문제를 보지 않았다는 것에 조금 놀랐습니다. 그런 다음 다시 한 번 소수의 사용자 (친구/가족) 만 있습니다. 가능한 경우 해당 ROM에서 작업하고 싶습니다. 아니면 적어도, 내 전화에 충돌 그래서 어쩌면 logcat을 얻을 수 있고/또는 그것이 일어 났을 때 내가 뭘하고 있었는지 정확하게 생각할 수있다! 지금은 답변으로 표시 하겠지만 구체적인 내용 (https://xkcd.com/979/)이 있으면이 답변을 업데이트하겠습니다. –

2

버그 보고서는 공식 삼성 ROM의 몇 가지

  • Build fingerprint: 'samsung/m0xx/m0:4.3/JSS15J/I9300XXUGMJ9:user/release-keys' 에게 알려줍니다.
  • signal 6 (SIGABRT) 기본 라이브러리에 probably an internal error이 있습니다.
  • #00 pc 0001c574 /system/lib/libc.so (epoll_wait+12)waiting for a IO poll은 epoll 파일에 있습니다.
  • #03 pc 0006bd21 /system/lib/libandroid_runtime.so (android::NativeMessageQueue::pollOnce(_JNIEnv*, int)+22) 원래 Android 메시지 대기열에 있습니다.

결론 : 무슨 일이 일어 났는지 말하기는 매우 어렵습니다.

관련 문제