flutter_inappwebview icon indicating copy to clipboard operation
flutter_inappwebview copied to clipboard

Android Firebase issue: PlatformViewWrapper.draw - java.lang.IllegalStateException - Surface was already locked! - PlatformViewWrapper.java:300

Open HAFIZkhan-source opened this issue 8 months ago • 5 comments

  • [x] I have read the Getting Started section
  • [x] I have already searched for the same problem

Environment

Technology Version
Flutter version 3.7.12
Plugin version 5.8.0
Android version 6, 11, 12, 13
iOS version
macOS version
Xcode version

Device information: Samsung Galaxy J2 Pro, vivo, Xiomi

Stacktrace/Logcat

Fatal Exception: java.lang.IllegalStateException: Surface was already locked! at android.view.Surface$HwuiContext.lockCanvas(Surface.java:648) at android.view.Surface.lockHardwareCanvas(Surface.java:365) at io.flutter.plugin.platform.PlatformViewWrapper.draw(PlatformViewWrapper.java:300) at android.view.View.updateDisplayListIfDirty(View.java:16519) at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3910) at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3890) at android.view.View.updateDisplayListIfDirty(View.java:16479) at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3910) at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3890) at android.view.View.updateDisplayListIfDirty(View.java:16479) at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3910) at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3890) at android.view.View.updateDisplayListIfDirty(View.java:16479) at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3910) at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3890) at android.view.View.updateDisplayListIfDirty(View.java:16479) at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3910) at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3890) at android.view.View.updateDisplayListIfDirty(View.java:16479) at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:325) at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:331) at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:366) at android.view.ViewRootImpl.draw(ViewRootImpl.java:3234) at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:3033) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2615) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1528) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7530) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:911) at android.view.Choreographer.doCallbacks(Choreographer.java:686) at android.view.Choreographer.doFrame(Choreographer.java:622) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:897) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:7325) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)

java.lang.ProcessManager: at java.lang.Object.wait(Object.java) at java.lang.ProcessManager.waitForMoreChildren(ProcessManager.java:140) at java.lang.ProcessManager.watchChildren(ProcessManager.java:105) at java.lang.ProcessManager.-wrap0(ProcessManager.java) at java.lang.ProcessManager$1.run(ProcessManager.java:58)

pool-21-thread-1: at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:1220) at sun.misc.Unsafe.park(Unsafe.java:299) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2013) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1078) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1071) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1038) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1098) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) at java.lang.Thread.run(Thread.java:818)

ReferenceQueueDaemon: at java.lang.Object.wait(Object.java) at java.lang.Daemons$ReferenceQueueDaemon.run(Daemons.java:162) at java.lang.Thread.run(Thread.java:818)

AsyncTask #3: at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:1220) at sun.misc.Unsafe.park(Unsafe.java:299) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2013) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:410) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1038) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1098) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) at java.lang.Thread.run(Thread.java:818)

PlatformServiceBridgeHandlerThread: at android.os.MessageQueue.nativePollOnce(MessageQueue.java) at android.os.MessageQueue.next(MessageQueue.java:323) at android.os.Looper.loop(Looper.java:135) at android.os.HandlerThread.run(HandlerThread.java:61)

OkHttp TaskRunner: at java.lang.Object.wait(Object.java) at okhttp3.internal.concurrent.TaskRunner$RealBackend.coordinatorWait(TaskRunner.kt:294) at okhttp3.internal.concurrent.TaskRunner.awaitTaskToRun(TaskRunner.kt:218) at okhttp3.internal.concurrent.TaskRunner$runnable$1.run(TaskRunner.kt:59) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) at java.lang.Thread.run(Thread.java:818)

HAFIZkhan-source avatar Nov 02 '23 04:11 HAFIZkhan-source