firebase / flutterfire

šŸ”„ A collection of Firebase plugins for Flutter apps.
https://firebase.google.com/docs/flutter/setup
BSD 3-Clause "New" or "Revised" License
8.71k stars 3.97k forks source link

šŸ› [cloud_firestore: ^4.11.0] Hot restarting causes app to freeze #11761

Closed chemsou00 closed 1 year ago

chemsou00 commented 1 year ago

Bug report

Describe the bug When i add Cloud fireStor package and i try to hot restart the app freezd ! when i remove and restart again the app work fine

Steps to reproduce

Steps to reproduce the behavior:

  1. Go to '...'
  2. '...'
  3. See error or incorrect behavior

Expected behavior

A clear and concise description of what you expected to happen.

Sample project

Providing a minimal example project which demonstrates the bug in isolation from your main App greatly enhances the chance of a timely fix. Please link to the public repository URL.


Additional context

Add any other context about the problem here.


Flutter doctor

Run flutter doctor and paste the output below: Doctor summary (to see all details, run flutter doctor -v): [āˆš] Flutter (Channel stable, 3.13.8, on Microsoft Windows [Version 10.0.19045.3570], locale en-US) [āˆš] Windows Version (Installed version of Windows is version 10 or higher) [āˆš] Android toolchain - develop for Android devices (Android SDK version 33.0.0-rc4) [āˆš] Chrome - develop for the web [āˆš] Visual Studio - develop Windows apps (Visual Studio Community 2022 17.0.5) [āˆš] Android Studio (version 2022.1) [āˆš] IntelliJ IDEA Community Edition (version 2022.1) [āˆš] VS Code (version 1.83.1) [āˆš] Connected device (4 available) [āˆš] Network resources

Click To Expand ``` Doctor summary (to see all details, run flutter doctor -v): [āˆš] Flutter (Channel stable, 3.13.8, on Microsoft Windows [Version 10.0.19045.3570], locale en-US) [āˆš] Windows Version (Installed version of Windows is version 10 or higher) [āˆš] Android toolchain - develop for Android devices (Android SDK version 33.0.0-rc4) [āˆš] Chrome - develop for the web [āˆš] Visual Studio - develop Windows apps (Visual Studio Community 2022 17.0.5) [āˆš] Android Studio (version 2022.1) [āˆš] IntelliJ IDEA Community Edition (version 2022.1) [āˆš] VS Code (version 1.83.1) [āˆš] Connected device (4 available) [āˆš] Network resources ā€¢ No issues found!```

Flutter dependencies

Run flutter pub deps -- --style=compact and paste the output below:

Dart SDK 3.1.4 Flutter SDK 3.13.8 teste_cloud_firestore 1.0.0+1

dependencies:

dev dependencies:

transitive dependencies:

Click To Expand ``` ```

inpreter commented 1 year ago

I have the same hot-restart problem.

Doctor summary (to see all details, run flutter doctor -v): [āˆš] Flutter (Channel master, 3.16.0-14.0.pre.1, on Microsoft Windows [Version 10.0.19045.3570], locale ko-KR) [āˆš] Windows Version (Installed version of Windows is version 10 or higher) [āˆš] Android toolchain - develop for Android devices (Android SDK version 33.0.2) [āˆš] Chrome - develop for the web [!] Visual Studio - develop Windows apps (Visual Studio Build Tools 2017 15.9.50) X Visual Studio 2019 or later is required. Download at https://visualstudio.microsoft.com/downloads/. Please install the "Desktop development with C++" workload, including all of its default components [āˆš] Android Studio (version 2022.1) [āˆš] VS Code (version 1.83.1) [āˆš] Connected device (4 available) [āˆš] Network resources

darshankawar commented 1 year ago

@chemsou00 @inpreter I am unable to replicate the app freeze using the plugin example. Can either of you provide complete steps to replicate, platform on which you are seeing this behavior along with any other additional details that'll help to properly address the issue ?

Also, if you downgrade plugin version to any previous ones and run your scenario again, do you still see the app freeze or no ?

chemsou00 commented 1 year ago

Also, if you downgrade plugin version to any previous ones and run your scenario again, do you still see the app freeze or no ? answer : same probleme Ihave old project with version of packages : firebase_core: ^2.17.0 cloud_firestore: ^4.9.3 the app work fine . and i test to update the old app to last version of packages it work fine i remember the last thing i do is update firebase cli to last version 12.7.0 did you think the cofiguation of flutterfire can do some problems?

chemsou00 commented 1 year ago

when the app freez an click back button it give me this :

log ``` Performing hot restart... Syncing files to device sdk gphone64 x86 64... Restarted application in 1,839ms. D/AndroidRuntime( 2592): Shutting down VM E/AndroidRuntime( 2592): FATAL EXCEPTION: main E/AndroidRuntime( 2592): Process: com.example.chemsou00.dev.pharma_time, PID: 2592 E/AndroidRuntime( 2592): java.lang.RuntimeException: Unable to destroy activity {com.example.chemsou00.dev.pharma_time/com.example.chemsou00.dev.pharma_time.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void io.flutter.plugin.common.MethodChannel.setMethodCallHandler(io.flutter.plugin.common.MethodChannel$MethodCallHandler)' on a null object reference E/AndroidRuntime( 2592): at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:5387) E/AndroidRuntime( 2592): at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:5420) E/AndroidRuntime( 2592): at android.app.servertransaction.DestroyActivityItem.execute(DestroyActivityItem.java:47) E/AndroidRuntime( 2592): at android.app.servertransaction.ActivityTransactionItem.execute(ActivityTransactionItem.java:45) E/AndroidRuntime( 2592): at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:176) E/AndroidRuntime( 2592): at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97) E/AndroidRuntime( 2592): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2210) E/AndroidRuntime( 2592): at android.os.Handler.dispatchMessage(Handler.java:106) E/AndroidRuntime( 2592): at android.os.Looper.loopOnce(Looper.java:201) E/AndroidRuntime( 2592): at android.os.Looper.loop(Looper.java:288) E/AndroidRuntime( 2592): at android.app.ActivityThread.main(ActivityThread.java:7839) E/AndroidRuntime( 2592): at java.lang.reflect.Method.invoke(Native Method) E/AndroidRuntime( 2592): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548) E/AndroidRuntime( 2592): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003) E/AndroidRuntime( 2592): Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void io.flutter.plugin.common.MethodChannel.setMethodCallHandler(io.flutter.plugin.common.MethodChannel$MethodCallHandler)' on a null object reference E/AndroidRuntime( 2592): at io.flutter.plugins.firebase.firestore.FlutterFirebaseFirestorePlugin.onDetachedFromEngine(FlutterFirebaseFirestorePlugin.java:132) E/AndroidRuntime( 2592): at io.flutter.embedding.engine.FlutterEngineConnectionRegistry.remove(FlutterEngineConnectionRegistry.java:272) E/AndroidRuntime( 2592): at io.flutter.embedding.engine.FlutterEngineConnectionRegistry.remove(FlutterEngineConnectionRegistry.java:282) E/AndroidRuntime( 2592): at io.flutter.embedding.engine.FlutterEngineConnectionRegistry.removeAll(FlutterEngineConnectionRegistry.java:290) E/AndroidRuntime( 2592): at io.flutter.embedding.engine.FlutterEngineConnectionRegistry.destroy(FlutterEngineConnectionRegistry.java:123) E/AndroidRuntime( 2592): at io.flutter.embedding.engine.FlutterEngine.destroy(FlutterEngine.java:460) E/AndroidRuntime( 2592): at io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.onDetach(FlutterActivityAndFragmentDelegate.java:763) E/AndroidRuntime( 2592): at io.flutter.embedding.android.FlutterActivity.onDestroy(FlutterActivity.java:919) E/AndroidRuntime( 2592): at android.app.Activity.performDestroy(Activity.java:8316) E/AndroidRuntime( 2592): at android.app.Instrumentation.callActivityOnDestroy(Instrumentation.java:1364) E/AndroidRuntime( 2592): at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:5374) E/AndroidRuntime( 2592): ... 13 more I/Process ( 2592): Sending signal. PID: 2592 SIG: 9 Lost connection to device. ```
yarmel commented 1 year ago

I encountered a similar issue after upgrading the cloud_firestore package from version 4.9.3 to 4.11.0. The previous version, 4.9.3, was working fine.

log ``` # Crashlytics - Stack trace # Application: app.domain.name # Platform: android # Version: 10.4.28 (612) # Issue: 01293938e3b989485568d1313e5fc24a # Session: 6536DF6602B900011D21ED6A20CCAFFB_DNE_0_v2 # Date: Tue Oct 24 2023 00:02:47 GMT+0300 (Eastern European Summer Time) Fatal Exception: java.lang.RuntimeException: Unable to destroy activity {app.domain.name/app.domain.name.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void io.flutter.plugin.common.MethodChannel.setMethodCallHandler(io.flutter.plugin.common.MethodChannel$MethodCallHandler)' on a null object reference at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:5624) at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:5664) at android.app.servertransaction.DestroyActivityItem.execute(DestroyActivityItem.java:47) at android.app.servertransaction.ActivityTransactionItem.execute(ActivityTransactionItem.java:45) at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:176) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2394) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loopOnce(Looper.java:211) at android.os.Looper.loop(Looper.java:300) at android.app.ActivityThread.main(ActivityThread.java:8296) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:559) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:954) Caused by java.lang.NullPointerException: Attempt to invoke virtual method 'void io.flutter.plugin.common.MethodChannel.setMethodCallHandler(io.flutter.plugin.common.MethodChannel$MethodCallHandler)' on a null object reference at io.flutter.plugins.firebase.firestore.FlutterFirebaseFirestorePlugin.onDetachedFromEngine(FlutterFirebaseFirestorePlugin.java:132) at io.flutter.embedding.engine.FlutterEngineConnectionRegistry.remove(FlutterEngineConnectionRegistry.java:272) at io.flutter.embedding.engine.FlutterEngineConnectionRegistry.remove(FlutterEngineConnectionRegistry.java:282) at io.flutter.embedding.engine.FlutterEngineConnectionRegistry.removeAll(FlutterEngineConnectionRegistry.java:290) at io.flutter.embedding.engine.FlutterEngineConnectionRegistry.destroy(FlutterEngineConnectionRegistry.java:123) at io.flutter.embedding.engine.FlutterEngine.destroy(FlutterEngine.java:460) at io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.onDetach(FlutterActivityAndFragmentDelegate.java:763) at io.flutter.embedding.android.FlutterActivity.onDestroy(FlutterActivity.java:919) at android.app.Activity.performDestroy(Activity.java:8821) at android.app.Instrumentation.callActivityOnDestroy(Instrumentation.java:1473) at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:5611) at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:5664) at android.app.servertransaction.DestroyActivityItem.execute(DestroyActivityItem.java:47) at android.app.servertransaction.ActivityTransactionItem.execute(ActivityTransactionItem.java:45) at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:176) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2394) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loopOnce(Looper.java:211) at android.os.Looper.loop(Looper.java:300) at android.app.ActivityThread.main(ActivityThread.java:8296) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:559) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:954) PlayBillingLibrary-3: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506) at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466) at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012) ScionFrontendApi: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1672) at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:460) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1070) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012) Crashlytics Exception Handler1: at dalvik.system.VMStack.getThreadStackTrace(VMStack.java) at java.lang.Thread.getStackTrace(Thread.java:1841) at java.lang.Thread.getAllStackTraces(Thread.java:1909) at com.google.firebase.crashlytics.internal.common.CrashlyticsReportDataCapture.populateThreadsList(CrashlyticsReportDataCapture.java:334) at com.google.firebase.crashlytics.internal.common.CrashlyticsReportDataCapture.populateExecutionData(CrashlyticsReportDataCapture.java:305) at com.google.firebase.crashlytics.internal.common.CrashlyticsReportDataCapture.populateEventApplicationData(CrashlyticsReportDataCapture.java:253) at com.google.firebase.crashlytics.internal.common.CrashlyticsReportDataCapture.captureEventData(CrashlyticsReportDataCapture.java:106) at com.google.firebase.crashlytics.internal.common.SessionReportingCoordinator.persistEvent(SessionReportingCoordinator.java:303) at com.google.firebase.crashlytics.internal.common.SessionReportingCoordinator.persistFatalEvent(SessionReportingCoordinator.java:132) at com.google.firebase.crashlytics.internal.common.CrashlyticsController$2.call(CrashlyticsController.java:214) at com.google.firebase.crashlytics.internal.common.CrashlyticsController$2.call(CrashlyticsController.java:199) at com.google.firebase.crashlytics.internal.common.CrashlyticsBackgroundWorker$3.then(CrashlyticsBackgroundWorker.java:105) at com.google.android.gms.tasks.zze.run(com.google.android.gms:play-services-tasks@@18.0.2:1) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at com.google.firebase.crashlytics.internal.common.ExecutorUtils$1$1.onRun(ExecutorUtils.java:67) at com.google.firebase.crashlytics.internal.common.BackgroundPriorityRunnable.run(BackgroundPriorityRunnable.java:27) at java.lang.Thread.run(Thread.java:1012) Timer-0: at java.lang.Object.wait(Object.java) at java.lang.Object.wait(Object.java:386) at java.lang.Object.wait(Object.java:524) at java.util.TimerThread.mainLoop(Timer.java:534) at java.util.TimerThread.run(Timer.java:513) Firebase-Messaging-Topics-Io: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506) at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466) at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1176) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:905) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at com.google.android.gms.common.util.concurrent.zza.run(com.google.android.gms:play-services-basement@@18.2.0:2) at java.lang.Thread.run(Thread.java:1012) ConnectivityThread: at android.os.MessageQueue.nativePollOnce(MessageQueue.java) at android.os.MessageQueue.next(MessageQueue.java:341) at android.os.Looper.loopOnce(Looper.java:169) at android.os.Looper.loop(Looper.java:300) at android.os.HandlerThread.run(HandlerThread.java:67) TokenRefresher: at android.os.MessageQueue.nativePollOnce(MessageQueue.java) at android.os.MessageQueue.next(MessageQueue.java:341) at android.os.Looper.loopOnce(Looper.java:169) at android.os.Looper.loop(Looper.java:300) at android.os.HandlerThread.run(HandlerThread.java:67) grpc-default-executor-0: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:401) at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:903) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1070) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012) awaitEvenIfOnMainThread task continuation executor1: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506) at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466) at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at com.google.firebase.crashlytics.internal.common.ExecutorUtils$1$1.onRun(ExecutorUtils.java:67) at com.google.firebase.crashlytics.internal.common.BackgroundPriorityRunnable.run(BackgroundPriorityRunnable.java:27) at java.lang.Thread.run(Thread.java:1012) PlayBillingLibrary-1: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506) at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466) at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012) FirebaseInstanceId: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506) at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466) at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1176) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:905) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at com.google.android.gms.common.util.concurrent.zza.run(com.google.android.gms:play-services-basement@@18.2.0:2) at java.lang.Thread.run(Thread.java:1012) queued-work-looper: at android.os.MessageQueue.nativePollOnce(MessageQueue.java) at android.os.MessageQueue.next(MessageQueue.java:341) at android.os.Looper.loopOnce(Looper.java:169) at android.os.Looper.loop(Looper.java:300) at android.os.HandlerThread.run(HandlerThread.java:67) Firebase Background Thread #1: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506) at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466) at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0$com-google-firebase-concurrent-CustomThreadFactory(CustomThreadFactory.java:47) at com.google.firebase.concurrent.CustomThreadFactory$$ExternalSyntheticLambda0.run(:4) at java.lang.Thread.run(Thread.java:1012) OkHttpClientTransport: at com.google.android.gms.org.conscrypt.NativeCrypto.SSL_read(:com.google.android.gms@234014044@23.40.14 (190400-572056781)) at com.google.android.gms.org.conscrypt.NativeSsl.read(:com.google.android.gms@234014044@23.40.14 (190400-572056781):34) at com.google.android.gms.org.conscrypt.ConscryptFileDescriptorSocket$SSLInputStream.read(:com.google.android.gms@234014044@23.40.14 (190400-572056781):11) at okio.Okio$2.read(Okio.java:140) at okio.AsyncTimeout$2.read(AsyncTimeout.java:237) at okio.RealBufferedSource.request(RealBufferedSource.java:72) at okio.RealBufferedSource.require(RealBufferedSource.java:65) at io.grpc.okhttp.internal.framed.Http2$Reader.nextFrame(Http2.java:120) at io.grpc.okhttp.OkHttpClientTransport$ClientFrameHandler.run(OkHttpClientTransport.java:1105) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012) flutter-worker-1: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:401) at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:903) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1070) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012) Firebase Blocking Thread #3: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:401) at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:903) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1070) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0$com-google-firebase-concurrent-CustomThreadFactory(CustomThreadFactory.java:47) at com.google.firebase.concurrent.CustomThreadFactory$$ExternalSyntheticLambda0.run(:4) at java.lang.Thread.run(Thread.java:1012) grpc-default-executor-1: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:401) at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:903) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1070) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012) grpc-okhttp-0: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:401) at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:903) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1070) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012) grpc-timer-0: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1672) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1188) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:905) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012) pool-22-thread-4: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:401) at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:903) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1070) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012) AsyncTask #1: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341) at java.util.concurrent.SynchronousQueue$TransferStack$SNode.block(SynchronousQueue.java:288) at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466) at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:397) at java.util.concurrent.SynchronousQueue.take(SynchronousQueue.java:886) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012) pool-11-thread-1: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506) at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466) at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012) Firebase Blocking Thread #0: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:401) at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:903) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1070) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0$com-google-firebase-concurrent-CustomThreadFactory(CustomThreadFactory.java:47) at com.google.firebase.concurrent.CustomThreadFactory$$ExternalSyntheticLambda0.run(:4) at java.lang.Thread.run(Thread.java:1012) pool-22-thread-5: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:401) at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:903) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1070) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012) DefaultDispatcher-worker-2: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:376) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler.kt:795) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.kt:740) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:711) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664) flutter-worker-0: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:401) at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:903) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1070) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012) ReferenceQueueDaemon: at java.lang.Object.wait(Object.java) at java.lang.Object.wait(Object.java:386) at java.lang.Object.wait(Object.java:524) at java.lang.Daemons$ReferenceQueueDaemon.runInternal(Daemons.java:239) at java.lang.Daemons$Daemon.run(Daemons.java:145) at java.lang.Thread.run(Thread.java:1012) Timer-1: at java.lang.Object.wait(Object.java) at java.lang.Object.wait(Object.java:386) at java.lang.Object.wait(Object.java:524) at java.util.TimerThread.mainLoop(Timer.java:534) at java.util.TimerThread.run(Timer.java:513) FirestoreWorker: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1672) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1188) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:905) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at com.google.firebase.firestore.util.AsyncQueue$SynchronizedShutdownAwareExecutor$DelayedStartFactory.run(AsyncQueue.java:235) at java.lang.Thread.run(Thread.java:1012) pool-22-thread-3: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:401) at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:903) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1070) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012) PlayBillingLibrary-2: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506) at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466) at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012) Firebase Background Thread #3: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506) at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466) at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0$com-google-firebase-concurrent-CustomThreadFactory(CustomThreadFactory.java:47) at com.google.firebase.concurrent.CustomThreadFactory$$ExternalSyntheticLambda0.run(:4) at java.lang.Thread.run(Thread.java:1012) firebase-iid-executor: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1672) at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:460) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1070) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at com.google.android.gms.common.util.concurrent.zza.run(com.google.android.gms:play-services-basement@@18.2.0:2) at java.lang.Thread.run(Thread.java:1012) PlayBillingLibrary-7: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506) at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466) at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012) GmsDynamite: at java.lang.Object.wait(Object.java) at java.lang.Object.wait(Object.java:386) at java.lang.Object.wait(Object.java:524) at com.google.android.gms.dynamite.zza.run(com.google.android.gms:play-services-basement@@18.2.0:2) Firebase-Messaging-Init: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506) at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466) at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1176) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:905) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at com.google.android.gms.common.util.concurrent.zza.run(com.google.android.gms:play-services-basement@@18.2.0:2) at java.lang.Thread.run(Thread.java:1012) PlayBillingLibrary-4: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506) at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466) at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012) pool-22-thread-1: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:401) at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:903) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1070) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012) pool-22-thread-2: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:401) at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:903) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1070) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012) Firebase Blocking Thread #1: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:401) at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:903) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1070) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0$com-google-firebase-concurrent-CustomThreadFactory(CustomThreadFactory.java:47) at com.google.firebase.concurrent.CustomThreadFactory$$ExternalSyntheticLambda0.run(:4) at java.lang.Thread.run(Thread.java:1012) flutter-worker-2: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:401) at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:903) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1070) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012) Firebase Background Thread #0: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506) at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466) at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0$com-google-firebase-concurrent-CustomThreadFactory(CustomThreadFactory.java:47) at com.google.firebase.concurrent.CustomThreadFactory$$ExternalSyntheticLambda0.run(:4) at java.lang.Thread.run(Thread.java:1012) OkHttp ConnectionPool: at java.lang.Object.wait(Object.java) at com.android.okhttp.ConnectionPool$1.run(ConnectionPool.java:106) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012) FinalizerWatchdogDaemon: at java.lang.Thread.sleep(Thread.java) at java.lang.Thread.sleep(Thread.java:450) at java.lang.Thread.sleep(Thread.java:355) at java.lang.Daemons$FinalizerWatchdogDaemon.sleepForNanos(Daemons.java:481) at java.lang.Daemons$FinalizerWatchdogDaemon.waitForProgress(Daemons.java:527) at java.lang.Daemons$FinalizerWatchdogDaemon.runInternal(Daemons.java:412) at java.lang.Daemons$Daemon.run(Daemons.java:145) at java.lang.Thread.run(Thread.java:1012) FinalizerDaemon: at java.lang.Object.wait(Object.java) at java.lang.Object.wait(Object.java:386) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:210) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:231) at java.lang.Daemons$FinalizerDaemon.runInternal(Daemons.java:309) at java.lang.Daemons$Daemon.run(Daemons.java:145) at java.lang.Thread.run(Thread.java:1012) AudioPortEventHandler: at android.os.MessageQueue.nativePollOnce(MessageQueue.java) at android.os.MessageQueue.next(MessageQueue.java:341) at android.os.Looper.loopOnce(Looper.java:169) at android.os.Looper.loop(Looper.java:300) at android.os.HandlerThread.run(HandlerThread.java:67) Okio Watchdog: at java.lang.Object.wait(Object.java) at java.lang.Object.wait(Object.java:386) at java.lang.Object.wait(Object.java:524) at com.android.okhttp.okio.AsyncTimeout.awaitTimeout(AsyncTimeout.java:313) at com.android.okhttp.okio.AsyncTimeout.access$000(AsyncTimeout.java:42) at com.android.okhttp.okio.AsyncTimeout$Watchdog.run(AsyncTimeout.java:288) Firebase Blocking Thread #2: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:401) at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:903) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1070) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0$com-google-firebase-concurrent-CustomThreadFactory(CustomThreadFactory.java:47) at com.google.firebase.concurrent.CustomThreadFactory$$ExternalSyntheticLambda0.run(:4) at java.lang.Thread.run(Thread.java:1012) Firebase Background Thread #2: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506) at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466) at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0$com-google-firebase-concurrent-CustomThreadFactory(CustomThreadFactory.java:47) at com.google.firebase.concurrent.CustomThreadFactory$$ExternalSyntheticLambda0.run(:4) at java.lang.Thread.run(Thread.java:1012) pool-26-thread-1: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506) at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466) at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1176) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:905) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012) PlayBillingLibrary-6: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506) at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466) at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012) PlayBillingLibrary-5: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506) at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466) at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012) firebase-iid-executor: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1672) at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:460) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1070) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at com.google.android.gms.common.util.concurrent.zza.run(com.google.android.gms:play-services-basement@@18.2.0:2) at java.lang.Thread.run(Thread.java:1012) PlayBillingLibrary-8: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506) at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466) at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012) com.google.firebase.crashlytics.startup1: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506) at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466) at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at com.google.firebase.crashlytics.internal.common.ExecutorUtils$1$1.onRun(ExecutorUtils.java:67) at com.google.firebase.crashlytics.internal.common.BackgroundPriorityRunnable.run(BackgroundPriorityRunnable.java:27) at java.lang.Thread.run(Thread.java:1012) MessengerIpcClient: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1672) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1188) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:905) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at com.google.android.gms.common.util.concurrent.zza.run(com.google.android.gms:play-services-basement@@18.2.0:2) at java.lang.Thread.run(Thread.java:1012) DefaultDispatcher-worker-3: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:376) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler.kt:795) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.kt:740) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:711) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664) Measurement Worker: at java.lang.Object.wait(Object.java) at java.lang.Object.wait(Object.java:386) at m.lf.run(:com.google.android.gms.dynamite_measurementdynamite@234014044@23.40.14 (190400-0):71) DefaultDispatcher-worker-1: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:376) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler.kt:795) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.kt:740) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:711) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664) ```
rodolfogoulart commented 1 year ago

Same problem, Hot Reload works, but Restart Freeze the app in emulator. Whatever before calling 'Firebase.initializeApp' works, but not after.

firebase_core: ^2.19.0 firebase_auth: ^4.11.1 firebase_dynamic_links: ^5.4.1 firebase_ui_auth: ^1.9.1 cloud_firestore: ^4.11.0

chemsou00 commented 1 year ago

not only emulator i test it in my phone same thing , and i downgrad firebase cli version and create a simple project and configure it using flutterfire the hot restart work only if i remove package or if i run the app from terminal using "flutter run" and use the key "R" to hot restart.this methode it work fine

gangoappdev commented 1 year ago

Same here

inpreter commented 1 year ago

@darshankawar Below is a description of how to reproduce the problem

version infomation

flutter --version

Flutter 3.16.0-14.0.pre.1 ā€¢ channel master ā€¢ https://github.com/flutter/flutter.git Framework ā€¢ revision cbf50a953b (6 days ago) ā€¢ 2023-10-19 03:13:25 +0000 Engine ā€¢ revision 8d51b64e94 Tools ā€¢ Dart 3.3.0 (build 3.3.0-41.0.dev) ā€¢ DevTools 2.28.1

flutterfire -v

0.2.7

pubspec.yaml

firebase_core: ^2.20.0 cloud_firestore: ^4.12.0


problem replicate


  1. create new project by flutter cli

    flutter create firebase_test

  2. install 'firebase_core'

    flutter pub add firebase_core

  3. configure flutter-fire

    flutterfire configure

  4. modify 'main.dart'

void main() async { WidgetsFlutterBinding.ensureInitialized();

print('Firebase init start');

FirebaseApp app = await Firebase.initializeApp( options: DefaultFirebaseOptions.currentPlatform, ); print('Initialized default app $app');

runApp(const MyApp()); }

  1. run flutter (android emul)

    flutter run

=> no problem

  1. install 'cloud_firestore'

    flutter pub add cloud_firestore

Resolving dependencies...

flutterfire configure

  1. run flutter (android emul)

    flutter run

Do you want to continue with adding multidex support for Android? [y|n]: y Multidex enabled. Retrying build.

Retrying Gradle Build: #1, wait time: 100ms Building with Flutter multidex support enabled. Running Gradle task 'assembleDebug'...

Press 'R'

Performing hot restart... Restarted application in 1,375ms. I/flutter ( 4216): Firebase init start

=> FREEZED!

darshankawar commented 1 year ago

Thanks for the above reproducible steps and details. I was able to replicate the app freeze as shown below:

https://github.com/firebase/flutterfire/assets/67046386/6f1baeb4-2edd-4421-aa89-603cbe9480db

A related app freeze on iOS is reported in https://github.com/firebase/flutterfire/issues/11755 but it seems to be related to transaction. In this issue, after adding cloud_firestore, and trying to restart is freezing the app.

/cc @Lyokone

Lyokone commented 1 year ago

Thanks I was also able to reproduce this, I'm taking a look.

Lyokone commented 1 year ago

Opened https://github.com/firebase/flutterfire/pull/11776 that will resolve this issue. We'll investigate adding a test with hot reload on Firestore, we currently don't have a setup for that.