Timestamp: 2020-
pid: 2166, tid: 2901, name: PreviewHandlerT >>> com.xx.xx.xx.camera <<<
uid: 10122
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xb36aba84
r0 b53d5a90 r1 b36aba84 r2 0009013c r3 00000004
r4 b3693000 r5 b53bd000 r6 bdedc5a0 r7 b5cc77e0
r8 000a8c00 r9 00000000 r10 00000043 r11 ed916260
ip 80000000 sp b5cc7720 lr ed362c4b pc ed8bd190
backtrace:
#00 pc 0005d190 /apex/com.android.runtime/lib/bionic/libc.so (__memcpy_a53+96) (BuildId: d84af0b640b3e9d365f37fe8072558b3)
#01 pc 002d1c47 /apex/com.android.runtime/lib/libart.so (art::JNI::SetByteArrayRegion(_JNIEnv*, _jbyteArray*, int, int, signed char const*)+590) (BuildId: b06284ebb4ddee354945c7977e5cb53a)
#02 pc 000253ef /apex/com.android.runtime/lib/libjavacore.so (Memory_peekByteArray(_JNIEnv*, _jclass*, long long, _jbyteArray*, int, int)+16) (BuildId: 15b6830aa8530f94a40b9c6af537367e)
#03 pc 0004fff3 /system/framework/arm/boot-core-libart.oat (art_jni_trampoline+146) (BuildId: ce61d1917588b70a282de5eac66649f5fa15fdf7)
#04 pc 002851c5 /system/framework/arm/boot.oat (java.nio.DirectByteBuffer.get+316) (BuildId: ee588e7d0cf82483c0aa96d5df5a9318e77587d6)
#05 pc 004c3951 /system/priv-app/SamSungCamera2/oat/arm/SamSungCamera2.odex (com.android.camera.CaptureModule$36.onImageAvailable+624) (BuildId: 36b9cd93a7febbe1e93d5b7530d924b2acf3f051)
log中查看堆栈,是在 thread PreviewHandler 中crash了,具体的定位的点是
capturemodule.onImageAvaiable 中处理数据时,fault addr 0xb36aba84
libc.so (__memcpy_a53+96) 可以看出来是 内存对数据做操作时,报出来的异常
解决方案;
if(mPaused || mSessionClosed){
return;
}