마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

Android 10 에서만 Crash 되는 JNI Bug

0 추천

안녕하세요.
현재 안드로이드 APP 을 마켓에 올려 운용중입니다.
TargetSDK 는 28 이구요.
매번 발생하는 버그는 아니지만, 특정 상황에서 계속 나오는데 JNI 버그라 추적에 한계가 있어 도움 요청드립니다. 버그 발생 조건은 안드로이드 10 사용자 폰에서만 나타나고, 이러한 유형의 버그가 대부분 리포트 됩니다.아래 로그를 공유해 드리니 , 고수님들 확인 및 답변 부탁드립니다.

2020-05-22 11:50:07.945 28165-28165/? A/DEBUG: Build fingerprint: 'samsung/crownlteks/crownlteks:10/QP1A.190711.020/N960NKSU3DTC4:user/release-keys'
2020-05-22 11:50:07.945 28165-28165/? A/DEBUG: Revision: '28'
2020-05-22 11:50:07.945 28165-28165/? A/DEBUG: ABI: 'arm64'
2020-05-22 11:50:07.946 28165-28165/? A/DEBUG: Timestamp: 2020-05-22 11:50:07+0900
2020-05-22 11:50:07.946 28165-28165/? A/DEBUG: pid: 27215, tid: 27215, name: com.wgi.WebEye  >>> com.wgi.WebEye <<<
2020-05-22 11:50:07.946 28165-28165/? A/DEBUG: uid: 10316
2020-05-22 11:50:07.946 28165-28165/? A/DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x58
2020-05-22 11:50:07.946 28165-28165/? A/DEBUG: Cause: null pointer dereference
2020-05-22 11:50:07.946 28165-28165/? A/DEBUG:     x0  0000007b8562a1c0  x1  0000007fdf4611f4  x2  0000007b8562a1c0  x3  0000007c189d5000
2020-05-22 11:50:07.946 28165-28165/? A/DEBUG:     x4  0000007fdf462660  x5  0000007b917e98d1  x6  fefefefefefeff28  x7  0000000000000000
2020-05-22 11:50:07.946 28165-28165/? A/DEBUG:     x8  0000007b8562a1c8  x9  0000000000000058  x10 0000000000430000  x11 0000007b9255f448
2020-05-22 11:50:07.946 28165-28165/? A/DEBUG:     x12 0000007b9255f49c  x13 0000007b9255f4f0  x14 0000007b9255f550  x15 0000000000000000
2020-05-22 11:50:07.946 28165-28165/? A/DEBUG:     x16 0000007fdf4611e0  x17 0000000000000000  x18 00000000e357ca52  x19 0000007b8562a1c0
2020-05-22 11:50:07.946 28165-28165/? A/DEBUG:     x20 0000000000000000  x21 0000007c189d5000  x22 0000007fdf461430  x23 0000007b917e98d1
2020-05-22 11:50:07.946 28165-28165/? A/DEBUG:     x24 0000000000000008  x25 0000007c18b66020  x26 0000007c189d50b0  x27 0000000000000002
2020-05-22 11:50:07.946 28165-28165/? A/DEBUG:     x28 0000000000000000  x29 0000007fdf4611d0
2020-05-22 11:50:07.946 28165-28165/? A/DEBUG:     sp  0000007fdf4611c0  lr  0000000070dbd7ec  pc  0000007c13b5472c
2020-05-22 11:50:08.224 28165-28165/? A/DEBUG: backtrace:
2020-05-22 11:50:08.224 28165-28165/? A/DEBUG:       #00 pc 000000000018772c  /system/lib64/libandroid_runtime.so (android::BitmapWrapper::freePixels()+36) (BuildId: 97c11c0a9e40704eea4a584db87b34e1)
2020-05-22 11:50:08.224 28165-28165/? A/DEBUG:       #01 pc 00000000002b57e8  /system/framework/arm64/boot-framework.oat (art_jni_trampoline+152) (BuildId: fcb76646ea48e4d308246d1ab5a2459b6736c9be)
2020-05-22 11:50:08.224 28165-28165/? A/DEBUG:       #02 pc 00000000001375b8  /apex/com.android.runtime/lib64/libart.so (art_quick_invoke_static_stub+568) (BuildId: ec584647d25271b04c09c86864fab165)
2020-05-22 11:50:08.224 28165-28165/? A/DEBUG:       #03 pc 00000000001460cc  /apex/com.android.runtime/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+276) (BuildId: ec584647d25271b04c09c86864fab165)
2020-05-22 11:50:08.225 28165-28165/? A/DEBUG:       #04 pc 00000000002e3be8  /apex/com.android.runtime/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+384) (BuildId: ec584647d25271b04c09c86864fab165)
2020-05-22 11:50:08.225 28165-28165/? A/DEBUG:       #05 pc 00000000002dec74  /apex/com.android.runtime/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+900) (BuildId: ec584647d25271b04c09c86864fab165)
2020-05-22 11:50:08.225 28165-28165/? A/DEBUG:       #06 pc 00000000005a5340  /apex/com.android.runtime/lib64/libart.so (MterpInvokeStatic+368) (BuildId: ec584647d25271b04c09c86864fab165)
2020-05-22 11:50:08.225 28165-28165/? A/DEBUG:       #07 pc 0000000000131994  /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_static+20) (BuildId: ec584647d25271b04c09c86864fab165)
2020-05-22 11:50:08.225 28165-28165/? A/DEBUG:       #08 pc 00000000003ebfac  /system/framework/framework.jar (android.graphics.Bitmap.recycle+12)
2020-05-22 11:50:08.225 28165-28165/? A/DEBUG:       #09 pc 00000000005a2ab0  /apex/com.android.runtime/lib64/libart.so (MterpInvokeVirtual+1432) (BuildId: ec584647d25271b04c09c86864fab165)
2020-05-22 11:50:08.226 28165-28165/? A/DEBUG:       #10 pc 0000000000131814  /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_virtual+20) (BuildId: ec584647d25271b04c09c86864fab165)
2020-05-22 11:50:08.226 28165-28165/? A/DEBUG:       #11 pc 000000000007bb1e  [anon:dalvik-classes7.dex extracted in memory from /data/app/com.wgi.WebEye-ka6Kbe4-RzE5drumt3VFTA==/base.apk!classes7.dex] (com.wgi.WebEye.ActMonitor.onPause+102)
2020-05-22 11:50:08.226 28165-28165/? A/DEBUG:       #12 pc 00000000005a2ab0  /apex/com.android.runtime/lib64/libart.so (MterpInvokeVirtual+1432) (BuildId: ec584647d25271b04c09c86864fab165)
2020-05-22 11:50:08.226 28165-28165/? A/DEBUG:       #13 pc 0000000000131814  /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_virtual+20) (BuildId: ec584647d25271b04c09c86864fab165)

 

찬성정 (120 포인트) 님이 2020년 5월 22일 질문

1개의 답변

0 추천

다른 건 모르겠고, Cause: null pointer dereference인 걸로 봐서는, 레퍼런스를 해제하려다가 해당 instance가 null이 되어서 생기는 문제 같습니다. 액티비티나 프레그먼트가 종료될 때 널이 될 가능성이 있는 녀석이 있는지 확인해 보세요. 예를 들면 앱이 백그라운드에 있을 때 프로세스가 죽었다던가.

익명사용자 님이 2020년 5월 26일 답변
...