-
Notifications
You must be signed in to change notification settings - Fork 653
Open
Labels
Description
[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