juliansteenbakker / mobile_scanner

A universal scanner for Flutter based on MLKit. Uses CameraX on Android and AVFoundation on iOS.
BSD 3-Clause "New" or "Revised" License
770 stars 452 forks source link

Received exception on GL render thread #683

Open TuupleMasterAndroid opened 11 months ago

TuupleMasterAndroid commented 11 months ago

I get this warning

W/Adreno-EGL(10069): : EGL_BAD_SURFACE E/CameraDeviceGLThread-0(10069): Received exception on GL render thread: E/CameraDeviceGLThread-0(10069): java.lang.IllegalStateException: swapBuffers: EGL error: 0x300d E/CameraDeviceGLThread-0(10069): at android.hardware.camera2.legacy.SurfaceTextureRenderer.checkEglError(SurfaceTextureRenderer.java:530) E/CameraDeviceGLThread-0(10069): at android.hardware.camera2.legacy.SurfaceTextureRenderer.swapBuffers(SurfaceTextureRenderer.java:523) E/CameraDeviceGLThread-0(10069): at android.hardware.camera2.legacy.SurfaceTextureRenderer.drawIntoSurfaces(SurfaceTextureRenderer.java:727) E/CameraDeviceGLThread-0(10069): at android.hardware.camera2.legacy.GLThreadManager$1.handleMessage(GLThreadManager.java:105) E/CameraDeviceGLThread-0(10069): at android.os.Handler.dispatchMessage(Handler.java:98) E/CameraDeviceGLThread-0(10069): at android.os.Looper.loop(Looper.java:148) E/CameraDeviceGLThread-0(10069): at android.os.HandlerThread.run(HandlerThread.java:61) I/CameraDeviceState(10069): Legacy camera service transitioning to state ERROR E/RequestThread-0(10069): Timed out while waiting for request to complete. W/CaptureCollector(10069): Preview buffers dropped for request: 0 E/CameraDeviceState(10069): Cannot receive result while in state: 0 E/CameraDeviceState(10069): Cannot receive result while in state: 0 E/CameraDeviceState(10069): Cannot receive result while in state: 0 W/MessageQueue(10069): Handler (android.graphics.SurfaceTexture$1) {82e19a8} sending message to a Handler on a dead thread W/MessageQueue(10069): java.lang.IllegalStateException: Handler (android.graphics.SurfaceTexture$1) {82e19a8} sending message to a Handler on a dead thread W/MessageQueue(10069): at android.os.MessageQueue.enqueueMessage(MessageQueue.java:543) W/MessageQueue(10069): at android.os.Handler.enqueueMessage(Handler.java:631) W/MessageQueue(10069): at android.os.Handler.sendMessageAtTime(Handler.java:600) W/MessageQueue(10069): at android.os.Handler.sendMessageDelayed(Handler.java:570) W/MessageQueue(10069): at android.os.Handler.sendEmptyMessageDelayed(Handler.java:534) W/MessageQueue(10069): at android.os.Handler.sendEmptyMessage(Handler.java:519) W/MessageQueue(10069): at android.graphics.SurfaceTexture.postEventFromNative(SurfaceTexture.java:376) E/BufferQueueProducer(10069): [SurfaceTexture-1-10069-3] queueBuffer: BufferQueue has been abandoned E/BufferQueueProducer(10069): [SurfaceTexture-1-10069-3] dequeueBuffer: BufferQueue has been abandoned E/BufferQueueProducer(10069): [SurfaceTexture-1-10069-3] cancelBuffer: BufferQueue has been abandoned E/BufferQueueProducer(10069): [SurfaceTexture-1-10069-3] cancelBuffer: BufferQueue has been abandoned E/BufferQueueProducer(10069): [SurfaceTexture-1-10069-3] cancelBuffer: BufferQueue has been abandoned E/BufferQueueProducer(10069): [SurfaceTexture-1-10069-3] cancelBuffer: BufferQueue has been abandoned E/BufferQueueProducer(10069): [SurfaceTexture-1-10069-3] cancelBuffer: BufferQueue has been abandoned E/BufferQueueProducer(10069): [SurfaceTexture-1-10069-3] cancelBuffer: BufferQueue has been abandoned D/DeferrableSurface(10069): use count-1, useCount=0 closed=true androidx.camera.core.SurfaceRequest$2@b8fed04 D/DeferrableSurface(10069): Surface no longer in use[total_surfaces=2, used_surfaces=1](androidx.camera.core.SurfaceRequest$2@b8fed04} D/DeferrableSurface(10069): Surface terminated[total_surfaces=1, used_surfaces=1](androidx.camera.core.SurfaceRequest$2@b8fed04} D/DeferrableSurface(10069): use count-1, useCount=0 closed=true androidx.camera.core.impl.ImmediateSurface@b00b522 D/DeferrableSurface(10069): Surface no longer in use[total_surfaces=1, used_surfaces=0](androidx.camera.core.impl.ImmediateSurface@b00b522} D/DeferrableSurface(10069): Surface terminated[total_surfaces=0, used_surfaces=0](androidx.camera.core.impl.ImmediateSurface@b00b522} D/Camera2CameraImpl(10069): {Camera@21eef70[id=0]} CameraDevice.onClosed()

DayDreamer-commits commented 11 months ago

Have you found any solution? I am also getting this. The scanner work properly once after creation. but after closing the widget and opening it does not scan anything.

DayDreamer-commits commented 11 months ago

using startDelay = true solves the problem.

arnzuk commented 1 month ago

using startDelay = true solves the problem.

Hi where and how to put that?