Crash on Android Signal 11

Hi,

Recently I have pushed an update to my Android app with the newest libs and started to get some crash reports accompanied by 1 star ratings and bad reviews from users.
Here is a sample of the backtrace:

#00  pc 0002cbb4  /system/lib/libstlport.so (std::__node_alloc_impl::_M_allocate(unsigned int&)+47)
    #01  pc 000bfcd7  /system/vendor/lib/libsc-a3xx.so
    #02  pc 000d8b1b  /system/vendor/lib/libsc-a3xx.so
    #03  pc 000e8bcd  /system/vendor/lib/libsc-a3xx.so
    #04  pc 000eba59  /system/vendor/lib/libsc-a3xx.so
    #05  pc 00060abd  /system/vendor/lib/egl/libGLESv2_adreno.so (core_glCompileShader+348)
    #06  pc 00041bc3  /system/vendor/lib/egl/libGLESv2_adreno.so (glCompileShader+16)
    #07  pc 0002900d  /system/lib/libhwui.so
    #08  pc 00029219  /system/lib/libhwui.so
    #09  pc 00029e5d  /system/lib/libhwui.so
    #10  pc 00029ea9  /system/lib/libhwui.so
    #11  pc 0001f2e3  /system/lib/libhwui.so
    #12  pc 0002051f  /system/lib/libhwui.so
    #13  pc 0002059d  /system/lib/libhwui.so
    #14  pc 00015f45  /system/lib/libhwui.so
    #15  pc 000156af  /system/lib/libhwui.so
    #16  pc 000155a3  /system/lib/libhwui.so
    #17  pc 0001e2ff  /system/lib/libhwui.so
    #18  pc 0006c46d  /system/lib/libandroid_runtime.so
    #19  pc 00020d0c  /system/lib/libdvm.so (dvmPlatformInvoke+112)
    #20  pc 000519af  /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+398)
    #21  pc 0002a1a0  /system/lib/libdvm.so
    #22  pc 00031650  /system/lib/libdvm.so (dvmMterpStd(Thread*)+76)
    #23  pc 0002ece8  /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+184)
    #24  pc 000640f9  /system/lib/libdvm.so (dvmInvokeMethod(Object*, Method const*, ArrayObject*, ArrayObject*, ClassObject*, bool)+392)
    #25  pc 0006c05f  /system/lib/libdvm.so
    #26  pc 0002a1a0  /system/lib/libdvm.so
    #27  pc 00031650  /system/lib/libdvm.so (dvmMterpStd(Thread*)+76)
    #28  pc 0002ece8  /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+184)
    #29  pc 00063e15  /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+336)
    #30  pc 0004d597  /system/lib/libdvm.so
    #31  pc 000520df  /system/lib/libandroid_runtime.so

And another one:

 #00  pc 0036fb08  /system/vendor/lib/egl/libGLES_mali.so
    #01  pc 0036fc30  /system/vendor/lib/egl/libGLES_mali.so
    #02  pc 00394d98  /system/vendor/lib/egl/libGLES_mali.so
    #03  pc 00394e68  /system/vendor/lib/egl/libGLES_mali.so
    #04  pc 00392494  /system/vendor/lib/egl/libGLES_mali.so (glDrawArrays+48)
    #05  pc 00021bd5  /system/lib/libhwui.so
    #06  pc 00017e17  /system/lib/libhwui.so
    #07  pc 00015617  /system/lib/libhwui.so
    #08  pc 000154ff  /system/lib/libhwui.so
    #09  pc 0001e27f  /system/lib/libhwui.so
    #10  pc 0006c77d  /system/lib/libandroid_runtime.so
    #11  pc 0001ea0c  /system/lib/libdvm.so (dvmPlatformInvoke+112)
    #12  pc 0004ef8b  /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+398)
    #13  pc 00027e20  /system/lib/libdvm.so
    #14  pc 0002ee54  /system/lib/libdvm.so (dvmMterpStd(Thread*)+76)
    #15  pc 0002c4b8  /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+184)
    #16  pc 0006166d  /system/lib/libdvm.so (dvmInvokeMethod(Object*, Method const*, ArrayObject*, ArrayObject*, ClassObject*, bool)+392)
    #17  pc 0006969f  /system/lib/libdvm.so
    #18  pc 00027e20  /system/lib/libdvm.so
    #19  pc 0002ee54  /system/lib/libdvm.so (dvmMterpStd(Thread*)+76)
    #20  pc 0002c4b8  /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+184)
    #21  pc 00061389  /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+336)
    #22  pc 0004ab73  /system/lib/libdvm.so
    #23  pc 0005234b  /system/lib/libandroid_runtime.so
    #24  pc 000538df  /system/lib/libandroid_runtime.so (android::AndroidRuntime::start(char const*, char const*)+354)
    #25  pc 0000105b  /system/bin/app_process
    #26  pc 0000e45f  /system/lib/libc.so (__libc_init+50)
    #27  pc 00000d7c  /system/bin/app_process

Before the update I was not calling Haxe from Java with a HaxeObject, instead I was only asking Java for events and stuff because I had issues with HaxeObject. With this update I have decided to use HaxeObject and call back Haxe.
Ofcourse on my devices everything works fine. I don’t have any more details.
In most of the backtraces there is the call to ‘dvmCallJNIMethod’ so does it mean that the error is related to JNI?

Cheers

It’s hard to tell. Probably the best thing to do is remove your Java -> Haxe calls, publish that as an update, and see if that fixes everyone’s crashes.

(Personally, I tried to get HaxeObject to work, failed, and stuck with Haxe -> Java calls ever since.)