01-17 16:47:24.648 9269-9269/com.face.imageclassify A/libc: Fatal signal 6 (SIGABRT), code -6 in tid 9269 (l.imageclassify)
[ 01-17 16:47:24.648 396: 396 W/ ]
debuggerd: handling request: pid=9269 uid=10265 gid=10265 tid=9269
01-17 16:47:24.649 1843-2091/? I/AppManager: removeProcessDependency pid:9269
01-17 16:47:24.694 1843-7932/? I/DownloadState: @@@@@@@@@@@@ uid :10265 download :true
01-17 16:47:24.694 1843-7932/? I/PGServer: report state:5 event type:1 pid:0 uid:10265 pkg:null to pid: 1189
01-17 16:47:24.722 9467-9467/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
01-17 16:47:24.722 9467-9467/? A/DEBUG: Build fingerprint: 'HUAWEI/NXT-DL00/HWNXT:7.0/HUAWEINXT-DL00/C17B592:user/release-keys'
01-17 16:47:24.722 9467-9467/? A/DEBUG: Revision: '0'
01-17 16:47:24.722 9467-9467/? A/DEBUG: ABI: 'arm'
01-17 16:47:24.722 9467-9467/? A/DEBUG: pid: 9269, tid: 9269, name: l.imageclassify >>> com.face.imageclassify <<<
01-17 16:47:24.722 9467-9467/? A/DEBUG: signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
01-17 16:47:24.728 9467-9467/? A/DEBUG: Abort message: 'art/runtime/java_vm_ext.cc:470] JNI DETECTED ERROR IN APPLICATION: java_array == null'
01-17 16:47:24.728 9467-9467/? A/DEBUG: r0 00000000 r1 00002435 r2 00000006 r3 00000008
01-17 16:47:24.728 9467-9467/? A/DEBUG: r4 ee90e58c r5 00000006 r6 ee90e534 r7 0000010c
01-17 16:47:24.728 9467-9467/? A/DEBUG: r8 eba7d494 r9 00000000 sl ff927464 fp eba69bec
01-17 16:47:24.729 9467-9467/? A/DEBUG: ip 0000000b sp ff927370 lr ecb8eeb7 pc ecb91720 cpsr 600b0010
01-17 16:47:24.741 9467-9467/? A/DEBUG: backtrace:
01-17 16:47:24.741 9467-9467/? A/DEBUG: #00 pc 0004a720 /system/lib/libc.so (tgkill+12)
01-17 16:47:24.741 9467-9467/? A/DEBUG: #01 pc 00047eb3 /system/lib/libc.so (pthread_kill+34)
01-17 16:47:24.741 9467-9467/? A/DEBUG: #02 pc 0001d955 /system/lib/libc.so (raise+10)
01-17 16:47:24.741 9467-9467/? A/DEBUG: #03 pc 000194a1 /system/lib/libc.so (__libc_android_abort+34)
01-17 16:47:24.741 9467-9467/? A/DEBUG: #04 pc 000170e4 /system/lib/libc.so (abort+4)
01-17 16:47:24.741 9467-9467/? A/DEBUG: #05 pc 0031b13d /system/lib/libart.so (_ZN3art7Runtime5AbortEv+252)
01-17 16:47:24.741 9467-9467/? A/DEBUG: #06 pc 000b4f77 /system/lib/libart.so (_ZN3art10LogMessageD2Ev+866)
01-17 16:47:24.742 9467-9467/? A/DEBUG: #07 pc 002393b1 /system/lib/libart.so (_ZN3art9JavaVMExt8JniAbortEPKcS2_+1584)
01-17 16:47:24.742 9467-9467/? A/DEBUG: #08 pc 0023967b /system/lib/libart.so (_ZN3art9JavaVMExt9JniAbortFEPKcS2_z+66)
01-17 16:47:24.742 9467-9467/? A/DEBUG: #09 pc 00282ee3 /system/lib/libart.so (_ZN3art3JNI17GetPrimitiveArrayIP12_jfloatArrayfNS_6mirror14PrimitiveArrayIfEEEEPT0_P7_JNIEnvT_Ph+550)
01-17 16:47:24.742 9467-9467/? A/DEBUG: #10 pc 0010af93 /data/app/com.face.imageclassify-1/lib/arm/libfaceall.so (Java_com_face_androidsdk_FaceCompare_nativeCompare+22)
01-17 16:47:24.742 9467-9467/? A/DEBUG: #11 pc 0086ae2d /data/app/com.face.imageclassify-1/oat/arm/base.odex (offset 0x811000)
在运行程序的时候出现了上述异常,导致程序崩溃。查看异常信息,没有抛出的java异常,只有这些信息。
查看上述异常信息,可以看到是libfaceall.so文件中的FaceCompare_nativeCompare方法出了问题。
后来查到是java代码调用.so文件里的本地方法时,java代码在给本地方法传参数时传的值为空,导致本地方法空指针,出现了上述问题。在java代码往本地方法传参数时先判断值是否为空,问题解决。