I have been struggling with my application's almost random crashes that declare("corrupt memory heap signal 6"). I took my logcat when it crashed and ran ndk-stack on it, and got the following results. What is frustrating is that there is no fault address and the libraries that are listed are system libraries.
Any insight on how to move forward with this? If it helps, my Android application simply uses an Intent to launch a Camera Capture activity. Once the Capture is done, it calls finish() and returns.
Thanks!
pid: 31136, tid: 31136, name: .testquickstart >>> com.example.testquickstart <<<
signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
Stack frame #00 pc 00021f90 /system/lib/libc.so (tgkill+12)
Stack frame #01 pc 00012fe1 /system/lib/libc.so (pthread_kill+48)
Stack frame #02 pc 000131f5 /system/lib/libc.so (raise+10)
Stack frame #03 pc 00011f2b /system/lib/libc.so
Stack frame #04 pc 00021844 /system/lib/libc.so (abort+4)
Stack frame #05 pc 00012a11 /system/lib/libc.so
Stack frame #06 pc 0000f11d /system/lib/libc.so
Stack frame #07 pc 000116eb /system/lib/libc.so (dlfree+1222)
Stack frame #08 pc 0000dc0b /system/lib/libc.so (free+10)
Stack frame #09 pc 0000d2dd /system/lib/libutils.so (android::SharedBuffer::dealloc(android::SharedBuffer const*)+6)
Stack frame #10 pc 0000f9ef /system/lib/libutils.so (android::VectorImpl::_shrink(unsigned int, unsigned int)+134)
Stack frame #11 pc 0000ae25 /system/lib/libinput.so (android::MotionEvent::initialize(int, int, int, int, int, int, int, float, float, float, float, long long, long long, unsigned int, an
droid::PointerProperties const*, android::PointerCoords const*)+116)
Stack frame #12 pc 0000f635 /system/lib/libinput.so (android::InputConsumer::initializeMotionEvent(android::MotionEvent*, android::InputMessage const*)+174)
Stack frame #13 pc 0000faeb /system/lib/libinput.so (android::InputConsumer::consume(android::InputEventFactoryInterface*, bool, long long, unsigned int*, android::InputEvent**)+282)
Stack frame #14 pc 00062ef5 /system/lib/libandroid_runtime.so (android::NativeInputEventReceiver::consumeEvents(_JNIEnv*, bool, long long, bool*)+80)
Stack frame #15 pc 000630f9 /system/lib/libandroid_runtime.so (android::NativeInputEventReceiver::handleEvent(int, int, void*)+52)
Stack frame #16 pc 000107bb /system/lib/libutils.so (android::Looper::pollInner(int)+478)
Stack frame #17 pc 00010869 /system/lib/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+92)
Stack frame #18 pc 0006a121 /system/lib/libandroid_runtime.so (android::NativeMessageQueue::pollOnce(_JNIEnv*, int)+22)
Stack frame #19 pc 0001dbcc /system/lib/libdvm.so (dvmPlatformInvoke+112)
Stack frame #20 pc 0004e123 /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+398)
Stack frame #21 pc 00026fe0 /system/lib/libdvm.so
Stack frame #22 pc 0002dfa0 /system/lib/libdvm.so (dvmMterpStd(Thread*)+76)
Stack frame #23 pc 0002b638 /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+184)
Stack frame #24 pc 00060865 /system/lib/libdvm.so (dvmInvokeMethod(Object*, Method const*, ArrayObject*, ArrayObject*, ClassObject*, bool)+392)
Stack frame #25 pc 000687c7 /system/lib/libdvm.so
Stack frame #26 pc 00026fe0 /system/lib/libdvm.so
Stack frame #27 pc 0002dfa0 /system/lib/libdvm.so (dvmMterpStd(Thread*)+76)
Stack frame #28 pc 0002b638 /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+184)
Stack frame #29 pc 00060581 /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+336)
Stack frame #30 pc 00049d0b /system/lib/libdvm.so
Stack frame #31 pc 0004cde7 /system/lib/libandroid_runtime.so