Android 6.0.1上的三星Galaxy S7 Edge上的EGL本机库崩溃

时间:2016-07-04 21:15:24

标签: android opengl-es-2.0 egl android-firmware

最近我得到了三星Galaxy S7的所有用户抱怨应用程序在启动时立即崩溃。我没有从Crashlytics获得关于这个问题的任何崩溃日志,这至少是奇怪的。但幸运的是,有些用户向Play商店报告了这些问题,我至少可以获得一些信息。

所以这里是来自Play商店开发者控制台的日志:

*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'samsung/hero2ltexx/hero2lte:6.0.1/MMB29K/G935FXXU1APF2:user/release-keys'
Revision: '9'
ABI: 'arm64'
pid: 18857, tid: 18900, name: GLThread 12749  >>> com.some.package <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x6b260
    x0   0000007fb17836c0  x1   0000007fb1783788  x2   0000000000000001  x3   0000000000000001
    x4   0000000000000000  x5   0000007f981afe50  x6   0000000000000000  x7   0000000000000000
    x8   0000000000000001  x9   0000007f9993a570  x10  0000000000000001  x11  0000000000000036
    x12  0000000000000001  x13  0000000000000000  x14  0000007f9a8ed000  x15  0000000000000000
    x16  0000007fa50afa40  x17  0000000000000000  x18  0000000000570000  x19  0000000000000000
    x20  000000000006b000  x21  0000000000000000  x22  0000007f981791c0  x23  0000000000000000
    x24  0000007fb17836c0  x25  0000007f9a8dc000  x26  0000007f981afd60  x27  0000000000000001
    x28  0000000000000000  x29  0000007f99939db0  x30  0000007fa3d50d74
    sp   0000007f99939d10  pc   0000007fa3d50bfc  pstate 0000000060000000

backtrace:
    #00 pc 0000000000645bfc  /system/vendor/lib64/egl/libGLES_mali.so (eglp_swap_buffers+248)
    #01 pc 000000000002cf6c  /system/lib64/libEGL.so (eglSwapBuffersWithDamageKHR+560)
    #02 pc 000000000009a5b8  /system/lib64/libandroid_runtime.so
    #03 pc 0000000003f17ad4  /system/framework/arm64/boot.oat (offset 0x2f34000)

这让我觉得问题是固件问题,因为:

  • 仅在S7 Edge上发生(尽管一旦发生在普通S7上)

  • EGL系统库上的堆栈跟踪点的最后4行

所以我的问题是:

  • 是否有可能找出触发问题的应用代码的哪一部分进行调用?
  • 有没有人得到相同/类似的问题并修好了?

提前致谢!

1 个答案:

答案 0 :(得分:0)

尝试使用数据渲染设置最终修改

final FloatBuffer tmpfbXYZ = actor.fbXYZ
glDrawArrays(GL_TRIANGLES,0, tmpfbXYZ);