Skip to content

ANR in FirebaseApp$GlobalBackgroundStateListener.onBackgroundStateChanged #7577

@sergeys-opera

Description

@sergeys-opera

[REQUIRED] Step 2: Describe your environment

  • Android Studio version: _
  • Firebase Component: _ (Database, Firestore, Storage, Functions, etc)
  • Component version: _

[REQUIRED] Step 3: Describe the problem

Steps to reproduce:

This is a continuation of the issue #7505 that was closed recently.
I could reproduce this ANR in a debug build and made a thread dump. As you see several threads are dead-locked while a GlobalBackgroundListener being registered.

Relevant Code:

Full thread dump

"pool-3-thread-1@34948" prio=5 tid=0x72 nid=NA waiting for monitor entry
  java.lang.Thread.State: BLOCKED
	 blocks main@34929
	 blocks Measurement Worker@34952
	 waiting for main@34929 to release lock on instance of com.google.android.gms.common.api.internal.BackgroundDetector(id=34973)
	at com.google.android.gms.common.api.internal.BackgroundDetector.initialize(com.google.android.gms:play-services-basement@@18.5.0:1)
	at com.google.firebase.remoteconfig.RemoteConfigComponent$GlobalBackgroundListener.ensureBackgroundListenerIsRegistered(RemoteConfigComponent.java:397)
	at com.google.firebase.remoteconfig.RemoteConfigComponent$GlobalBackgroundListener.access$000(RemoteConfigComponent.java:387)
	at com.google.firebase.remoteconfig.RemoteConfigComponent.<init>(RemoteConfigComponent.java:139)
	at com.google.firebase.remoteconfig.RemoteConfigComponent.<init>(RemoteConfigComponent.java:111)
	at com.google.firebase.remoteconfig.RemoteConfigRegistrar.lambda$getComponents$0(RemoteConfigRegistrar.java:67)
	at com.google.firebase.remoteconfig.RemoteConfigRegistrar$$ExternalSyntheticLambda0.create(D8$$SyntheticClass:0)
	at com.google.firebase.tracing.ComponentMonitor.lambda$processRegistrar$0(ComponentMonitor.java:38)
	at com.google.firebase.tracing.ComponentMonitor$$ExternalSyntheticLambda0.create(D8$$SyntheticClass:0)
	at com.google.firebase.components.ComponentRuntime.lambda$discoverComponents$0$com-google-firebase-components-ComponentRuntime(ComponentRuntime.java:160)
	at com.google.firebase.components.ComponentRuntime$$ExternalSyntheticLambda2.get(D8$$SyntheticClass:0)
	at com.google.firebase.components.Lazy.get(Lazy.java:53)
	  - locked <0x88a1> (a com.google.firebase.components.Lazy)
	at com.google.firebase.components.ComponentRuntime.doInitializeEagerComponents(ComponentRuntime.java:322)
	at com.google.firebase.components.ComponentRuntime.initializeEagerComponents(ComponentRuntime.java:312)
	at com.google.firebase.FirebaseApp.initializeAllApis(FirebaseApp.java:607)
	at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:300)
	at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:264)
	at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:249)
	  - locked <0x889e> (a java.lang.Object)
	at com.opera.celopay.StandaloneCeloPayDependencies.getFirebaseApp(StandaloneCeloPayDependencies.kt:44)
	at com.opera.celopay.AppModuleKt.buildAppModule$lambda$0$8$0(AppModule.kt:112)
	at com.opera.celopay.AppModuleKt.$r8$lambda$c7oG9lXiZ_VyhmxzaDHLtKe994k(Unknown Source:-1)
	at com.opera.celopay.AppModuleKt$$ExternalSyntheticLambda17.invoke(D8$$SyntheticClass:0)
	at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:86)
	  - locked <0x889c> (a kotlin.SynchronizedLazyImpl)
	at com.opera.celopay.model.firebase.base.LazyEmbeddedFirebaseApp.getValue(FirebaseBaseModule.kt:-1)
	at com.opera.celopay.StandaloneCeloPayDependencies.getFirebaseMessaging(StandaloneCeloPayDependencies.kt:48)
	at com.opera.celopay.AppModuleKt.buildAppModule$lambda$0$9(AppModule.kt:116)
	at com.opera.celopay.AppModuleKt.$r8$lambda$hgT0MInAVXUG_KkQquzRGHGjbMI(Unknown Source:-1)
	at com.opera.celopay.AppModuleKt$$ExternalSyntheticLambda15.invoke(D8$$SyntheticClass:0)
	at org.koin.core.instance.InstanceFactory.create(InstanceFactory.kt:49)
	at org.koin.core.instance.SingleInstanceFactory.create(SingleInstanceFactory.kt:46)
	at org.koin.core.instance.SingleInstanceFactory.get$lambda$0(SingleInstanceFactory.kt:55)
	at org.koin.core.instance.SingleInstanceFactory.$r8$lambda$DuRNwghYWsMwMsdJERKYXVNSM_0(SingleInstanceFactory.kt:-1)
	at org.koin.core.instance.SingleInstanceFactory$$ExternalSyntheticLambda0.invoke(D8$$SyntheticClass:0)
	at org.koin.mp.KoinPlatformTools.synchronized(KoinPlatformTools.kt:36)
	  - locked <0x88a2> (a org.koin.core.instance.SingleInstanceFactory)
	at org.koin.core.instance.SingleInstanceFactory.get(SingleInstanceFactory.kt:53)
	at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(InstanceRegistry.kt:132)
	at org.koin.core.resolution.CoreResolver.resolveFromRegistry(CoreResolver.kt:87)
	at org.koin.core.resolution.CoreResolver.resolveFromContextOrNull(CoreResolver.kt:74)
	at org.koin.core.resolution.CoreResolver.resolveFromContextOrNull$default(CoreResolver.kt:72)
	at org.koin.core.resolution.CoreResolver.resolveFromContext(CoreResolver.kt:69)
	at org.koin.core.scope.Scope.resolveFromContext(Scope.kt:321)
	at org.koin.core.scope.Scope.stackParametersCall(Scope.kt:284)
	at org.koin.core.scope.Scope.resolveInstance(Scope.kt:270)
	at org.koin.core.scope.Scope.resolve(Scope.kt:243)
	at org.koin.core.scope.Scope.get(Scope.kt:225)
	at com.opera.celopay.model.firebase.notification.FcmModule_androidKt$buildPlatformFirebaseNotificationModule$lambda$0$0$$inlined$inject$default$1.invoke(Scope.kt:144)
	at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:86)
	  - locked <0x8897> (a kotlin.SynchronizedLazyImpl)
	at com.opera.celopay.model.firebase.notification.FcmTokenUpdater$fetchFirebaseToken$1.invokeSuspend(FcmTokenUpdater.kt:30)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:34)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1156)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:651)
	at java.lang.Thread.run(Thread.java:1119)

"main@34929" prio=5 tid=0x2 nid=NA waiting for monitor entry
  java.lang.Thread.State: BLOCKED
	 blocks pool-3-thread-1@34948
	 waiting for pool-3-thread-1@34948 to release lock on instance of java.lang.Object(id=34974)
	at com.google.firebase.FirebaseApp$GlobalBackgroundStateListener.onBackgroundStateChanged(FirebaseApp.java:708)
	at com.google.android.gms.common.api.internal.BackgroundDetector.zza(com.google.android.gms:play-services-basement@@18.5.0:3)
	  - locked <0x889d> (a com.google.android.gms.common.api.internal.BackgroundDetector)
	at com.google.android.gms.common.api.internal.BackgroundDetector.onTrimMemory(com.google.android.gms:play-services-basement@@18.5.0:3)
	at android.content.ComponentCallbacksController.lambda$dispatchTrimMemory$1(ComponentCallbacksController.java:109)
	at android.content.ComponentCallbacksController$$ExternalSyntheticLambda1.accept(D8$$SyntheticClass:0)
	at android.content.ComponentCallbacksController.forAllComponentCallbacks(ComponentCallbacksController.java:124)
	at android.content.ComponentCallbacksController.dispatchTrimMemory(ComponentCallbacksController.java:107)
	at android.app.Application.onTrimMemory(Application.java:289)
	at android.app.ActivityThread.handleTrimMemory(ActivityThread.java:6993)
	at android.app.ActivityThread.-$$Nest$mhandleTrimMemory(ActivityThread.java:-1)
	at android.app.ActivityThread$ApplicationThread.$r8$lambda$G6hCvS-Qza2XVRHE5EG8OQS6lcg(ActivityThread.java:-1)
	at android.app.ActivityThread$ApplicationThread$$ExternalSyntheticLambda2.accept(D8$$SyntheticClass:0)
	at com.android.internal.util.function.pooled.PooledLambdaImpl.doInvoke(PooledLambdaImpl.java:281)
	at com.android.internal.util.function.pooled.PooledLambdaImpl.invoke(PooledLambdaImpl.java:204)
	at com.android.internal.util.function.pooled.OmniFunction.run(OmniFunction.java:87)
	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1406)
	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1415)
	at android.view.Choreographer.doCallbacks(Choreographer.java:1015)
	at android.view.Choreographer.doFrame(Choreographer.java:947)
	at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1389)
	at android.os.Handler.handleCallback(Handler.java:959)
	at android.os.Handler.dispatchMessage(Handler.java:100)
	at android.os.Looper.loopOnce(Looper.java:232)
	at android.os.Looper.loop(Looper.java:317)
	at android.app.ActivityThread.main(ActivityThread.java:8592)
	at java.lang.reflect.Method.invoke(Method.java:-1)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:580)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:878)

"WM.task-4@34944" prio=5 tid=0x6e nid=NA waiting
  java.lang.Thread.State: WAITING
	at jdk.internal.misc.Unsafe.park(Unsafe.java:-1)
	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:269)
	at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:97)
	at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:70)
	at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source:1)
	at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:48)
	at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source:1)
	at com.opera.celopay.MiniPayKoinWorkerFactory.createWorker(MiniPayKoinWorkerFactory.kt:35)
	at androidx.work.WorkerFactory.createWorkerWithDefaultFallback(WorkerFactory.kt:95)
	at androidx.work.impl.WorkerWrapper.runWorker(WorkerWrapper.kt:234)
	at androidx.work.impl.WorkerWrapper.access$runWorker(WorkerWrapper.kt:67)
	at androidx.work.impl.WorkerWrapper$launch$1$resolution$1.invokeSuspend(WorkerWrapper.kt:98)
	at androidx.work.impl.WorkerWrapper$launch$1$resolution$1.invoke(WorkerWrapper.kt:-1)
	at androidx.work.impl.WorkerWrapper$launch$1$resolution$1.invoke(WorkerWrapper.kt:-1)
	at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndspatched(Undispatched.kt:66)
	at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:43)
	at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:165)
	at kotlinx.coroutines.BuildersKt.withContext(Unknown Source:1)
	at androidx.work.impl.WorkerWrapper$launch$1.invokeSuspend(WorkerWrapper.kt:98)
	at androidx.work.impl.WorkerWrapper$launch$1.invoke(Unknown Source:-1)
	at androidx.work.impl.WorkerWrapper$launch$1.invoke(Unknown Source:-1)
	at androidx.work.ListenableFutureKt$launchFuture$1$2.invokeSuspend(ListenableFuture.kt:42)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:34)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
	at androidx.work.impl.utils.SerialExecutorImpl$Task.run(SerialExecutorImpl.java:96)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1156)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:651)
	at java.lang.Thread.run(Thread.java:1119)

"Measurement Worker@34952" prio=5 tid=0x78 nid=NA waiting for monitor entry
  java.lang.Thread.State: BLOCKED
	 waiting for pool-3-thread-1@34948 to release lock on instance of java.lang.Object(id=34974)
	at com.google.firebase.FirebaseApp.getInstance(FirebaseApp.java:173)
	at com.google.firebase.installations.FirebaseInstallations.getInstance(FirebaseInstallations.java:195)
	at com.google.firebase.analytics.FirebaseAnalytics.getFirebaseInstanceId(com.google.android.gms:play-services-measurement-api@@23.0.0:1)
	at java.lang.reflect.Method.invoke(Method.java:-1)
	at m7.qi.s(:com.google.android.gms.dynamite_measurementdynamite@254534029@25.45.34 (190400-0):342)
	at m7.vg.q(:com.google.android.gms.dynamite_measurementdynamite@254534029@25.45.34 (190400-0):24)
	at m7.tj.D(:com.google.android.gms.dynamite_measurementdynamite@254534029@25.45.34 (190400-0):81)
	at m7.rg.run(:com.google.android.gms.dynamite_measurementdynamite@254534029@25.45.34 (190400-0):151)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:524)
	at java.util.concurrent.FutureTask.run(FutureTask.java:317)
	at m7.rd.run(:com.google.android.gms.dynamite_measurementdynamite@254534029@25.45.34 (190400-0):48)

"ProcessStablePhenotypeFlag@34953" prio=5 tid=0x79 nid=NA waiting
  java.lang.Thread.State: WAITING
	at jdk.internal.misc.Unsafe.park(Unsafe.java:-1)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:371)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:519)
	at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3805)
	at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3746)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1707)
	at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1224)
	at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:953)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1082)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:651)
	at java.lang.Thread.run(Thread.java:1119)

"WM.task-1@34941" prio=5 tid=0x6b nid=NA waiting
  java.lang.Thread.State: WAITING
	at jdk.internal.misc.Unsafe.park(Unsafe.java:-1)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:371)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:519)
	at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3805)
	at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3746)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1707)
	at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1082)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:651)
	at java.lang.Thread.run(Thread.java:1119)

"WM.task-2@34942" prio=5 tid=0x6c nid=NA waiting
  java.lang.Thread.State: WAITING
	at jdk.internal.misc.Unsafe.park(Unsafe.java:-1)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:371)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:519)
	at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3805)
	at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3746)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1707)
	at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1082)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:651)
	at java.lang.Thread.run(Thread.java:1119)

"WM.task-3@34943" prio=5 tid=0x6d nid=NA waiting
  java.lang.Thread.State: WAITING
	at jdk.internal.misc.Unsafe.park(Unsafe.java:-1)
	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:371)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:519)
	at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3805)
	at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3746)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1707)
	at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1082)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:651)
	at java.lang.Thread.run(Thread.java:1119)

"FinalizerDaemon@34935" daemon prio=5 tid=0x65 nid=NA waiting
  java.lang.Thread.State: WAITING
	 blocks FinalizerDaemon@34935
	at java.lang.Object.wait(Object.java:-1)
	at java.lang.Object.wait(Object.java:405)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:207)
	  - locked <0x889f> (a java.lang.Object)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:228)
	at java.lang.Daemons$FinalizerDaemon.runInternal(Daemons.java:348)
	at java.lang.Daemons$Daemon.run(Daemons.java:132)
	at java.lang.Thread.run(Thread.java:1119)

"FinalizerWatchdogDaemon@34936" daemon prio=5 tid=0x66 nid=NA waiting
  java.lang.Thread.State: WAITING
	 blocks FinalizerWatchdogDaemon@34936
	at java.lang.Object.wait(Object.java:-1)
	at java.lang.Object.wait(Object.java:405)
	at java.lang.Object.wait(Object.java:543)
	at java.lang.Daemons$FinalizerWatchdogDaemon.sleepUntilNeeded(Daemons.java:481)
	  - locked <0x88a0> (a java.lang.Daemons$FinalizerWatchdogDaemon)
	at java.lang.Daemons$FinalizerWatchdogDaemon.runInternal(Daemons.java:461)
	at java.lang.Daemons$Daemon.run(Daemons.java:132)
	at java.lang.Thread.run(Thread.java:1119)

"ReferenceQueueDaemon@34934" daemon prio=5 tid=0x64 nid=NA waiting
  java.lang.Thread.State: WAITING
	 blocks ReferenceQueueDaemon@34934
	at java.lang.Object.wait(Object.java:-1)
	at java.lang.Object.wait(Object.java:405)
	at java.lang.Object.wait(Object.java:543)
	at java.lang.Daemons$ReferenceQueueDaemon.runInternal(Daemons.java:260)
	  - locked <0xf5f> (a java.lang.Class)
	at java.lang.Daemons$Daemon.run(Daemons.java:132)
	at java.lang.Thread.run(Thread.java:1119)

"DefaultDispatcher-worker-1@34945" daemon prio=5 tid=0x6f nid=NA waiting
  java.lang.Thread.State: WAITING
	at jdk.internal.misc.Unsafe.park(Unsafe.java:-1)
	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:410)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler.kt:855)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.kt:803)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:751)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:704)

"DefaultDispatcher-worker-2@34946" daemon prio=5 tid=0x70 nid=NA waiting
  java.lang.Thread.State: WAITING
	at jdk.internal.misc.Unsafe.park(Unsafe.java:-1)
	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:410)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler.kt:855)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.kt:803)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:751)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:704)

"DefaultDispatcher-worker-3@34947" daemon prio=5 tid=0x71 nid=NA waiting
  java.lang.Thread.State: WAITING
	at jdk.internal.misc.Unsafe.park(Unsafe.java:-1)
	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:410)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler.kt:855)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.kt:803)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:751)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:704)

"GmsDynamite@34950" prio=5 tid=0x76 nid=NA waiting
  java.lang.Thread.State: WAITING
	 blocks GmsDynamite@34950
	at java.lang.Object.wait(Object.java:-1)
	at java.lang.Object.wait(Object.java:405)
	at java.lang.Object.wait(Object.java:543)
	at com.google.android.gms.dynamite.zza.run(com.google.android.gms:play-services-basement@@18.5.0:2)
	  - locked <0x8886> (a com.google.android.gms.dynamite.zza)

"ConnectivityThread@34949" prio=5 tid=0x73 nid=NA runnable
  java.lang.Thread.State: RUNNABLE
	at android.os.MessageQueue.nativePollOnce(MessageQueue.java:-1)
	at android.os.MessageQueue.next(MessageQueue.java:349)
	at android.os.Looper.loopOnce(Looper.java:189)
	at android.os.Looper.loop(Looper.java:317)
	at android.os.HandlerThread.run(HandlerThread.java:85)

"GoogleApiHandler@34951" prio=5 tid=0x77 nid=NA runnable
  java.lang.Thread.State: RUNNABLE
	at android.os.MessageQueue.nativePollOnce(MessageQueue.java:-1)
	at android.os.MessageQueue.next(MessageQueue.java:349)
	at android.os.Looper.loopOnce(Looper.java:189)
	at android.os.Looper.loop(Looper.java:317)
	at android.os.HandlerThread.run(HandlerThread.java:85)

"queued-work-looper@34954" prio=5 tid=0x7a nid=NA runnable
  java.lang.Thread.State: RUNNABLE
	at android.os.MessageQueue.nativePollOnce(MessageQueue.java:-1)
	at android.os.MessageQueue.next(MessageQueue.java:349)
	at android.os.Looper.loopOnce(Looper.java:189)
	at android.os.Looper.loop(Looper.java:317)
	at android.os.HandlerThread.run(HandlerThread.java:85)

"HeapTaskDaemon@34933" daemon prio=5 tid=0x63 nid=NA waiting
  java.lang.Thread.State: WAITING
	at dalvik.system.VMRuntime.runHeapTasks(VMRuntime.java:-1)
	at java.lang.Daemons$HeapTaskDaemon.runInternal(Daemons.java:764)
	at java.lang.Daemons$Daemon.run(Daemons.java:132)
	at java.lang.Thread.run(Thread.java:1119)

"Signal Catcher@34930" daemon prio=10 tid=0x60 nid=NA waiting
  java.lang.Thread.State: WAITING


"ADB-JDWP Connection Control Thread@34931" daemon prio=0 tid=0x61 nid=NA waiting
  java.lang.Thread.State: WAITING


"Jit thread pool worker thread 0@34932" daemon prio=5 tid=0x62 nid=NA runnable
  java.lang.Thread.State: RUNNABLE


"binder:13591_1@34937" prio=5 tid=0x67 nid=NA runnable
  java.lang.Thread.State: RUNNABLE


"binder:13591_2@34938" prio=5 tid=0x68 nid=NA runnable
  java.lang.Thread.State: RUNNABLE


"binder:13591_3@34939" prio=5 tid=0x69 nid=NA runnable
  java.lang.Thread.State: RUNNABLE


"Profile Saver@34940" daemon prio=5 tid=0x6a nid=NA runnable
  java.lang.Thread.State: RUNNABLE


"binder:13591_4@34955" prio=5 tid=0x7b nid=NA runnable
  java.lang.Thread.State: RUNNABLE



Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions