Nexus5X上的OpenGL崩溃

时间:2016-01-28 08:36:18

标签: android opengl-es android-6.0-marshmallow glsurfaceview nexus-5x

我的应用使用Android Camera API(旧版)和GLSurfaceView。

它可以在90%的设备上运行(我实际上在100种不同的型号上进行了测试!!!)但它在Nexus5X和Nexus6P上崩溃了。

我可以在logcat上看到以下错误:

W/Adreno-ES20: <core_glEGLImageTargetTexture2DOES:4550>: GL_INVALID_OPERATION

当我将Nexus5X崩溃报告发送到谷歌播放时,这就是我所看到的:

*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'google/bullhead/bullhead:6.0.1/MMB29P/2473553:user/release-keys'
Revision: 'rev_1.0'
ABI: 'arm'
pid: 6443, tid: 6530, name: GLThread 68  >>> com.my.app <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x3b8
    r0 00000010  r1 00000000  r2 00000000  r3 00000002
    r4 00001fbc  r5 80000000  r6 00000010  r7 00000000
    r8 00000000  r9 e11df2e0  sl 00000001  fp e11dd000
    ip de984270  sp e1844e3c  lr e9d4dbbd  pc e9dd6cf4  cpsr 80070030

backtrace:

    #00 pc 001b1cf4  /vendor/lib/egl/libGLESv2_adreno.so (EsxGfxMem::UpdateTimestampBucketId(EsxContext const*, unsigned int, EsxAccessType)+27)
    #01 pc 00128bb9  /vendor/lib/egl/libGLESv2_adreno.so (EsxContext::BucketRenderingCmds()+592)
    #02 pc 000dc2d9  /vendor/lib/egl/libGLESv2_adreno.so (EsxContext::BucketClearCmds(unsigned int*)+72)
    #03 pc 000dff89  /vendor/lib/egl/libGLESv2_adreno.so (EsxContext::ClearDirectly(EsxBltFill*, EsxColorClearData*, EsxBltDepthFill*, EsxBltDepthFill*)+3596)
    #04 pc 000e034d  /vendor/lib/egl/libGLESv2_adreno.so (EsxContext::ClearInternal(EsxBltFill*, EsxColorClearData*, EsxBltDepthFill*, EsxBltDepthFill*)+80)
    #05 pc 000e05ab  /vendor/lib/egl/libGLESv2_adreno.so (EsxContext::Clear(unsigned int, unsigned int, unsigned int, EsxClearValues*)+446)
    #06 pc 000c7f83  /vendor/lib/egl/libGLESv2_adreno.so (EsxContext::GlClear(unsigned int)+58)
    #07 pc 72104d39  /data/dalvik-cache/arm/system@framework@boot.oat (offset 0x1ec9000)

崩溃本身发生在glFinish();上(我需要将我的一半项目放在这里以提供更多细节)。

有人能告诉我问题在哪里或我该如何解决?

0 个答案:

没有答案