Skip to content

ANR - art::ConditionVariable::WaitHoldingLocks #6643

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
trungledangAxonActive opened this issue Jan 24, 2025 · 11 comments
Closed

ANR - art::ConditionVariable::WaitHoldingLocks #6643

trungledangAxonActive opened this issue Jan 24, 2025 · 11 comments

Comments

@trungledangAxonActive
Copy link

trungledangAxonActive commented Jan 24, 2025

Issue

We're facing the ANR issue art::ConditionVariable::WaitHoldingLocks from our app on Android side.
After researching this issue, I see that this issue was already reported on firebase-android-sdk repo: #6147.
According to this comment , it seems like this comes from trace function of firebase-perf module. He already created a dedicated issue on the firebase-android-sdk module: #6407 and I see that it was fixed in this PR #6431
The point here is we don't use firebase-performance in our app. I also have run the ./gradlew app:dependencies to check if we're using it but we're not.

I'm not sure that the issue may come from other modules of firebase, hence please help us to take a look at this issue to see whether it does come from firebase library, and let us know if we can provide for you guys with more information.

Image

Here's is our Stack Trace

main (native):tid=1 systid=14642 
#00 pc 0x57840 libc.so (syscall + 32) (BuildId: edc1b601d9f8344c1eccd3d77a458f65)
#01 pc 0x22a220 libart.so (art::ConditionVariable::WaitHoldingLocks + 136) (BuildId: c35c9ebf7bb06435e4b31977d87bd5d5)
#02 pc 0x9909e8 libart.so (artJniMethodEnd + 344) (BuildId: c35c9ebf7bb06435e4b31977d87bd5d5)
#03 pc 0x78573c libart.so (art_jni_method_end + 12) (BuildId: c35c9ebf7bb06435e4b31977d87bd5d5)
       at android.os.BinderProxy.transactNative(Native method)
       at android.os.BinderProxy.transact(BinderProxy.java:662)
       at android.app.job.IJobCallback$Stub$Proxy.acknowledgeStopMessage(IJobCallback.java:456)
       at android.app.job.JobServiceEngine$JobHandler.ackStopMessage(JobServiceEngine.java:355)
       at android.app.job.JobServiceEngine$JobHandler.handleMessage(JobServiceEngine.java:180)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loopOnce(Looper.java:230)
       at android.os.Looper.loop(Looper.java:319)
       at android.app.ActivityThread.main(ActivityThread.java:9063)
       at java.lang.reflect.Method.invoke(Native method)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:588)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)

We're using

com.google.firebase:firebase-bom:32.0.0 -> 33.5.1 
com.google.firebase:firebase-crashlytics -> 19.2.1 
com.google.firebase:firebase-analytics -> 22.1.2
com.google.firebase:firebase-messaging -> 24.0.3 (m.google.firebase:firebase-bom:32.0.0 -> 33.5.1)
com.google.firebase:firebase-remote-config

I've also found out that there are two cases in our project that use JobScheduler:

  1. com.google.android.datatransport.runtime.scheduling.jobscheduling.JobInfoScheduler
Image
  1. com.google.firebase:firebase-analytics -> com.google.android.gms:play-services-measurement->AppMeasurementJobService->JobScheduler"

Image

Image

https://developer.android.com/reference/android/app/job/JobService

Image

Unfortunately, I've tried to reproduce it, but to no avail. This is quite difficult to reproduce.

I'll really appreciate it if you guys could give me some hints. Thanks a lot.

@google-oss-bot
Copy link
Contributor

I couldn't figure out how to label this issue, so I've labeled it for a human to triage. Hang tight.

@jadroid92
Copy link

We are facing the same issue :

This ANR issue has become more critical now and has severely impacted our app's performance metrics.

Please find the below details:

art::ConditionVariable::WaitHoldingLocks
ANR triggered by thread waiting for a binder transaction

"main" tid=1 Native
#00 pc 0x0000000000099000 /apex/com.android.runtime/lib64/bionic/libc.so (syscall+32)
#1 pc 0x000000000022a220 /apex/com.android.art/lib64/libart.so (art::ConditionVariable::WaitHoldingLocks+136)
#2 pc 0x00000000009909e8 /apex/com.android.art/lib64/libart.so (artJniMethodEnd+344)
#3 pc 0x000000000078573c /apex/com.android.art/lib64/libart.so (art_jni_method_end+12)
at android.os.BinderProxy.transactNative (Native method)
at android.os.BinderProxy.transact (BinderProxy.java:685)
at android.app.job.IJobCallback$Stub$Proxy.acknowledgeStartMessage (IJobCallback.java:434)
at android.app.job.JobServiceEngine$JobHandler.ackStartMessage (JobServiceEngine.java:384)
at android.app.job.JobServiceEngine$JobHandler.handleMessage (JobServiceEngine.java:196)
at android.os.Handler.dispatchMessage (Handler.java:106)
at android.os.Looper.loopOnce (Looper.java:257)
at android.os.Looper.loop (Looper.java:368)
at android.app.ActivityThread.main (ActivityThread.java:8839)
at java.lang.reflect.Method.invoke (Native method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:572)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1049)

"FinalizerWatchdogDaemon" tid=3 Waiting
at java.lang.Object.wait (Native method)
at java.lang.Object.wait (Object.java:405)
at java.lang.Object.wait (Object.java:543)
at java.lang.Daemons$FinalizerWatchdogDaemon.sleepUntilNeeded (Daemons.java:464)
at java.lang.Daemons$FinalizerWatchdogDaemon.runInternal (Daemons.java:444)
at java.lang.Daemons$Daemon.run (Daemons.java:131)
at java.lang.Thread.run (Thread.java:1012)

"FinalizerDaemon" tid=4 Waiting
at java.lang.Object.wait (Native method)
at java.lang.Object.wait (Object.java:405)
at java.lang.ref.ReferenceQueue.remove (ReferenceQueue.java:207)
at java.lang.ref.ReferenceQueue.remove (ReferenceQueue.java:228)
at java.lang.Daemons$FinalizerDaemon.runInternal (Daemons.java:331)
at java.lang.Daemons$Daemon.run (Daemons.java:131)
at java.lang.Thread.run (Thread.java:1012)

"ReferenceQueueDaemon" tid=7 Waiting
at java.lang.Object.wait (Native method)
at java.lang.Object.wait (Object.java:405)
at java.lang.Object.wait (Object.java:543)
at java.lang.Daemons$ReferenceQueueDaemon.runInternal (Daemons.java:251)
at java.lang.Daemons$Daemon.run (Daemons.java:131)
at java.lang.Thread.run (Thread.java:1012)

"GmsDynamite" tid=27 Waiting
at java.lang.Object.wait (Native method)
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.3.0:7)

"Timer-0" tid=37 Waiting
at java.lang.Object.wait (Native method)
at java.lang.Object.wait (Object.java:405)
at java.lang.Object.wait (Object.java:543)
at java.util.TimerThread.mainLoop (Timer.java:544)
at java.util.TimerThread.run (Timer.java:523)

"WM.task-4" tid=59 Runnable
at w96.b (WorkerWrapper.java:1)
at fe4.j (Processor.java:65)
at aa5.run (StartWorkRunnable.java:11)
at m05$a.run (SerialExecutor.java:3)
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)

"Okio Watchdog" tid=68 Waiting
at java.lang.Object.wait (Native method)
at java.lang.Object.wait (Object.java:405)
at java.lang.Object.wait (Object.java:543)
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)

"Signal Catcher" tid=2 Runnable
#00 pc 0x0000000000595f34 /apex/com.android.art/lib64/libart.so (art::DumpNativeStack+108)
#1 pc 0x00000000005985ec /apex/com.android.art/lib64/libart.so (art::Thread::DumpStack const+376)
#2 pc 0x000000000059a3e0 /apex/com.android.art/lib64/libart.so (art::DumpCheckpoint::Run+216)
#3 pc 0x0000000000549098 /apex/com.android.art/lib64/libart.so (art::ThreadList::RunCheckpoint+684)
#4 pc 0x0000000000599d14 /apex/com.android.art/lib64/libart.so (art::ThreadList::Dump+292)
#5 pc 0x00000000005f253c /apex/com.android.art/lib64/libart.so (art::ThreadList::DumpForSigQuit+288)
#6 pc 0x00000000005f199c /apex/com.android.art/lib64/libart.so (art::Runtime::DumpForSigQuit+48)
#7 pc 0x00000000005f15e8 /apex/com.android.art/lib64/libart.so (art::SignalCatcher::HandleSigQuit+612)
#8 pc 0x000000000067512c /apex/com.android.art/lib64/libart.so (art::SignalCatcher::Run+416)
#9 pc 0x0000000000104fc4 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start+208)
#10 pc 0x000000000009e764 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68)

"perfetto_hprof_listener" tid=5 Native
#00 pc 0x00000000000f0218 /apex/com.android.runtime/lib64/bionic/libc.so (read+8)
#1 pc 0x000000000002b9c0 /apex/com.android.art/lib64/libperfetto_hprof.so (void* std::__1::__thread_proxy[abi:nn180000]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_deletestd::__1::__thread_struct>, ArtPlugin_Initialize::$_7>>+308)
#2 pc 0x0000000000104fc4 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start+208)
#3 pc 0x000000000009e764 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68)

"Jit thread pool worker thread 0" tid=6 Native
#00 pc 0x0000000000099000 /apex/com.android.runtime/lib64/bionic/libc.so (syscall+32)
#1 pc 0x000000000022a220 /apex/com.android.art/lib64/libart.so (art::ConditionVariable::WaitHoldingLocks+136)
#2 pc 0x000000000065940c /apex/com.android.art/lib64/libart.so (art::ThreadPoolWorker::Run+208)
#3 pc 0x0000000000675c4c /apex/com.android.art/lib64/libart.so (art::ThreadPoolWorker::Callback+164)
#4 pc 0x0000000000104fc4 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start+208)
#5 pc 0x000000000009e764 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68)

"HeapTaskDaemon" tid=8 Waiting
#00 pc 0x0000000000099000 /apex/com.android.runtime/lib64/bionic/libc.so (syscall+32)
#1 pc 0x000000000022a220 /apex/com.android.art/lib64/libart.so (art::ConditionVariable::WaitHoldingLocks+136)
#2 pc 0x0000000000302e00 /apex/com.android.art/lib64/libart.so (art::gc::TaskProcessor::RunAllTasks+912)
at dalvik.system.VMRuntime.runHeapTasks (Native method)
at java.lang.Daemons$HeapTaskDaemon.runInternal (Daemons.java:734)
at java.lang.Daemons$Daemon.run (Daemons.java:131)
at java.lang.Thread.run (Thread.java:1012)

"binder:8316_1" tid=9 Native
#00 pc 0x00000000000f053c /apex/com.android.runtime/lib64/bionic/libc.so (__ioctl+12)
#1 pc 0x00000000000a71ec /apex/com.android.runtime/lib64/bionic/libc.so (ioctl+160)
#2 pc 0x00000000000623ec /system/lib64/libbinder.so (android::IPCThreadState::talkWithDriver+284)
#3 pc 0x0000000000062734 /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand+28)
#4 pc 0x0000000000063154 /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool+116)
#5 pc 0x000000000006d084 /system/lib64/libbinder.so (android::PoolThread::threadLoop+28)
#6 pc 0x00000000000142d0 /system/lib64/libutils.so (android::Thread::_threadLoop+288)
#7 pc 0x00000000000f09e0 /system/lib64/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell+144)
#8 pc 0x0000000000104fc4 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start+208)
#9 pc 0x000000000009e764 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68)

"binder:8316_2" tid=10 Native
#00 pc 0x00000000000f053c /apex/com.android.runtime/lib64/bionic/libc.so (__ioctl+12)
#1 pc 0x00000000000a71ec /apex/com.android.runtime/lib64/bionic/libc.so (ioctl+160)
#2 pc 0x00000000000623ec /system/lib64/libbinder.so (android::IPCThreadState::talkWithDriver+284)
#3 pc 0x0000000000062734 /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand+28)
#4 pc 0x0000000000063154 /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool+116)
#5 pc 0x000000000006d084 /system/lib64/libbinder.so (android::PoolThread::threadLoop+28)
#6 pc 0x00000000000142d0 /system/lib64/libutils.so (android::Thread::_threadLoop+288)
#7 pc 0x00000000000f09e0 /system/lib64/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell+144)
#8 pc 0x0000000000104fc4 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start+208)
#9 pc 0x000000000009e764 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68)

"binder:8316_3" tid=11 Native
#00 pc 0x00000000000f053c /apex/com.android.runtime/lib64/bionic/libc.so (__ioctl+12)
#1 pc 0x00000000000a71ec /apex/com.android.runtime/lib64/bionic/libc.so (ioctl+160)
#2 pc 0x00000000000623ec /system/lib64/libbinder.so (android::IPCThreadState::talkWithDriver+284)
#3 pc 0x0000000000062734 /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand+28)
#4 pc 0x0000000000063154 /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool+116)
#5 pc 0x000000000006d084 /system/lib64/libbinder.so (android::PoolThread::threadLoop+28)
#6 pc 0x00000000000142d0 /system/lib64/libutils.so (android::Thread::_threadLoop+288)
#7 pc 0x00000000000f09e0 /system/lib64/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell+144)
#8 pc 0x0000000000104fc4 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start+208)
#9 pc 0x000000000009e764 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68)

"Profile Saver" tid=12 Native
#00 pc 0x0000000000099000 /apex/com.android.runtime/lib64/bionic/libc.so (syscall+32)
#1 pc 0x000000000022a220 /apex/com.android.art/lib64/libart.so (art::ConditionVariable::WaitHoldingLocks+136)
#2 pc 0x0000000000557040 /apex/com.android.art/lib64/libart.so (art::ProfileSaver::RunProfileSaverThread+1164)
#3 pc 0x0000000000104fc4 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start+208)
#4 pc 0x000000000009e764 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68)

"queued-work-looper" tid=13 Native
#00 pc 0x00000000000f14fc /apex/com.android.runtime/lib64/bionic/libc.so (__epoll_pwait+12)
#1 pc 0x0000000000018748 /system/lib64/libutils.so (android::Looper::pollInner+192)
#2 pc 0x0000000000018624 /system/lib64/libutils.so (android::Looper::pollOnce+124)
#3 pc 0x000000000018eaa8 /system/lib64/libandroid_runtime.so (android::android_os_MessageQueue_nativePollOnce+48)
at android.os.MessageQueue.nativePollOnce (Native method)
at android.os.MessageQueue.next (MessageQueue.java:350)
at android.os.Looper.loopOnce (Looper.java:187)
at android.os.Looper.loop (Looper.java:368)
at android.os.HandlerThread.run (HandlerThread.java:67)

"binder:8316_5" tid=14 Native
#00 pc 0x0000000000099000 /apex/com.android.runtime/lib64/bionic/libc.so (syscall+32)
#1 pc 0x000000000022a220 /apex/com.android.art/lib64/libart.so (art::ConditionVariable::WaitHoldingLocks+136)
#2 pc 0x000000000072b898 /apex/com.android.art/lib64/libart.so (art::JNI::CallBooleanMethodV+992)
#3 pc 0x00000000000e7a3c /system/lib64/libandroid_runtime.so (_JNIEnv::CallBooleanMethod+124)
#4 pc 0x00000000001a3084 /system/lib64/libandroid_runtime.so (JavaBBinder::onTransact+168)
#5 pc 0x0000000000078a50 /system/lib64/libbinder.so (android::BBinder::transact+308)
#6 pc 0x0000000000062cb4 /system/lib64/libbinder.so (android::IPCThreadState::executeCommand+1040)
#7 pc 0x00000000000627d0 /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand+184)
#8 pc 0x0000000000063154 /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool+116)
#9 pc 0x000000000006d084 /system/lib64/libbinder.so (android::PoolThread::threadLoop+28)
#10 pc 0x00000000000142d0 /system/lib64/libutils.so (android::Thread::_threadLoop+288)
#11 pc 0x00000000000f09e0 /system/lib64/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell+144)
#12 pc 0x0000000000104fc4 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start+208)
#13 pc 0x000000000009e764 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68)

"Firebase Background Thread #0" tid=15 Waiting
at jdk.internal.misc.Unsafe.park (Native method)
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 (CustomThreadFactory.java:13)
at com.google.firebase.concurrent.CustomThreadFactory.a (CustomThreadFactory.java:1)
at com.google.firebase.concurrent.a.run (R8$$SyntheticClass:5)
at java.lang.Thread.run (Thread.java:1012)

"pool-3-thread-1" tid=16 Waiting
at jdk.internal.misc.Unsafe.park (Native method)
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)

"DefaultDispatcher-worker-1" tid=17 Timed Waiting
at jdk.internal.misc.Unsafe.park (Native method)
at java.util.concurrent.locks.LockSupport.parkNanos (LockSupport.java:376)
at kotlinx.coroutines.scheduling.CoroutineScheduler$c.n (CoroutineScheduler.kt:24)
at kotlinx.coroutines.scheduling.CoroutineScheduler$c.t (CoroutineScheduler.kt:56)
at kotlinx.coroutines.scheduling.CoroutineScheduler$c.p (CoroutineScheduler.kt:61)
at kotlinx.coroutines.scheduling.CoroutineScheduler$c.run (CoroutineScheduler.kt:1)

"binder:8316_6" tid=18 Native
#00 pc 0x00000000000f053c /apex/com.android.runtime/lib64/bionic/libc.so (__ioctl+12)
#1 pc 0x00000000000a71ec /apex/com.android.runtime/lib64/bionic/libc.so (ioctl+160)
#2 pc 0x00000000000623ec /system/lib64/libbinder.so (android::IPCThreadState::talkWithDriver+284)
#3 pc 0x0000000000062734 /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand+28)
#4 pc 0x0000000000063154 /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool+116)
#5 pc 0x000000000006d084 /system/lib64/libbinder.so (android::PoolThread::threadLoop+28)
#6 pc 0x00000000000142d0 /system/lib64/libutils.so (android::Thread::_threadLoop+288)
#7 pc 0x00000000000f09e0 /system/lib64/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell+144)
#8 pc 0x0000000000104fc4 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start+208)
#9 pc 0x000000000009e764 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68)

"Firebase Background Thread #1" tid=19 Waiting
at jdk.internal.misc.Unsafe.park (Native method)
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 (CustomThreadFactory.java:13)
at com.google.firebase.concurrent.CustomThreadFactory.a (CustomThreadFactory.java:1)
at com.google.firebase.concurrent.a.run (R8$$SyntheticClass:5)
at java.lang.Thread.run (Thread.java:1012)

"binder:8316_7" tid=20 Native
#00 pc 0x00000000000f053c /apex/com.android.runtime/lib64/bionic/libc.so (__ioctl+12)
#1 pc 0x00000000000a71ec /apex/com.android.runtime/lib64/bionic/libc.so (ioctl+160)
#2 pc 0x00000000000623ec /system/lib64/libbinder.so (android::IPCThreadState::talkWithDriver+284)
#3 pc 0x0000000000062734 /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand+28)
#4 pc 0x0000000000063154 /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool+116)
#5 pc 0x000000000006d084 /system/lib64/libbinder.so (android::PoolThread::threadLoop+28)
#6 pc 0x00000000000142d0 /system/lib64/libutils.so (android::Thread::_threadLoop+288)
#7 pc 0x00000000000f09e0 /system/lib64/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell+144)
#8 pc 0x0000000000104fc4 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start+208)
#9 pc 0x000000000009e764 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68)

"androidx.work-3" tid=21 Waiting
at jdk.internal.misc.Unsafe.park (Native method)
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)

"DefaultDispatcher-worker-2" tid=22 Timed Waiting
at jdk.internal.misc.Unsafe.park (Native method)
at java.util.concurrent.locks.LockSupport.parkNanos (LockSupport.java:376)
at kotlinx.coroutines.scheduling.CoroutineScheduler$c.n (CoroutineScheduler.kt:24)
at kotlinx.coroutines.scheduling.CoroutineScheduler$c.t (CoroutineScheduler.kt:56)
at kotlinx.coroutines.scheduling.CoroutineScheduler$c.p (CoroutineScheduler.kt:61)
at kotlinx.coroutines.scheduling.CoroutineScheduler$c.run (CoroutineScheduler.kt:1)

"DefaultDispatcher-worker-3" tid=23 Timed Waiting
at jdk.internal.misc.Unsafe.park (Native method)
at java.util.concurrent.locks.LockSupport.parkNanos (LockSupport.java:376)
at kotlinx.coroutines.scheduling.CoroutineScheduler$c.n (CoroutineScheduler.kt:24)
at kotlinx.coroutines.scheduling.CoroutineScheduler$c.t (CoroutineScheduler.kt:56)
at kotlinx.coroutines.scheduling.CoroutineScheduler$c.p (CoroutineScheduler.kt:61)
at kotlinx.coroutines.scheduling.CoroutineScheduler$c.run (CoroutineScheduler.kt:1)

"Firebase Background Thread #2" tid=24 Waiting
at jdk.internal.misc.Unsafe.park (Native method)
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 (CustomThreadFactory.java:13)
at com.google.firebase.concurrent.CustomThreadFactory.a (CustomThreadFactory.java:1)
at com.google.firebase.concurrent.a.run (R8$$SyntheticClass:5)
at java.lang.Thread.run (Thread.java:1012)

"Firebase-Messaging-Init" tid=25 Waiting
at jdk.internal.misc.Unsafe.park (Native method)
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.3.0:7)
at java.lang.Thread.run (Thread.java:1012)

"Firebase-Messaging-Topics-Io" tid=26 Waiting
at jdk.internal.misc.Unsafe.park (Native method)
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.3.0:7)
at java.lang.Thread.run (Thread.java:1012)

"androidx.work-4" tid=28 Waiting
at jdk.internal.misc.Unsafe.park (Native method)
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" tid=29 Waiting
at jdk.internal.misc.Unsafe.park (Native method)
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 (CustomThreadFactory.java:13)
at com.google.firebase.concurrent.CustomThreadFactory.a (CustomThreadFactory.java:1)
at com.google.firebase.concurrent.a.run (R8$$SyntheticClass:5)
at java.lang.Thread.run (Thread.java:1012)

"MessengerIpcClient" tid=30 Waiting
at jdk.internal.misc.Unsafe.park (Native method)
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.3.0:7)
at java.lang.Thread.run (Thread.java:1012)

"WM.task-1" tid=31 Waiting
at jdk.internal.misc.Unsafe.park (Native method)
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-15-thread-1" tid=32 Waiting
at jdk.internal.misc.Unsafe.park (Native method)
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)

"pool-15-thread-2" tid=33 Waiting
at jdk.internal.misc.Unsafe.park (Native method)
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)

"pool-15-thread-4" tid=34 Waiting
at jdk.internal.misc.Unsafe.park (Native method)
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)

"pool-15-thread-3" tid=35 Waiting
at jdk.internal.misc.Unsafe.park (Native method)
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)

"pool-17-thread-1" tid=36 Waiting
at jdk.internal.misc.Unsafe.park (Native method)
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)

"binder:8316_8" tid=38 Native
#00 pc 0x00000000000f053c /apex/com.android.runtime/lib64/bionic/libc.so (__ioctl+12)
#1 pc 0x00000000000a71ec /apex/com.android.runtime/lib64/bionic/libc.so (ioctl+160)
#2 pc 0x00000000000623ec /system/lib64/libbinder.so (android::IPCThreadState::talkWithDriver+284)
#3 pc 0x0000000000062734 /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand+28)
#4 pc 0x0000000000063154 /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool+116)
#5 pc 0x000000000006d084 /system/lib64/libbinder.so (android::PoolThread::threadLoop+28)
#6 pc 0x00000000000142d0 /system/lib64/libutils.so (android::Thread::_threadLoop+288)
#7 pc 0x00000000000f09e0 /system/lib64/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell+144)
#8 pc 0x0000000000104fc4 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start+208)
#9 pc 0x000000000009e764 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68)

"binder:8316_9" tid=39 Native
#00 pc 0x00000000000f053c /apex/com.android.runtime/lib64/bionic/libc.so (__ioctl+12)
#1 pc 0x00000000000a71ec /apex/com.android.runtime/lib64/bionic/libc.so (ioctl+160)
#2 pc 0x00000000000623ec /system/lib64/libbinder.so (android::IPCThreadState::talkWithDriver+284)
#3 pc 0x0000000000062734 /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand+28)
#4 pc 0x0000000000063154 /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool+116)
#5 pc 0x000000000006d084 /system/lib64/libbinder.so (android::PoolThread::threadLoop+28)
#6 pc 0x00000000000142d0 /system/lib64/libutils.so (android::Thread::_threadLoop+288)
#7 pc 0x00000000000f09e0 /system/lib64/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell+144)
#8 pc 0x0000000000104fc4 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start+208)
#9 pc 0x000000000009e764 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68)

"WM.task-2" tid=40 Waiting
at jdk.internal.misc.Unsafe.park (Native method)
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)

"queue-1-2" tid=41 Waiting
at jdk.internal.misc.Unsafe.park (Native method)
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)

"ConnectivityThread" tid=42 Native
#00 pc 0x00000000000f14fc /apex/com.android.runtime/lib64/bionic/libc.so (__epoll_pwait+12)
#1 pc 0x0000000000018748 /system/lib64/libutils.so (android::Looper::pollInner+192)
#2 pc 0x0000000000018624 /system/lib64/libutils.so (android::Looper::pollOnce+124)
#3 pc 0x000000000018eaa8 /system/lib64/libandroid_runtime.so (android::android_os_MessageQueue_nativePollOnce+48)
at android.os.MessageQueue.nativePollOnce (Native method)
at android.os.MessageQueue.next (MessageQueue.java:350)
at android.os.Looper.loopOnce (Looper.java:187)
at android.os.Looper.loop (Looper.java:368)
at android.os.HandlerThread.run (HandlerThread.java:67)

"pool-18-thread-1" tid=43 Waiting
at jdk.internal.misc.Unsafe.park (Native method)
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)

"binder:8316_A" tid=44 Native
#00 pc 0x00000000000f053c /apex/com.android.runtime/lib64/bionic/libc.so (__ioctl+12)
#1 pc 0x00000000000a71ec /apex/com.android.runtime/lib64/bionic/libc.so (ioctl+160)
#2 pc 0x00000000000623ec /system/lib64/libbinder.so (android::IPCThreadState::talkWithDriver+284)
#3 pc 0x0000000000062734 /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand+28)
#4 pc 0x0000000000063154 /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool+116)
#5 pc 0x000000000006d084 /system/lib64/libbinder.so (android::PoolThread::threadLoop+28)
#6 pc 0x00000000000142d0 /system/lib64/libutils.so (android::Thread::_threadLoop+288)
#7 pc 0x00000000000f09e0 /system/lib64/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell+144)
#8 pc 0x0000000000104fc4 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start+208)
#9 pc 0x000000000009e764 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68)

"pool-25-thread-1" tid=45 Waiting
at jdk.internal.misc.Unsafe.park (Native method)
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-24-thread-5" tid=46 Waiting
at jdk.internal.misc.Unsafe.park (Native method)
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-24-thread-3" tid=47 Waiting
at jdk.internal.misc.Unsafe.park (Native method)
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-24-thread-4" tid=48 Waiting
at jdk.internal.misc.Unsafe.park (Native method)
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-24-thread-2" tid=49 Waiting
at jdk.internal.misc.Unsafe.park (Native method)
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)

"queue-1-3" tid=50 Waiting
at jdk.internal.misc.Unsafe.park (Native method)
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-24-thread-1" tid=51 Waiting
at jdk.internal.misc.Unsafe.park (Native method)
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-24-thread-7" tid=52 Waiting
at jdk.internal.misc.Unsafe.park (Native method)
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-24-thread-6" tid=53 Waiting
at jdk.internal.misc.Unsafe.park (Native method)
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-24-thread-8" tid=54 Waiting
at jdk.internal.misc.Unsafe.park (Native method)
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-26-thread-1" tid=55 Waiting
at jdk.internal.misc.Unsafe.park (Native method)
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)

"WM.task-3" tid=56 Waiting
at jdk.internal.misc.Unsafe.park (Native method)
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)

"binder:8316_B" tid=57 Native
#00 pc 0x00000000000f053c /apex/com.android.runtime/lib64/bionic/libc.so (__ioctl+12)
#1 pc 0x00000000000a71ec /apex/com.android.runtime/lib64/bionic/libc.so (ioctl+160)
#2 pc 0x00000000000623ec /system/lib64/libbinder.so (android::IPCThreadState::talkWithDriver+284)
#3 pc 0x0000000000062734 /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand+28)
#4 pc 0x0000000000063154 /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool+116)
#5 pc 0x000000000006d084 /system/lib64/libbinder.so (android::PoolThread::threadLoop+28)
#6 pc 0x00000000000142d0 /system/lib64/libutils.so (android::Thread::_threadLoop+288)
#7 pc 0x00000000000f09e0 /system/lib64/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell+144)
#8 pc 0x0000000000104fc4 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start+208)
#9 pc 0x000000000009e764 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68)

"pool-20-thread-1" tid=58 Waiting
at jdk.internal.misc.Unsafe.park (Native method)
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-27-thread-1" tid=60 Waiting
at jdk.internal.misc.Unsafe.park (Native method)
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)

"ev" tid=61 Native
#00 pc 0x00000000000f14fc /apex/com.android.runtime/lib64/bionic/libc.so (__epoll_pwait+12)
#1 pc 0x0000000000018748 /system/lib64/libutils.so (android::Looper::pollInner+192)
#2 pc 0x0000000000018624 /system/lib64/libutils.so (android::Looper::pollOnce+124)
#3 pc 0x000000000018eaa8 /system/lib64/libandroid_runtime.so (android::android_os_MessageQueue_nativePollOnce+48)
at android.os.MessageQueue.nativePollOnce (Native method)
at android.os.MessageQueue.next (MessageQueue.java:350)
at android.os.Looper.loopOnce (Looper.java:187)
at android.os.Looper.loop (Looper.java:368)
at android.os.HandlerThread.run (HandlerThread.java:67)

"pool-19-thread-1" tid=62 Waiting
at jdk.internal.misc.Unsafe.park (Native method)
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)

"androidx.work-1" tid=63 Waiting
at jdk.internal.misc.Unsafe.park (Native method)
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)

"androidx.work-2" tid=64 Waiting
at jdk.internal.misc.Unsafe.park (Native method)
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)

"GroupHandler" tid=65 Native
#00 pc 0x00000000000f14fc /apex/com.android.runtime/lib64/bionic/libc.so (__epoll_pwait+12)
#1 pc 0x0000000000018748 /system/lib64/libutils.so (android::Looper::pollInner+192)
#2 pc 0x0000000000018624 /system/lib64/libutils.so (android::Looper::pollOnce+124)
#3 pc 0x000000000018eaa8 /system/lib64/libandroid_runtime.so (android::android_os_MessageQueue_nativePollOnce+48)
at android.os.MessageQueue.nativePollOnce (Native method)
at android.os.MessageQueue.next (MessageQueue.java:350)
at android.os.Looper.loopOnce (Looper.java:187)
at android.os.Looper.loop (Looper.java:368)
at android.os.HandlerThread.run (HandlerThread.java:67)

"Notification handler" tid=66 Native
#00 pc 0x00000000000f14fc /apex/com.android.runtime/lib64/bionic/libc.so (__epoll_pwait+12)
#1 pc 0x0000000000018748 /system/lib64/libutils.so (android::Looper::pollInner+192)
#2 pc 0x0000000000018624 /system/lib64/libutils.so (android::Looper::pollOnce+124)
#3 pc 0x000000000018eaa8 /system/lib64/libandroid_runtime.so (android::android_os_MessageQueue_nativePollOnce+48)
at android.os.MessageQueue.nativePollOnce (Native method)
at android.os.MessageQueue.next (MessageQueue.java:350)
at android.os.Looper.loopOnce (Looper.java:187)
at android.os.Looper.loop (Looper.java:368)
at android.os.HandlerThread.run (HandlerThread.java:67)

"EventBatchProcessor_Thread" tid=67 Native
#00 pc 0x00000000000f14fc /apex/com.android.runtime/lib64/bionic/libc.so (__epoll_pwait+12)
#1 pc 0x0000000000018748 /system/lib64/libutils.so (android::Looper::pollInner+192)
#2 pc 0x0000000000018624 /system/lib64/libutils.so (android::Looper::pollOnce+124)
#3 pc 0x000000000018eaa8 /system/lib64/libandroid_runtime.so (android::android_os_MessageQueue_nativePollOnce+48)
at android.os.MessageQueue.nativePollOnce (Native method)
at android.os.MessageQueue.next (MessageQueue.java:350)
at android.os.Looper.loopOnce (Looper.java:187)
at android.os.Looper.loop (Looper.java:368)
at android.os.HandlerThread.run (HandlerThread.java:67)

"binder:8316_4" tid=69 Native
#00 pc 0x00000000000f053c /apex/com.android.runtime/lib64/bionic/libc.so (__ioctl+12)
#1 pc 0x00000000000a71ec /apex/com.android.runtime/lib64/bionic/libc.so (ioctl+160)
#2 pc 0x00000000000623ec /system/lib64/libbinder.so (android::IPCThreadState::talkWithDriver+284)
#3 pc 0x0000000000062734 /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand+28)
#4 pc 0x0000000000063154 /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool+116)
#5 pc 0x000000000006d084 /system/lib64/libbinder.so (android::PoolThread::threadLoop+28)
#6 pc 0x00000000000142d0 /system/lib64/libutils.so (android::Thread::_threadLoop+288)
#7 pc 0x00000000000f09e0 /system/lib64/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell+144)
#8 pc 0x0000000000104fc4 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start+208)
#9 pc 0x000000000009e764 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68)

"binder:8316_C" tid=70 Native
#00 pc 0x00000000000f053c /apex/com.android.runtime/lib64/bionic/libc.so (__ioctl+12)
#1 pc 0x00000000000a71ec /apex/com.android.runtime/lib64/bionic/libc.so (ioctl+160)
#2 pc 0x00000000000623ec /system/lib64/libbinder.so (android::IPCThreadState::talkWithDriver+284)
#3 pc 0x0000000000062734 /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand+28)
#4 pc 0x0000000000063154 /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool+116)
#5 pc 0x000000000006d084 /system/lib64/libbinder.so (android::PoolThread::threadLoop+28)
#6 pc 0x00000000000142d0 /system/lib64/libutils.so (android::Thread::_threadLoop+288)
#7 pc 0x00000000000f09e0 /system/lib64/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell+144)
#8 pc 0x0000000000104fc4 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start+208)
#9 pc 0x000000000009e764 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68)

"binder:8316_D" tid=71 Native
#00 pc 0x00000000000f053c /apex/com.android.runtime/lib64/bionic/libc.so (__ioctl+12)
#1 pc 0x00000000000a71ec /apex/com.android.runtime/lib64/bionic/libc.so (ioctl+160)
#2 pc 0x00000000000623ec /system/lib64/libbinder.so (android::IPCThreadState::talkWithDriver+284)
#3 pc 0x0000000000062734 /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand+28)
#4 pc 0x0000000000063154 /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool+116)
#5 pc 0x000000000006d084 /system/lib64/libbinder.so (android::PoolThread::threadLoop+28)
#6 pc 0x00000000000142d0 /system/lib64/libutils.so (android::Thread::_threadLoop+288)
#7 pc 0x00000000000f09e0 /system/lib64/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell+144)
#8 pc 0x0000000000104fc4 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start+208)
#9 pc 0x000000000009e764 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68)

"binder:8316_E" tid=72 Native
#00 pc 0x00000000000f053c /apex/com.android.runtime/lib64/bionic/libc.so (__ioctl+12)
#1 pc 0x00000000000a71ec /apex/com.android.runtime/lib64/bionic/libc.so (ioctl+160)
#2 pc 0x00000000000623ec /system/lib64/libbinder.so (android::IPCThreadState::talkWithDriver+284)
#3 pc 0x0000000000062734 /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand+28)
#4 pc 0x0000000000063154 /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool+116)
#5 pc 0x000000000006d084 /system/lib64/libbinder.so (android::PoolThread::threadLoop+28)
#6 pc 0x00000000000142d0 /system/lib64/libutils.so (android::Thread::_threadLoop+288)
#7 pc 0x00000000000f09e0 /system/lib64/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell+144)
#8 pc 0x0000000000104fc4 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start+208)
#9 pc 0x000000000009e764 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68)

"binder:8316_F" tid=73 Native
#00 pc 0x00000000000f053c /apex/com.android.runtime/lib64/bionic/libc.so (__ioctl+12)
#1 pc 0x00000000000a71ec /apex/com.android.runtime/lib64/bionic/libc.so (ioctl+160)
#2 pc 0x00000000000623ec /system/lib64/libbinder.so (android::IPCThreadState::talkWithDriver+284)
#3 pc 0x0000000000062734 /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand+28)
#4 pc 0x0000000000063154 /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool+116)
#5 pc 0x000000000006d084 /system/lib64/libbinder.so (android::PoolThread::threadLoop+28)
#6 pc 0x00000000000142d0 /system/lib64/libutils.so (android::Thread::_threadLoop+288)
#7 pc 0x00000000000f09e0 /system/lib64/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell+144)
#8 pc 0x0000000000104fc4 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start+208)
#9 pc 0x000000000009e764 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68)

"binder:8316_10" tid=75 Native
#00 pc 0x00000000000f053c /apex/com.android.runtime/lib64/bionic/libc.so (__ioctl+12)
#1 pc 0x00000000000a71ec /apex/com.android.runtime/lib64/bionic/libc.so (ioctl+160)
#2 pc 0x00000000000623ec /system/lib64/libbinder.so (android::IPCThreadState::talkWithDriver+284)
#3 pc 0x0000000000062734 /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand+28)
#4 pc 0x0000000000063154 /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool+116)
#5 pc 0x000000000006d084 /system/lib64/libbinder.so (android::PoolThread::threadLoop+28)
#6 pc 0x00000000000142d0 /system/lib64/libutils.so (android::Thread::_threadLoop+288)
#7 pc 0x00000000000f09e0 /system/lib64/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell+144)
#8 pc 0x0000000000104fc4 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start+208)
#9 pc 0x000000000009e764 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68)

@lehcar09
Copy link
Contributor

Hi folks! thank you for reporting the issue. This looks similar to #6147, as you mentioned @trungledangAxonActive.

Based on this comment:

After some investigation here are the results:

  1. Previous to Android 14, these app closures still occurred, but where not reported as ANRs, so while it may be worrying to see this ANR spike in Android 14, your user's behavior is not degraded.
  2. This ANR is also not caused by hitting the timeout behavior change in Android 14, Firelog's use of JobScheduler does very little on the main thread, and in a test we ran swapping to WorkManager didn't improve the situation as WorkManager is implemented on top of JobScheduler, however performance was heavier weight, so we decided to not ship that change.
  3. The vast majority (>99%) of these ANRs are background ANRs. It is important to note that background ANRs are not user visible. The user experience of a background ANR is that the app takes slightly longer to turn on the next time they launch it. Also, background ANRs are relatively common, because a backgrounded app will be running with very limited access to memory and CPU time.

I'll raise this to our engineers. I'll get back to you once I hear from them. Thanks!

@jadroid92
Copy link

@lehcar09 Thanks for the update!
However, our Play Store ANR metric has deteriorated significantly, increasing from 0.35% to 1.89%.

We are currently using the following Firebase services:
Firebase Crashlytics
Firebase Performance
Firebase Analytics

Would the following changes help in reducing background ANRs?
FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(false); FirebasePerformance.getInstance().setPerformanceCollectionEnabled(false); FirebaseAnalytics.getInstance(this).setAnalyticsCollectionEnabled(false);

Awaiting your response.

Thanks,

@lehcar09
Copy link
Contributor

@jadroid92

Just to note, calling set<Firebase Service>CollectionEnabled(false) means that data collection is suspended until you re-enable it. I can't say if disabling collection of Firebase Analytics, Crashlytics, or Performance can help reducing the background. ANR issue is usually very difficult to isolate and figure out what's causing it.

@lehcar09
Copy link
Contributor

@trungledangAxonActive can you share your complete stack trace?

Arturo171 added a commit to Arturo171/firebase-android-sdk that referenced this issue Jan 28, 2025
@jadroid92
Copy link

@lehcar09 Any updates from the engineering team? Meanwhile, is there any alternate option/solution?

@jadroid92
Copy link

@lehcar09 Could you tell me what exactly is causing this issue? Is it because of Crashlytics, Performance, Analytics, or the Messaging service?
Will it fix by upgrading targetSDK version 34 to 35 ?

@trungledangAxonActive
Copy link
Author

trungledangAxonActive commented Feb 5, 2025

Hi @lehcar09, I'm sorry for replying late because I was on my Tet Vacation in VietNam.
Here's our stack trace, I removed some sensitive information related to our app (very little) but I believe it's still traceable at least for you.

WaitHoldingLocks-StackTrace.txt

@jadroid92
Copy link

@lehcar09 Did you get a chance to look into it?

@lehcar09
Copy link
Contributor

Hi folks! I consulted our engineer about this issue and per checking there is nothing in the stack trace that implicated Google Analytics for Firebase SDK.

As I mentioned, I believe this is similar to issue #6147. You can refer to this comment for the investigation result on the issue.

ANRs can happen for many reasons, and it is very difficult to isolate and figure out what's wrong. That said, I’ll be closing this ticket for now. If anyone can see any commonalities between these ANRs, or even better, code snippets or minimal reproducible examples, please share it with us. It'll really help us move this investigation forward. Thanks!

@firebase firebase locked and limited conversation to collaborators Mar 14, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants