我们有一个使用 PhotoEditor SDK 的 React Native 应用程序,它在添加文本时崩溃。它只发生在 Android 6.0 上,但不会发生在 4.4、5.0、7.0、8.0 和 8.1 上。我在模拟器中测试。
通过点击复选标记确认添加一些文本时。我看到了一个黑色背景的矩形,文本应该占据,然后警报“不幸的是,[我的应用程序]已停止。” 并且应用程序重新启动。
Logcat 显示...
06-28 16:55:49.206 5012-5012/com.myapp D/PESDK_EVENTS: current tool changed to: Text Options
06-28 16:55:49.248 5012-5012/com.myapp D/PESDK_EVENTS: add text
06-28 16:55:49.344 5012-5012/com.myapp D/PESDK_EVENTS: current tool changed to: Text Options
06-28 16:55:49.526 1222-1275/? D/gralloc_ranchu: gralloc_alloc: Creating ashmem region of size 151552
06-28 16:55:49.586 5012-5191/com.myapp D/FA: Connected to remote service
--------- beginning of crash
06-28 16:55:49.624 5012-5264/com.myapp A/libc: Fatal signal 11 (SIGSEGV), code 2, fault addr 0xe0ba8000 in tid 5264 (pool-14-thread-)
06-28 16:55:49.734 1314-1314/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'Android/sdk_google_phone_x86_64/generic_x86_64:6.0/MASTER/4729342:userdebug/test-keys'
Revision: '0'
ABI: 'x86'
pid: 5012, tid: 5264, name: pool-14-thread- >>> com.myapp <<<
signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 0xe0ba8000
06-28 16:55:49.753 1314-1314/? A/DEBUG: eax 00024ea0 ebx ea3edeb4 ecx 00006ba8 edx eab8cb1c
esi d8d8b000 edi e0ba8000
06-28 16:55:49.754 1314-1314/? A/DEBUG: xcs 00000023 xds 0000002b xes 0000002b xfs 0000019f xss 0000002b
eip ea3e7a38 ebp 003fffc4 esp d8d3e644 flags 00210202
06-28 16:55:49.759 1314-1314/? A/DEBUG: backtrace:
#00 pc 00002a38 /system/lib/libOpenglSystemCommon.so (goldfish_dma_write(goldfish_dma_context*, void*, unsigned int)+56)
#01 pc 00003853 /system/lib/libOpenglSystemCommon.so (ExtendedRCEncoderContext::lockAndWriteDma(void*, unsigned int)+67)
#02 pc 00003062 /system/lib/lib_renderControl_enc.so
#03 pc 0000314e /system/lib/hw/gralloc.ranchu.so
#04 pc 0000a351 /system/lib/libui.so (android::GraphicBufferMapper::unlockAsync(native_handle const*, int*)+113)
#05 pc 000086f1 /system/lib/libui.so (android::GraphicBuffer::unlockAsync(int*)+49)
#06 pc 0006bae6 /system/lib/libgui.so (android::Surface::unlockAndPost()+70)
#07 pc 000b6b00 /system/lib/libandroid_runtime.so
06-28 16:55:49.760 1314-1314/? A/DEBUG: #08 pc 72fd7746 /data/dalvik-cache/x86/system@framework@boot.oat (offset 0x1eb2000)
06-28 16:55:50.013 1314-1314/? A/DEBUG: Tombstone written to: /data/tombstones/tombstone_04
06-28 16:55:50.013 1314-1314/? E/DEBUG: AM write failed: Broken pipe
--------- beginning of system
06-28 16:55:50.014 1633-1658/system_process I/BootReceiver: Copying /data/tombstones/tombstone_04 to DropBox (SYSTEM_TOMBSTONE)
06-28 16:55:50.067 1633-5279/system_process W/ActivityManager: Force finishing activity com.myapp/ly.img.android.ui.activities.PhotoEditorActivity
06-28 16:55:50.168 1633-1643/system_process I/art: Background sticky concurrent mark sweep GC freed 22042(1614KB) AllocSpace objects, 11(1272KB) LOS objects, 20% free, 10MB/12MB, paused 1.532ms total 134.410ms
06-28 16:55:50.204 1764-2252/com.android.systemui D/EGL_emulation: eglMakeCurrent: 0x7f278d83dba0: ver 3 0 (tinfo 0x7f2784e0c7e0)
06-28 16:55:50.221 1633-3597/system_process I/OpenGLRenderer: Initialized EGL, version 1.4
06-28 16:55:50.227 1633-3597/system_process D/EGL_emulation: eglCreateContext: 0x7f277f848fe0: maj 3 min 0 rcv 3
06-28 16:55:50.230 1633-3597/system_process D/EGL_emulation: eglMakeCurrent: 0x7f277f848fe0: ver 3 0 (tinfo 0x7f278056cbe0)
06-28 16:55:50.231 1633-3597/system_process E/eglCodecCommon: glUtilsParamSize: unknow param 0x00008cdf
glUtilsParamSize: unknow param 0x00008824
...
有时,不知道如何,我看到这些其他日志是同一次崩溃......
06-27 14:29:29.440 5014-5159/com.myapp E/GLConsumer: [SurfaceTexture-20-5014-0] syncForReleaseLocked: error dup'ing native fence fd: 0x3000
06-27 14:29:29.441 5014-5159/com.myapp W/System.err: java.lang.RuntimeException: Error during updateTexImage (see logcat for details)
06-27 14:29:29.444 5014-5159/com.myapp W/System.err: at android.graphics.SurfaceTexture.nativeUpdateTexImage(Native Method)
at android.graphics.SurfaceTexture.updateTexImage(SurfaceTexture.java:240)
at ly.img.android.opengl.textures.GlCanvasTexture.updateTexture(GlCanvasTexture.java:110)
at ly.img.android.opengl.textures.GlCanvasTexture.bindTexture(GlCanvasTexture.java:144)
at ly.img.android.opengl.programs.GlProgramBase_StickerDraw.setUniformImage(GlProgramBase_StickerDraw.java:54)
at ly.img.android.opengl.programs.GlProgramStickerDraw.setUniformImage(GlProgramStickerDraw.java:27)
at ly.img.android.sdk.layer.TextGlLayer.onDrawLayer(TextGlLayer.java:675)
at ly.img.android.sdk.layer.base.GlLayer.glDrawLayer(GlLayer.java:76)
at ly.img.android.sdk.operator.preview.GlLayerOperation.doOperation(GlLayerOperation.java:225)
at ly.img.android.sdk.operator.preview.GlScreenOperation.doOperation(GlScreenOperation.java:37)
at ly.img.android.sdk.operator.preview.GlOperation.render(GlOperation.java:87)
at ly.img.android.sdk.operator.preview.GlScreenOperation.render(GlScreenOperation.java:47)
at ly.img.android.sdk.operator.preview.GlOperator.render(GlOperator.java:72)
at ly.img.android.sdk.layer.PictureGlLayer.onDrawLayer(PictureGlLayer.java:113)
at ly.img.android.sdk.layer.base.GlGround.onDrawFrame(GlGround.java:244)
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1535)
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
关于可能是问题以及如何解决的任何建议?