添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

OpenGL内存泄漏引发的血案

OpenGL内存泄漏引发的血案

前言

在写正文之前笔者想说一下因为OpenGL的内存问题我是整整REVIEW&TEST了两周之久,在这里吐槽一下RK的工程师,申请完内存之后请注意回收!回收!回收!重要的事情说三遍!

OpenGL内存泄漏问题分析一:glGenTextures引发的内存泄漏

好了不吐槽了,现在开始步入正文,此次笔者遇到的OpenGL的内存泄漏问题有两处,一处是使用OpenGL渲染本地图片的时候频繁调用glGenTextures()用于产出textureId,代码如下:

public int createTextureObjectFromBitmap(int defaultId, Bitmap bitmap) {
    //之前没有复用textureId,会导致内存泄漏
    if (defaultId == 0) {
        final int[] textureObjectIds = new int[1];
        GLES20.glGenTextures(1, textureObjectIds, 0);
        textureId = textureObjectIds[0];
    if (textureId == 0) {
        Log.e(TAG, "Could not generate a new OpenGL texture object!");
        return 0;
    if (bitmap != null && !bitmap.isRecycled()) {
        GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, textureId);
        GLES20.glTexParameterf(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_MIN_FILTER, GLES20.GL_NEAREST);
        GLES20.glTexParameterf(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_MAG_FILTER, GLES20.GL_LINEAR);
        GLES20.glTexParameterf(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_WRAP_S, GLES20.GL_CLAMP_TO_EDGE);
        GLES20.glTexParameterf(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_WRAP_T, GLES20.GL_CLAMP_TO_EDGE);
        //根据以上指定的参数,生成一个2D纹理
        //第一个参数指定了纹理目标(Target)。设置为GL_TEXTURE_2D意味着会生成与当前绑定的纹理对象在同一个目标上的纹理(任何绑定到GL_TEXTURE_1D和GL_TEXTURE_3D的纹理不会受到影响)。
        //第二个参数为纹理指定多级渐远纹理的级别,如果你希望单独手动设置每个多级渐远纹理的级别的话。这里我们填0,也就是基本级别。
        //第三个参数告诉OpenGL我们希望把纹理储存为何种格式。我们的图像只有RGB值,因此我们也把纹理储存为RGB值。
        //第四个和第五个参数设置最终的纹理的宽度和高度。我们之前加载图像的时候储存了它们,所以我们使用对应的变量。
        //下个参数应该总是被设为0(历史遗留问题)。
        //第七第八个参数定义了源图的格式和数据类型。我们使用RGB值加载这个图像,并把它们储存为char(byte)数组,我们将会传入对应值。
        //最后一个参数是真正的图像数据。
        GLUtils.texImage2D(GLES20.GL_TEXTURE_2D, 0, bitmap, 0);
        bitmap.recycle();
        return textureId;
    return 0;
}

看上面的代码发现GLES20.glGenTextures(1, textureObjectIds, 0)进行了复用,因为如果不复用会出现持续创建的问题,导致内存持续飙升,直到OOM,为什么会持续飙升呢?因为笔者在使用完纹理之后没有删除纹理,所以需要使用glDeleteTexture()来删除不使用的纹理。

OpenGL内存泄漏问题分析二:GraphicBuffer引发的内存泄漏

首先来看两段log:
第一段:

08-31 17:34:36.352 11595 11595 D PluLog:CameraSurfaceRender.getCameraStatus(Line:472): Get camera status: PREPARED
08-31 17:34:36.354 11595 11595 W PluLog:AirService.checkFloatView(Line:254): The camera status is prepared, skipRelease: false
08-31 17:34:36.371  2376 14751 D CameraHal: cameraStream(515): cameraStream(515):on = 1
08-31 17:34:36.376 11595 14737 D mali_so : #00 pc 000000000056721c  /vendor/lib64/egl/libGLES_mali.so
08-31 17:34:36.376 11595 14737 D mali_so : #01 pc 000000000056fc18  /vendor/lib64/egl/libGLES_mali.so
08-31 17:34:36.376 11595 14737 D mali_so : #02 pc 0000000000563d64  /vendor/lib64/egl/libGLES_mali.so
08-31 17:34:36.376 11595 14737 D mali_so : #03 pc 00000000005665ac  /vendor/lib64/egl/libGLES_mali.so
08-31 17:34:36.376 11595 14737 D mali_so : #04 pc 00000000008d0608  /system/framework/arm64/boot-framework.oat (offset 0x614000)
08-31 17:34:36.377 11595 14737 E Parcel  : fcntl(F_DUPFD_CLOEXEC) failed in Parcel::read, i is 1, fds[i] is -1, fd_count is 3, error: Too many open files
08-31 17:34:36.377 11595 14737 E Surface : dequeueBuffer: IGraphicBufferProducer::requestBuffer failed: -22
......
08-31 17:34:56.448 11595 11698 W GraphicBufferMapper: importBuffer(0x7c8f0b3d80) failed: 5
08-31 17:34:56.448 11595 11698 E GraphicBuffer: unflatten: registerBuffer failed: Unknown error -5 (5)
08-31 17:34:56.448 11595 11698 E Surface : dequeueBuffer: IGraphicBufferProducer::requestBuffer failed: 5
08-31 17:34:56.450 11595 11698 F OpenGLRenderer: Failed to set damage region on surface 0x7c90278180, error=EGL_BAD_ACCESS
08-31 17:34:56.451   411 14795 D NuPlayerDriver: notifyListener_l(0xef127af0), (1, 0, 0, -1), loop setting(0, 0)
08-31 17:34:56.453   411  7699 D NuPlayerDriver: NuPlayerDriver(0xef127a10) created, clientPid(2388)
--------- beginning of crash
08-31 17:34:56.453 11595 11698 F libc    : Fatal signal 6 (SIGABRT), code -6 in tid 11698 (RenderThread), pid 11595 (om.qtimes.wonly)
08-31 17:34:56.469   408   408 E ffmExtractor: Cannot load library libffmpeg_utils.so dlerror = dlopen failed: library "libffmpeg_utils.so" not found
08-31 17:34:56.469   408   408 E ffmExtractor: lib open failed
08-31 17:34:56.475   411 14797 D NuPlayerDriver: notifyListener_l(0xef127a10), (1, 0, 0, -1), loop setting(0, 0)
08-31 17:34:56.477   411  7699 D NuPlayerDriver: NuPlayerDriver(0xef127c40) created, clientPid(2388)
08-31 17:34:56.489   408   408 E ffmExtractor: Cannot load library libffmpeg_utils.so dlerror = dlopen failed: library "libffmpeg_utils.so" not found
08-31 17:34:56.489   408   408 E ffmExtractor: lib open failed
08-31 17:34:56.498   411 14800 D NuPlayerDriver: notifyListener_l(0xef127c40), (1, 0, 0, -1), loop setting(0, 0)
08-31 17:34:56.503  2388  4676 I CameraHardwareInterface: Opening camera 0
08-31 17:34:56.504  2376  2376 I CamDev@1.0-impl: Opening camera 0
08-31 17:34:56.504  2376  2376 D CameraHal: camera_get_camera_info(1456): camera_get_camera_info(1456): camera_0 facing(0), orientation(0)
08-31 17:34:56.504  2376  2376 I CameraHal: camera_device_open(576): camera_device open
08-31 17:34:56.504  2376  2376 D CameraHal: gCameraHalLogLevel: 0
08-31 17:34:56.504  2376  2376 D vndksupport: Loading /vendor/lib/hw/gralloc.rk30board.so from current namespace instead of sphal namespace.
08-31 17:34:56.506  2376  2376 D CameraHal: CameraHal(116): it is a uvc camera!
08-31 17:34:56.506  2376  2376 D CameraHal: getCallingProcess(83): Calling process from sys.camera.callprocess is: com.qtimes.wonly
08-31 17:34:56.506  2376  2376 D CameraHal: getCallingProcess(83): Calling process from sys.camera.callprocess is: com.qtimes.wonly
08-31 17:34:56.604  2376  2376 D CameraHal: cameraCreate(391): Camera driver: uvcvideo  Card Name:USB Camera  Driver version: 4.4.189  CameraHal version: 1.81.13 
08-31 17:34:56.604  2376  2376 D CameraHal: cameraCreate(398): mCamDriverSupportFmt: fmt = 1448695129(YUYV 4:2:2),index = 0
08-31 17:34:56.604  2376  2376 D CameraHal: cameraCreate(398): mCamDriverSupportFmt: fmt = 1196444237(Motion-JPEG),index = 1
08-31 17:34:56.604  2376  2376 D CameraHal: cameraCreate(436): cameraCreate(436): mCamDriverPreviewFmt(MJPG) is cameraHal and camera driver is also supported!!
08-31 17:34:56.604  2376  2376 D CameraHal: cameraCreate(438): mCamDriverPreviewFmt  = 1196444237
08-31 17:34:56.604  2376  2376 D CameraHal: cameraCreate(444): cameraCreate(444): Current driver is uvcvideo, v4l2 memory is V4L2_MEMORY_MMAP
08-31 17:34:56.608  2376  2376 E CameraHal: initDefaultParameters(524): initDefaultParameters(524): mCamDriverCapability.card is error!
08-31 17:34:56.609  2376  2376 D CameraHal: initDefaultParameters(589): Support video sizes:(null)
08-31 17:34:56.609  2376  2376 D CameraHal: initDefaultParameters(604): Support Preview format: yuv420sp,yuv420p .. yuv420sp
08-31 17:34:56.609  2376  2376 D CameraHal: initDefaultParameters(606): Support Preview sizes: 640x480,320x240,320x180,1280x720,960x540,848x480,640x360,424x240,1920x1080     640x480
08-31 17:34:56.609  2376  2376 D CameraHal: initDefaultParameters(607): Support Preview FPS range: (15000,15000),(30000,30000)
08-31 17:34:56.609  2376  2376 D CameraHal: initDefaultParameters(608): Support Preview framerate: 10,15,20,30
08-31 17:34:56.609  2376  2376 D CameraHal: initDefaultParameters(609): Support Picture sizes: 640x480,320x240,320x180,1280x720,960x540,848x480,640x360,424x240,1920x1080 
08-31 17:34:56.609  2376  2376 D CameraHal: initDefaultParameters(611): Support white balance: auto,incandescent,fluorescent,daylight,cloudy-daylight
08-31 17:34:56.609  2376  2376 D CameraHal: initDefaultParameters(613): Support color effect: none,mono,sepia
08-31 17:34:56.609  2376  2376 D CameraHal: initDefaultParameters(619): Support focus: fixed  focus zone: 0
08-31 17:34:56.609  2376  2376 D CameraHal: initDefaultParameters(621): Support zoom: true(ratios: 100,105,110,115,120,125,130,135,140,145,150,155,160,165,170,175,180,185,190,195,200,205,210,215,220,225,230,235,240,245,250,255,260,265,270,275,280,285,290,295,300,)
08-31 17:34:56.609  2376  2376 D CameraHal: initDefaultParameters(625): Support exposure: (-3 -> 3)
08-31 17:34:56.609  2376  2376 D CameraHal: initDefaultParameters(629): Support anti-banding: off,50hz,60hz,auto  anti-banding: off
08-31 17:34:56.609  2376  2376 D CameraHal: initDefaultParameters(631): Support hardware faces detecte: 2
08-31 17:34:56.609  2376  2376 D CameraHal: initDefaultParameters(632): Support software faces detecte: 0
08-31 17:34:56.609  2376  2376 D CameraHal: initDefaultParameters(633): Support video stabilization: false
08-31 17:34:56.609  2376  2376 D CameraHal: initDefaultParameters(634): Support recording hint: false
08-31 17:34:56.611  2376  2376 D CameraHal: cameraConfig(766): cameraConfig(766): Set framerate(30 fps) success
08-31 17:34:56.613  2376  2376 D CameraHal: cameraConfig(809): cameraConfig(809): Set white balance(auto) success
08-31 17:34:56.613  2376  2376 E CameraHal: cameraConfig(839): cameraConfig(839): Set effect(none) fail
08-31 17:34:56.614  2376  2376 D CameraHal: cameraConfig(886): cameraConfig(886): Set anti-banding Disabled 
08-31 17:34:56.614  2376  2376 D CameraHal: cameraConfig(967): cameraConfig(967): Set exposure 0    0
08-31 17:34:56.615  2376  2376 D CameraHal: isNeedToRestartPreview(164): mPreviewFrame2AppW (640x480)
08-31 17:34:56.615  2376  2376 D CameraHal: isNeedToRestartPreview(165): mCamPreviewW (1280x720)
08-31 17:34:56.615  2376  2376 D CameraHal: isNeedToRestartPreview(166): video width (640x480)
08-31 17:34:56.632 14808 14808 I crash_dump64: obtaining output fd from tombstoned, type: kDebuggerdTombstone
08-31 17:34:56.633   419   419 I /system/bin/tombstoned: received crash request for pid 11595
08-31 17:34:56.634 14808 14808 I crash_dump64: performing dump of process 11595 (target tid = 11698)
08-31 17:34:56.635 14808 14808 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
08-31 17:34:56.635 14808 14808 F DEBUG   : Build fingerprint: 'rockchip/rk3399pro/rk3399pro:8.1.0/OPM8.190405.001/081226:userdebug/test-keys'
08-31 17:34:56.635 14808 14808 F DEBUG   : Revision: '0'
08-31 17:34:56.635 14808 14808 F DEBUG   : ABI: 'arm64'
08-31 17:34:56.635 14808 14808 F DEBUG   : pid: 11595, tid: 11698, name: RenderThread  >>> com.qtimes.wonly <<<
08-31 17:34:56.635 14808 14808 F DEBUG   : signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
08-31 17:34:56.640 14808 14808 F DEBUG   : Abort message: 'Failed to set damage region on surface 0x7c90278180, error=EGL_BAD_ACCESS'
08-31 17:34:56.640 14808 14808 F DEBUG   :     x0   0000000000000000  x1   0000000000002db2  x2   0000000000000006  x3   0000000000000008
08-31 17:34:56.640 14808 14808 F DEBUG   :     x4   0000000000000000  x5   0000000000000000  x6   0000000000000000  x7   7f7f7f7f7f7f7f7f
08-31 17:34:56.640 14808 14808 F DEBUG   :     x8   0000000000000083  x9   0000000010000000  x10  0000007c930526a0  x11  0000000000000001
08-31 17:34:56.640 14808 14808 F DEBUG   :     x12  0000007c930527c0  x13  ffffffffffffffff  x14  ff00000000000000  x15  ffffffffffffffff
08-31 17:34:56.640 14808 14808 F DEBUG   :     x16  000000620bed4fa8  x17  0000007d32f0552c  x18  0000007c8f001010  x19  0000000000002d4b
08-31 17:34:56.640 14808 14808 F DEBUG   :     x20  0000000000002db2  x21  0000000000000083  x22  0000007ca71f1fb0  x23  0000007c90d8abd8
08-31 17:34:56.640 14808 14808 F DEBUG   :     x24  0000007c90d86e88  x25  0000007c90d86e1c  x26  0000007c930531f8  x27  0000007c930531e0
08-31 17:34:56.640 14808 14808 F DEBUG   :     x28  0000007c93053300  x29  0000007c930526e0  x30  0000007d32eba760
08-31 17:34:56.640 14808 14808 F DEBUG   :     sp   0000007c930526a0  pc   0000007d32eba788  pstate 0000000060000000
08-31 17:34:56.680 14808 14808 F DEBUG   : 
08-31 17:34:56.680 14808 14808 F DEBUG   : backtrace:
08-31 17:34:56.680 14808 14808 F DEBUG   :     #00 pc 000000000001d788  /system/lib64/libc.so (abort+120)
08-31 17:34:56.680 14808 14808 F DEBUG   :     #01 pc 0000000000007f08  /system/lib64/liblog.so (__android_log_assert+296)
08-31 17:34:56.680 14808 14808 F DEBUG   :     #02 pc 000000000006c6a0  /system/lib64/libhwui.so (android::uirenderer::renderthread::EglManager::damageFrame(android::uirenderer::renderthread::Frame const&, SkRect const&)+184)
08-31 17:34:56.680 14808 14808 F DEBUG   :     #03 pc 00000000000695b0  /system/lib64/libhwui.so (android::uirenderer::renderthread::OpenGLPipeline::draw(android::uirenderer::renderthread::Frame const&, SkRect const&, SkRect const&, android::uirenderer::FrameBuilder::LightGeometry const&, android::uirenderer::LayerUpdateQueue*, android::uirenderer::Rect const&, bool, bool, android::uirenderer::BakedOpRenderer::LightInfo const&, std::__1::vector<android::sp<android::uirenderer::RenderNode>, std::__1::allocator<android::sp<android::uirenderer::Render
08-31 17:34:56.681 14808 14808 F DEBUG   :     #04 pc 000000000006780c  /system/lib64/libhwui.so (android::uirenderer::renderthread::CanvasContext::draw()+184)
08-31 17:34:56.681 14808 14808 F DEBUG   :     #05 pc 000000000006b47c  /system/lib64/libhwui.so (android::uirenderer::renderthread::DrawFrameTask::run()+180)
08-31 17:34:56.681 14808 14808 F DEBUG   :     #06 pc 0000000000072a48  /system/lib64/libhwui.so (android::uirenderer::renderthread::RenderThread::threadLoop()+336)
08-31 17:34:56.681 14808 14808 F DEBUG   :     #07 pc 0000000000011478  /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+280)
08-31 17:34:56.681 14808 14808 F DEBUG   :     #08 pc 00000000000a98c4  /system/lib64/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+140)
08-31 17:34:56.681 14808 14808 F DEBUG   :     #09 pc 0000000000067d80  /system/lib64/libc.so (__pthread_start(void*)+36)
08-31 17:34:56.681 14808 14808 F DEBUG   :     #10 pc 000000000001ec18  /system/lib64/libc.so (__start_thread+68)
08-31 17:34:58.556   419   419 E /system/bin/tombstoned: Tombstone written to: /data/tombstones/tombstone_03

第二段:

08-31 16:59:33.110  3967  7974 E GLConsumer: [SurfaceTexture-4-3967-100] syncForReleaseLocked: error dup'ing native fence fd: 0x3000
08-31 16:59:33.111  3967  4075 E Parcel  : fcntl(F_DUPFD_CLOEXEC) failed in Parcel::read, i is 0, fds[i] is -1, fd_count is 1, error: Too many open files
08-31 16:59:33.111  3967  4075 F OpenGLRenderer: Failed to set damage region on surface 0x7c851f03c0, error=EGL_BAD_ACCESS
08-31 16:59:33.112  2376  7992 E CameraHal: reprocessFrame(1031): ret = 0 input_width = 1280 input_height = 720
--------- beginning of crash
08-31 16:59:33.114  3967  4075 F libc    : Fatal signal 6 (SIGABRT), code -6 in tid 4075 (RenderThread), pid 3967 (<unknown>)
08-31 16:59:33.116   285   513 E BufferQueueProducer: [SurfaceView - #0] disconnect: not connected (req=1)
08-31 16:59:33.116  3967  7974 W libEGL  : EGLNativeWindowType 0x7c94e52010 disconnect failed
08-31 16:59:33.125  2376  7982 D vndksupport: Loading /vendor/lib/hw/gralloc.rk30board.so from current namespace instead of sphal namespace.
08-31 16:59:33.142  2376  7992 E CameraHal: reprocessFrame(1031): ret = 0 input_width = 1280 input_height = 720
08-31 16:59:33.155  3967  7974 E AndroidRuntime: FATAL EXCEPTION: GLThread 644
08-31 16:59:33.155  3967  7974 E AndroidRuntime: Process: com.qtimes.wonly, PID: 3967
08-31 16:59:33.155  3967  7974 E AndroidRuntime: java.lang.RuntimeException: Error during updateTexImage (see logcat for details)
08-31 16:59:33.155  3967  7974 E AndroidRuntime:    at android.graphics.SurfaceTexture.nativeUpdateTexImage(Native Method)
08-31 16:59:33.155  3967  7974 E AndroidRuntime:    at android.graphics.SurfaceTexture.updateTexImage(SurfaceTexture.java:243)
08-31 16:59:33.155  3967  7974 E AndroidRuntime:    at com.qtimes.npucore.ssd.CameraSurfaceRender.onDrawFrame(CameraSurfaceRender.java:171)
08-31 16:59:33.155  3967  7974 E AndroidRuntime:    at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1571)
08-31 16:59:33.155  3967  7974 E AndroidRuntime:    at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1270)
08-31 16:59:33.155  2376  7982 D vndksupport: Loading /vendor/lib/hw/gralloc.rk30board.so from current namespace instead of sphal namespace.
08-31 16:59:33.174  2376  7992 E CameraHal: reprocessFrame(1031): ret = 0 input_width = 1280 input_height = 720
08-31 16:59:33.176  3967  7975 D ServerManager: notifyPersonExist: true
08-31 16:59:33.187  2376  7982 D vndksupport: Loading /vendor/lib/hw/gralloc.rk30board.so from current namespace instead of sphal namespace.
08-31 16:59:33.188   480  2440 I WifiService: getWifiEnabledState uid=10048
08-31 16:59:33.196   480  2440 E memtrack: Couldn't load memtrack module
08-31 16:59:33.196   480  2440 W android.os.Debug: failed to get memory consumption info: -1
08-31 16:59:33.210  2376  7992 E CameraHal: reprocessFrame(1031): ret = 0 input_width = 1280 input_height = 720
08-31 16:59:33.222  2376  7982 D vndksupport: Loading /vendor/lib/hw/gralloc.rk30board.so from current namespace instead of sphal namespace.
08-31 16:59:33.242  2376  7992 E CameraHal: reprocessFrame(1031): ret = 0 input_width = 1280 input_height = 720
08-31 16:59:33.278  2376  7992 E CameraHal: reprocessFrame(1031): ret = 0 input_width = 1280 input_height = 720
08-31 16:59:33.280  7997  7997 I crash_dump64: obtaining output fd from tombstoned, type: kDebuggerdTombstone
08-31 16:59:33.281   419   419 I /system/bin/tombstoned: received crash request for pid 3967
08-31 16:59:33.282  7997  7997 I crash_dump64: performing dump of process 3967 (target tid = 4075)
08-31 16:59:33.283  7997  7997 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
08-31 16:59:33.283  7997  7997 F DEBUG   : Build fingerprint: 'rockchip/rk3399pro/rk3399pro:8.1.0/OPM8.190405.001/081226:userdebug/test-keys'
08-31 16:59:33.283  7997  7997 F DEBUG   : Revision: '0'
08-31 16:59:33.283  7997  7997 F DEBUG   : ABI: 'arm64'
08-31 16:59:33.283  7997  7997 F DEBUG   : pid: 3967, tid: 4075, name: RenderThread  >>> com.qtimes.wonly <<<
08-31 16:59:33.283  7997  7997 F DEBUG   : signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
08-31 16:59:33.287  7997  7997 F DEBUG   : Abort message: 'Failed to set damage region on surface 0x7c851f03c0, error=EGL_BAD_ACCESS'
08-31 16:59:33.287  7997  7997 F DEBUG   :     x0   0000000000000000  x1   0000000000000feb  x2   0000000000000006  x3   0000000000000008
08-31 16:59:33.287  7997  7997 F DEBUG   :     x4   0000000000000000  x5   0000000000000000  x6   0000000000000000  x7   7f7f7f7f7f7f7f7f
08-31 16:59:33.287  7997  7997 F DEBUG   :     x8   0000000000000083  x9   0000000010000000  x10  0000007c92af96a0  x11  0000000000000001
08-31 16:59:33.287  7997  7997 F DEBUG   :     x12  0000007c92af97c0  x13  ffffffffffffffff  x14  ff00000000000000  x15  ffffffffffffffff
08-31 16:59:33.287  7997  7997 F DEBUG   :     x16  000000620bed4fa8  x17  0000007d32f0552c  x18  0000000000000000  x19  0000000000000f7f
08-31 16:59:33.287  7997  7997 F DEBUG   :     x20  0000000000000feb  x21  0000000000000083  x22  0000007c94e24b50  x23  0000007c953b9a18
08-31 16:59:33.287  7997  7997 F DEBUG   :     x24  0000007c953b5cc8  x25  0000007c953b5c5c  x26  0000007c92afa1f8  x27  0000007c92afa1e0
08-31 16:59:33.287  7997  7997 F DEBUG   :     x28  0000007c92afa300  x29  0000007c92af96e0  x30  0000007d32eba760
08-31 16:59:33.287  7997  7997 F DEBUG   :     sp   0000007c92af96a0  pc   0000007d32eba788  pstate 0000000060000000
08-31 16:59:33.311  2376  7992 E CameraHal: reprocessFrame(1031): ret = 0 input_width = 1280 input_height = 720
08-31 16:59:33.337  7997  7997 F DEBUG   : 
08-31 16:59:33.337  7997  7997 F DEBUG   : backtrace:
08-31 16:59:33.337  7997  7997 F DEBUG   :     #00 pc 000000000001d788  /system/lib64/libc.so (abort+120)
08-31 16:59:33.337  7997  7997 F DEBUG   :     #01 pc 0000000000007f08  /system/lib64/liblog.so (__android_log_assert+296)
08-31 16:59:33.337  7997  7997 F DEBUG   :     #02 pc 000000000006c6a0  /system/lib64/libhwui.so (android::uirenderer::renderthread::EglManager::damageFrame(android::uirenderer::renderthread::Frame const&, SkRect const&)+184)
08-31 16:59:33.337  7997  7997 F DEBUG   :     #03 pc 00000000000695b0  /system/lib64/libhwui.so (android::uirenderer::renderthread::OpenGLPipeline::draw(android::uirenderer::renderthread::Frame const&, SkRect const&, SkRect const&, android::uirenderer::FrameBuilder::LightGeometry const&, android::uirenderer::LayerUpdateQueue*, android::uirenderer::Rect const&, bool, bool, android::uirenderer::BakedOpRenderer::LightInfo const&, std::__1::vector<android::sp<android::uirenderer::RenderNode>, std::__1::allocator<android::sp<android::uirenderer::Render
08-31 16:59:33.339  7997  7997 F DEBUG   :     #04 pc 000000000006780c  /system/lib64/libhwui.so (android::uirenderer::renderthread::CanvasContext::draw()+184)
08-31 16:59:33.339  7997  7997 F DEBUG   :     #05 pc 000000000006b47c  /system/lib64/libhwui.so (android::uirenderer::renderthread::DrawFrameTask::run()+180)