4

I had a production APK in the Play store, which was using a third party native library. I had 3 architectures in the jniLibs directory, namely armeabi, armeabi-v7a and x86.

I recently updated the build and removed the library using the native code (as I don't need that anymore). However, to my surprise, I observed random crashes on 64 bit devices, immediately after updating the application.

Following are the primary devices affected:

  • All 64 bit devices running Android 6.0 (Marshmallow) - Nexus 5X, Nexus 6P, HTC One M9, LG G4, Moto X Pure Edition
  • Samsung Galaxy S6 series running Android 5.1 (Lollipop)

And here is the crash trace on Android 6.0:

Build fingerprint: 'htc/himauhl_htc_europe/htc_himauhl:6.0/MRA58K/671758.12:user/release-keys'
Revision: '0'
ABI: 'arm64'
pid: 23807, tid: 23971, name: Chrome_InProcGp  >>> com.my.app <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x5594d38d40
    x0   0000005594534d40  x1   0000005594535710  x2   0000000000000000  x3   0000000000002460
    x4   00000055945371a0  x5   0000000000804000  x6   0000000000000000  x7   0000007f3ff19e58
    x8   0000000000000000  x9   0000005594534db0  x10  0000008400804000  x11  0000000000804000
    x12  0000005594d38d40  x13  0000000000000130  x14  0000000000000000  x15  00000000000009d0
    x16  0000007f750f34a8  x17  0000007f74d386e4  x18  0000007f3ff19e58  x19  0000000000000a48
    x20  0000005593d7eaa0  x21  0000000000000001  x22  0000005594534d40  x23  0000000000000001
    x24  0000000000000000  x25  00000000000007b4  x26  00000000000009d0  x27  0000007f74f1ecb8
    x28  0000005594535710  x29  0000007f3ff19ab0  x30  0000007f74d38de0
    sp   0000007f3ff19aa0  pc   0000007f74d38734  pstate 0000000060000000

backtrace:
    #00 pc 0000000000cef734  /system/vendor/lib64/libllvm-glnext.so (ShaderObjects::adjustSymbolPointers(char*, GLSL_SYMBOL*)+80)
    #01 pc 0000000000cefddc  /system/vendor/lib64/libllvm-glnext.so (ShaderObjects::loadProgramBinary(CompilerContext*, void*, unsigned long, QGLC_LINKPROGRAM_RESULT*)+812)
    #02 pc 0000000000c71e3c  /system/vendor/lib64/libllvm-glnext.so (CompilerContext::loadProgramBinary(void*, unsigned long, QGLC_LINKPROGRAM_RESULT*)+176)
    #03 pc 0000000000d05868  /system/vendor/lib64/libllvm-glnext.so (QGLCLoadProgramBinary(void*, void*, unsigned long, QGLC_LINKPROGRAM_RESULT*)+68)
    #04 pc 00000000001a4af0  /system/vendor/lib64/egl/libGLESv2_adreno.so (EsxShaderCompiler::LoadProgramBinaryBlob(EsxContext*, EsxProgram*, void const*, unsigned long, EsxInfoLog*)+144)
    #05 pc 000000000018d104  /system/vendor/lib64/egl/libGLESv2_adreno.so (EsxProgram::LoadProgramBinary(EsxContext*, unsigned int, void const*, int)+164)
    #06 pc 000000000012e608  /system/vendor/lib64/egl/libGLESv2_adreno.so (EsxContext::GlProgramBinary(unsigned int, unsigned int, void const*, int)+136)
    #07 pc 0000000000111a44  /system/vendor/lib64/egl/libGLESv2_adreno.so (glProgramBinary+68)
    #08 pc 00000000008372b4  /data/app/com.google.android.webview-1/lib/arm64/libwebviewchromium.so

And here is the crash trace on Samsung S6 devices (Android 5.1)

*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'samsung/zerofltexx/zeroflte:5.1.1/LMY47X/G920FXXU3COI9:user/release-keys'
Revision: '11'
ABI: 'arm64'
pid: 19133, tid: 19323, name: AsyncTask #8  >>> com.my.app <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x1c
    x0   0000000033441be0  x1   0000000000668837  x2   0000000000000068  x3   0000000000000006
    x4   0000000032d694c0  x5   0000000002cf95e0  x6   0000000033441be0  x7   0000007f831c8800
    x8   00000000711c5508  x9   0000000000000000  x10  0000000033441be0  x11  0000007f831c8610
    x12  0000000000000002  x13  00000000033263c0  x14  0000000002cf95e0  x15  0000000033441008
    x16  000000003fffffff  x17  000000000000005d  x18  0000007f2fcaf000  x19  000000000000005f
    x20  0000000033441be0  x21  0000000000000000  x22  0000000000000003  x23  0000000033441ac0
    x24  000000008a00af80  x25  0000000033441ba0  x26  0000000033441b20  x27  0000000033441b40
    x28  0000000033441b60  x29  0000000000000001  x30  0000007f72beb9ac
    sp   0000007f623ff450  pc   0000007f72beb9b0  pstate 0000000020000000

backtrace:
    #00 pc 00000000002e89b0  /data/dalvik-cache/arm64/data@app@com.my.app-2@base.apk@classes.dex
    #01 pc 00000000002e89a8  /data/dalvik-cache/arm64/data@app@com.my.app-2@base.apk@classes.dex

What could be the issue and how to rectify this?

Floern
  • 33,559
  • 24
  • 104
  • 119
user669231
  • 1,371
  • 3
  • 18
  • 27

0 Answers0