We are receiving many background ANR issues which are not actionable as per Google play console, the reason seems to be Workmanager, by researching it seems like there were some bugs in androidx.work which are fixed in androidx.work 2.8.1, hence this plugin should upgrade the dependency.
The issue and fix in 2.8.1: https://issuetracker.google.com/issues/236906724
Crashlytics suggestions
These issues are not actionable as the stack traces do not show the blocking condition that is causing the ANR. This type of ANR report is produced when the ANR condition has passed by the time the stack trace is captured. This is usually caused by high load or resource contention inside the Android system server, which may contribute to the root cause of the ANR.
It is not possible to determine the root cause of ANRs where the main thread is idle. These ANRs are included in Android vitals for completeness, as they help to show the number of users affected by ANRs. To fix the underlying root cause, you should look at ANRs with the same type and activity, but with different main thread states.
```text
Trace
Signal Catcher (runnable):tid=6 systid=10024
00 pc 0x6b13a0 libart.so (art::DumpNativeStack(std::__1::basic_ostream >&, int, BacktraceMap*, char const*, art::ArtMethod*, void*, bool) + 128) (BuildId: xxxxxx)
01 pc 0x719cf0 libart.so (art::Thread::DumpStack(std::__1::basic_ostream >&, bool, BacktraceMap*, bool) const + 236) (BuildId: xxxxxx)
02 pc 0x729248 libart.so (art::DumpCheckpoint::Run(art::Thread*) + 216) (BuildId: xxxxxx)
03 pc 0x374f6c libart.so (art::ThreadList::RunCheckpoint(art::Closure*, art::Closure*) + 448) (BuildId: xxxxxx)
04 pc 0x727728 libart.so (art::ThreadList::Dump(std::__1::basic_ostream >&, bool) + 292) (BuildId: xxxxxx)
05 pc 0x7270f4 libart.so (art::ThreadList::DumpForSigQuit(std::__1::basic_ostream >&) + 300) (BuildId: xxxxxx)
06 pc 0x6fd04c libart.so (art::Runtime::DumpForSigQuit(std::__1::basic_ostream >&) + 184) (BuildId: xxxxxx)
07 pc 0x7097bc libart.so (art::SignalCatcher::HandleSigQuit() + 468) (BuildId: xxxxxx)
08 pc 0x57f6a0 libart.so (art::SignalCatcher::Run(void*) + 268) (BuildId: xxxxxx)
09 pc 0xf5298 libc.so (__pthread_start(void*) + 208) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
10 pc 0x8ebdc libc.so (__start_thread + 68) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
main (native):tid=1 systid=10017
00 pc 0xe186c libc.so (__epoll_pwait + 12) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
01 pc 0x17cc0 libutils.so (android::Looper::pollInner(int) + 192) (BuildId: 97f353c1a350efeb766e1e852854da85)
02 pc 0x17b9c libutils.so (android::Looper::pollOnce(int, int*, int*, void**) + 116) (BuildId: 97f353c1a350efeb766e1e852854da85)
03 pc 0x1689ec libandroid_runtime.so (android::android_os_MessageQueue_nativePollOnce(_JNIEnv*, _jobject*, long, int) + 48) (BuildId: 404521c803f6f5610a0e1f6c19a45012)
at android.os.MessageQueue.nativePollOnce(Native method)
at android.os.MessageQueue.next(MessageQueue.java:335)
at android.os.Looper.loopOnce(Looper.java:186)
at android.os.Looper.loop(Looper.java:313)
at android.app.ActivityThread.main(ActivityThread.java:8757)
at java.lang.reflect.Method.invoke(Native method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:604)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1067)
perfetto_hprof_listener (native):tid=7 systid=10025
00 pc 0xe05a8 libc.so (read + 8) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
01 pc 0x1e10c libperfetto_hprof.so (void* std::__1::__thread_proxy >, ArtPlugin_Initialize::$_34> >(void*) + 264) (BuildId: f7f741da67bb911fea60db7836809941)
02 pc 0xf5298 libc.so (__pthread_start(void*) + 208) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
03 pc 0x8ebdc libc.so (__start_thread + 68) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
HeapTaskDaemon (waiting):tid=8 systid=10027
00 pc 0x89630 libc.so (syscall + 32) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
01 pc 0x3a9ae4 libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*) + 140) (BuildId: xxxxxx)
02 pc 0x485728 libart.so (art::gc::TaskProcessor::GetTask(art::Thread*) + 792) (BuildId: xxxxxx)
03 pc 0x4853c4 libart.so (art::gc::TaskProcessor::RunAllTasks(art::Thread*) + 32) (BuildId: xxxxxx)
at dalvik.system.VMRuntime.runHeapTasks(Native method)
at java.lang.Daemons$HeapTaskDaemon.runInternal(Daemons.java:609)
at java.lang.Daemons$Daemon.run(Daemons.java:140)
at java.lang.Thread.run(Thread.java:1012)
Jit thread pool worker thread 0 (native):tid=9 systid=10026
00 pc 0x89630 libc.so (syscall + 32) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
01 pc 0x3a9ae4 libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*) + 140) (BuildId: xxxxxx)
02 pc 0x62d514 libart.so (art::ThreadPool::GetTask(art::Thread*) + 120) (BuildId: xxxxxx)
03 pc 0x62d374 libart.so (art::ThreadPoolWorker::Run() + 136) (BuildId: xxxxxx)
04 pc 0x62d250 libart.so (art::ThreadPoolWorker::Callback(void*) + 164) (BuildId: xxxxxx)
05 pc 0xf5298 libc.so (__pthread_start(void*) + 208) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
06 pc 0x8ebdc libc.so (__start_thread + 68) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
FinalizerDaemon (waiting):tid=10 systid=10029
at java.lang.Object.wait(Native method)
at java.lang.Object.wait(Object.java:442)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:203)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:224)
at java.lang.Daemons$FinalizerDaemon.runInternal(Daemons.java:300)
at java.lang.Daemons$Daemon.run(Daemons.java:140)
at java.lang.Thread.run(Thread.java:1012)
FinalizerWatchdogDaemon (timed waiting):tid=11 systid=10030
at java.lang.Thread.sleep(Native method)
at java.lang.Thread.sleep(Thread.java:450)
at java.lang.Thread.sleep(Thread.java:355)
at java.lang.Daemons$FinalizerWatchdogDaemon.sleepForNanos(Daemons.java:438)
at java.lang.Daemons$FinalizerWatchdogDaemon.waitForProgress(Daemons.java:480)
at java.lang.Daemons$FinalizerWatchdogDaemon.runInternal(Daemons.java:369)
at java.lang.Daemons$Daemon.run(Daemons.java:140)
at java.lang.Thread.run(Thread.java:1012)
ReferenceQueueDaemon (waiting):tid=12 systid=10028
at java.lang.Object.wait(Native method)
at java.lang.Object.wait(Object.java:442)
at java.lang.Object.wait(Object.java:568)
at java.lang.Daemons$ReferenceQueueDaemon.runInternal(Daemons.java:232)
at java.lang.Daemons$Daemon.run(Daemons.java:140)
at java.lang.Thread.run(Thread.java:1012)
binder:10017_1 (native):tid=13 systid=10031
00 pc 0xe088c libc.so (__ioctl + 12) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
01 pc 0x9765c libc.so (ioctl + 160) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
02 pc 0x5c2a0 libbinder.so (android::IPCThreadState::talkWithDriver(bool) + 284) (BuildId: 0234f9002fd61e3de30c847bdd330237)
03 pc 0x5c594 libbinder.so (android::IPCThreadState::getAndExecuteCommand() + 28) (BuildId: 0234f9002fd61e3de30c847bdd330237)
04 pc 0x5cef0 libbinder.so (android::IPCThreadState::joinThreadPool(bool) + 72) (BuildId: 0234f9002fd61e3de30c847bdd330237)
05 pc 0x8d164 libbinder.so (android::PoolThread::threadLoop() + 448) (BuildId: 0234f9002fd61e3de30c847bdd330237)
06 pc 0x13418 libutils.so (android::Thread::_threadLoop(void*) + 424) (BuildId: 97f353c1a350efeb766e1e852854da85)
07 pc 0xce7e8 libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*) + 144) (BuildId: 404521c803f6f5610a0e1f6c19a45012)
08 pc 0xf5298 libc.so (__pthread_start(void*) + 208) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
09 pc 0x8ebdc libc.so (__start_thread + 68) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
binder:10017_2 (native):tid=14 systid=10032
00 pc 0xe088c libc.so (__ioctl + 12) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
01 pc 0x9765c libc.so (ioctl + 160) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
02 pc 0x5c2a0 libbinder.so (android::IPCThreadState::talkWithDriver(bool) + 284) (BuildId: 0234f9002fd61e3de30c847bdd330237)
03 pc 0x5c594 libbinder.so (android::IPCThreadState::getAndExecuteCommand() + 28) (BuildId: 0234f9002fd61e3de30c847bdd330237)
04 pc 0x5cef0 libbinder.so (android::IPCThreadState::joinThreadPool(bool) + 72) (BuildId: 0234f9002fd61e3de30c847bdd330237)
05 pc 0x8d164 libbinder.so (android::PoolThread::threadLoop() + 448) (BuildId: 0234f9002fd61e3de30c847bdd330237)
06 pc 0x13418 libutils.so (android::Thread::_threadLoop(void*) + 424) (BuildId: 97f353c1a350efeb766e1e852854da85)
07 pc 0xce7e8 libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*) + 144) (BuildId: 404521c803f6f5610a0e1f6c19a45012)
08 pc 0xf5298 libc.so (__pthread_start(void*) + 208) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
09 pc 0x8ebdc libc.so (__start_thread + 68) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
Profile Saver (native):tid=15 systid=10037
00 pc 0x89630 libc.so (syscall + 32) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
01 pc 0x3a9ae4 libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*) + 140) (BuildId: xxxxxx)
02 pc 0x55a388 libart.so (art::ProfileSaver::Run() + 372) (BuildId: xxxxxx)
03 pc 0x559798 libart.so (art::ProfileSaver::RunProfileSaverThread(void*) + 152) (BuildId: xxxxxx)
04 pc 0xf5298 libc.so (__pthread_start(void*) + 208) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
05 pc 0x8ebdc libc.so (__start_thread + 68) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
ScionFrontendApi (timed waiting):tid=16 systid=10059
at jdk.internal.misc.Unsafe.park(Native method)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:234)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2123)
at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:458)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1062)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1123)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
at java.lang.Thread.run(Thread.java:1012)
Crashlytics Exception Handler1 (waiting):tid=17 systid=10060
at jdk.internal.misc.Unsafe.park(Native method)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:194)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2081)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:433)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1063)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1123)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
at com.google.firebase.crashlytics.internal.common.ExecutorUtils$1$1.onRun(ExecutorUtils.java:2)
at com.google.firebase.crashlytics.internal.common.BackgroundPriorityRunnable.run(BackgroundPriorityRunnable.java:5)
at java.lang.Thread.run(Thread.java:1012)
com.google.firebase.crashlytics.startup1 (waiting):tid=18 systid=10061
at jdk.internal.misc.Unsafe.park(Native method)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:194)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2081)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:433)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1063)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1123)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
at com.google.firebase.crashlytics.internal.common.ExecutorUtils$1$1.onRun(ExecutorUtils.java:2)
at com.google.firebase.crashlytics.internal.common.BackgroundPriorityRunnable.run(BackgroundPriorityRunnable.java:5)
at java.lang.Thread.run(Thread.java:1012)
Firebase Background Thread 0 (waiting):tid=19 systid=10062
at jdk.internal.misc.Unsafe.park(Native method)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:194)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2081)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:433)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1063)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1123)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0(CustomThreadFactory.java:12)
at java.lang.Thread.run(Thread.java:1012)
GmsDynamite (waiting):tid=20 systid=10064
at java.lang.Object.wait(Native method)
at java.lang.Object.wait(Object.java:442)
at java.lang.Object.wait(Object.java:568)
at com.google.android.gms.dynamite.zza.run(zza.java:6)
awaitEvenIfOnMainThread task continuation executor1 (waiting):tid=21 systid=10065
at jdk.internal.misc.Unsafe.park(Native method)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:194)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2081)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:433)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1063)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1123)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
at com.google.firebase.crashlytics.internal.common.ExecutorUtils$1$1.onRun(ExecutorUtils.java:2)
at com.google.firebase.crashlytics.internal.common.BackgroundPriorityRunnable.run(BackgroundPriorityRunnable.java:5)
at java.lang.Thread.run(Thread.java:1012)
Firebase Blocking Thread 0 (timed waiting):tid=22 systid=10066
at jdk.internal.misc.Unsafe.park(Native method)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:234)
at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:463)
at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:361)
at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:939)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1062)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1123)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0(CustomThreadFactory.java:12)
at java.lang.Thread.run(Thread.java:1012)
pool-8-thread-1 (waiting):tid=23 systid=10074
at jdk.internal.misc.Unsafe.park(Native method)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:194)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2081)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:433)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1063)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1123)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
at java.lang.Thread.run(Thread.java:1012)
Firebase Background Thread 1 (waiting):tid=24 systid=10075
at jdk.internal.misc.Unsafe.park(Native method)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:194)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2081)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:433)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1063)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1123)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0(CustomThreadFactory.java:12)
at java.lang.Thread.run(Thread.java:1012)
WM.task-1 (waiting):tid=25 systid=10081
at jdk.internal.misc.Unsafe.park(Native method)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:194)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2081)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:433)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1063)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1123)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
at java.lang.Thread.run(Thread.java:1012)
OkHttp ConnectionPool (timed waiting):tid=27 systid=10080
at java.lang.Object.wait(Native method)
at com.android.okhttp.ConnectionPool$1.run(ConnectionPool.java:106)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
at java.lang.Thread.run(Thread.java:1012)
binder:10017_3 (native):tid=26 systid=10083
00 pc 0xe088c libc.so (__ioctl + 12) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
01 pc 0x9765c libc.so (ioctl + 160) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
02 pc 0x5c2a0 libbinder.so (android::IPCThreadState::talkWithDriver(bool) + 284) (BuildId: 0234f9002fd61e3de30c847bdd330237)
03 pc 0x5c594 libbinder.so (android::IPCThreadState::getAndExecuteCommand() + 28) (BuildId: 0234f9002fd61e3de30c847bdd330237)
04 pc 0x5cef0 libbinder.so (android::IPCThreadState::joinThreadPool(bool) + 72) (BuildId: 0234f9002fd61e3de30c847bdd330237)
05 pc 0x8d164 libbinder.so (android::PoolThread::threadLoop() + 448) (BuildId: 0234f9002fd61e3de30c847bdd330237)
06 pc 0x13418 libutils.so (android::Thread::_threadLoop(void*) + 424) (BuildId: 97f353c1a350efeb766e1e852854da85)
07 pc 0xce7e8 libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*) + 144) (BuildId: 404521c803f6f5610a0e1f6c19a45012)
08 pc 0xf5298 libc.so (__pthread_start(void*) + 208) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
09 pc 0x8ebdc libc.so (__start_thread + 68) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
WM.task-2 (waiting):tid=28 systid=10085
at jdk.internal.misc.Unsafe.park(Native method)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:194)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2081)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:433)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1063)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1123)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
at java.lang.Thread.run(Thread.java:1012)
WM.task-3 (waiting):tid=29 systid=10086
at jdk.internal.misc.Unsafe.park(Native method)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:194)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2081)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:433)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1063)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1123)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
at java.lang.Thread.run(Thread.java:1012)
WM.task-4 (waiting):tid=30 systid=10087
at jdk.internal.misc.Unsafe.park(Native method)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:194)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2081)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:433)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1063)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1123)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
at java.lang.Thread.run(Thread.java:1012)
queued-work-looper (native):tid=33 systid=10092
00 pc 0xe186c libc.so (__epoll_pwait + 12) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
01 pc 0x17cc0 libutils.so (android::Looper::pollInner(int) + 192) (BuildId: 97f353c1a350efeb766e1e852854da85)
02 pc 0x17b9c libutils.so (android::Looper::pollOnce(int, int*, int*, void**) + 116) (BuildId: 97f353c1a350efeb766e1e852854da85)
03 pc 0x1689ec libandroid_runtime.so (android::android_os_MessageQueue_nativePollOnce(_JNIEnv*, _jobject*, long, int) + 48) (BuildId: 404521c803f6f5610a0e1f6c19a45012)
at android.os.MessageQueue.nativePollOnce(Native method)
at android.os.MessageQueue.next(MessageQueue.java:335)
at android.os.Looper.loopOnce(Looper.java:186)
at android.os.Looper.loop(Looper.java:313)
at android.os.HandlerThread.run(HandlerThread.java:67)
Firebase Background Thread 2 (waiting):tid=34 systid=10093
at jdk.internal.misc.Unsafe.park(Native method)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:194)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2081)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:433)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1063)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1123)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0(CustomThreadFactory.java:12)
at java.lang.Thread.run(Thread.java:1012)
Firebase Background Thread 3 (waiting):tid=36 systid=10099
at jdk.internal.misc.Unsafe.park(Native method)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:194)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2081)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:433)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1063)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1123)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0(CustomThreadFactory.java:12)
at java.lang.Thread.run(Thread.java:1012)
flutter-worker-2 (timed waiting):tid=38 systid=10120
at jdk.internal.misc.Unsafe.park(Native method)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:234)
at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:463)
at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:361)
at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:939)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1062)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1123)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
at java.lang.Thread.run(Thread.java:1012)
Okio Watchdog (waiting):tid=40 systid=10123
at java.lang.Object.wait(Native method)
at java.lang.Object.wait(Object.java:442)
at java.lang.Object.wait(Object.java:568)
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)
pool-13-thread-1 (timed waiting):tid=41 systid=10398
at jdk.internal.misc.Unsafe.park(Native method)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:234)
at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:463)
at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:361)
at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:939)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1062)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1123)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
at java.lang.Thread.run(Thread.java:1012)
pool-13-thread-2 (timed waiting):tid=42 systid=10399
at jdk.internal.misc.Unsafe.park(Native method)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:234)
at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:463)
at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:361)
at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:939)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1062)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1123)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
at java.lang.Thread.run(Thread.java:1012)
pool-13-thread-3 (timed waiting):tid=43 systid=10400
at jdk.internal.misc.Unsafe.park(Native method)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:234)
at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:463)
at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:361)
at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:939)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1062)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1123)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
at java.lang.Thread.run(Thread.java:1012)
pool-13-thread-4 (timed waiting):tid=44 systid=10401
at jdk.internal.misc.Unsafe.park(Native method)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:234)
at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:463)
at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:361)
at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:939)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1062)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1123)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
at java.lang.Thread.run(Thread.java:1012)
Sqflite (native):tid=45 systid=10402
00 pc 0xe186c libc.so (__epoll_pwait + 12) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
01 pc 0x17cc0 libutils.so (android::Looper::pollInner(int) + 192) (BuildId: 97f353c1a350efeb766e1e852854da85)
02 pc 0x17b9c libutils.so (android::Looper::pollOnce(int, int*, int*, void**) + 116) (BuildId: 97f353c1a350efeb766e1e852854da85)
03 pc 0x1689ec libandroid_runtime.so (android::android_os_MessageQueue_nativePollOnce(_JNIEnv*, _jobject*, long, int) + 48) (BuildId: 404521c803f6f5610a0e1f6c19a45012)
at android.os.MessageQueue.nativePollOnce(Native method)
at android.os.MessageQueue.next(MessageQueue.java:335)
at android.os.Looper.loopOnce(Looper.java:186)
at android.os.Looper.loop(Looper.java:313)
at android.os.HandlerThread.run(HandlerThread.java:67)
io.worker.1 (unknown):tid=10101 systid=10101
00 pc 0x89630 libc.so (syscall + 32) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
01 pc 0x8e0f8 libc.so (__futex_wait_ex(void volatile*, bool, int, bool, timespec const*) + 148) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
02 pc 0xf456c libc.so (pthread_cond_wait + 80) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
03 pc 0x33ac9c split_config.arm64_v8a.apk + 12075008 (BuildId: e2cee5df08eb06fb5b2583dee4f7ebc789c88cd1)
04 pc 0x34a6ec split_config.arm64_v8a.apk + 12075008 (BuildId: e2cee5df08eb06fb5b2583dee4f7ebc789c88cd1)
05 pc 0xf5298 libc.so (__pthread_start(void*) + 208) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
06 pc 0x8ebdc libc.so (__start_thread + 68) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
io.worker.2 (unknown):tid=10102 systid=10102
00 pc 0x89630 libc.so (syscall + 32) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
01 pc 0x8e0f8 libc.so (__futex_wait_ex(void volatile*, bool, int, bool, timespec const*) + 148) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
02 pc 0xf456c libc.so (pthread_cond_wait + 80) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
03 pc 0x33ac9c split_config.arm64_v8a.apk + 12075008 (BuildId: e2cee5df08eb06fb5b2583dee4f7ebc789c88cd1)
04 pc 0x34a6ec split_config.arm64_v8a.apk + 12075008 (BuildId: e2cee5df08eb06fb5b2583dee4f7ebc789c88cd1)
05 pc 0xf5298 libc.so (__pthread_start(void*) + 208) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
06 pc 0x8ebdc libc.so (__start_thread + 68) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
io.worker.3 (unknown):tid=10103 systid=10103
00 pc 0x89630 libc.so (syscall + 32) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
01 pc 0x8e0f8 libc.so (__futex_wait_ex(void volatile*, bool, int, bool, timespec const*) + 148) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
02 pc 0xf456c libc.so (pthread_cond_wait + 80) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
03 pc 0x33ac9c split_config.arm64_v8a.apk + 12075008 (BuildId: e2cee5df08eb06fb5b2583dee4f7ebc789c88cd1)
04 pc 0x34a6ec split_config.arm64_v8a.apk + 12075008 (BuildId: e2cee5df08eb06fb5b2583dee4f7ebc789c88cd1)
05 pc 0xf5298 libc.so (__pthread_start(void*) + 208) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
06 pc 0x8ebdc libc.so (__start_thread + 68) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
io.worker.4 (unknown):tid=10104 systid=10104
00 pc 0x89630 libc.so (syscall + 32) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
01 pc 0x8e0f8 libc.so (__futex_wait_ex(void volatile*, bool, int, bool, timespec const*) + 148) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
02 pc 0xf456c libc.so (pthread_cond_wait + 80) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
03 pc 0x33ac9c split_config.arm64_v8a.apk + 12075008 (BuildId: e2cee5df08eb06fb5b2583dee4f7ebc789c88cd1)
04 pc 0x34a6ec split_config.arm64_v8a.apk + 12075008 (BuildId: e2cee5df08eb06fb5b2583dee4f7ebc789c88cd1)
05 pc 0xf5298 libc.so (__pthread_start(void*) + 208) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
06 pc 0x8ebdc libc.so (__start_thread + 68) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
io.worker.5 (unknown):tid=10105 systid=10105
00 pc 0x89630 libc.so (syscall + 32) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
01 pc 0x8e0f8 libc.so (__futex_wait_ex(void volatile*, bool, int, bool, timespec const*) + 148) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
02 pc 0xf456c libc.so (pthread_cond_wait + 80) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
03 pc 0x33ac9c split_config.arm64_v8a.apk + 12075008 (BuildId: e2cee5df08eb06fb5b2583dee4f7ebc789c88cd1)
04 pc 0x34a6ec split_config.arm64_v8a.apk + 12075008 (BuildId: e2cee5df08eb06fb5b2583dee4f7ebc789c88cd1)
05 pc 0xf5298 libc.so (__pthread_start(void*) + 208) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
06 pc 0x8ebdc libc.so (__start_thread + 68) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
io.worker.6 (unknown):tid=10106 systid=10106
00 pc 0x89630 libc.so (syscall + 32) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
01 pc 0x8e0f8 libc.so (__futex_wait_ex(void volatile*, bool, int, bool, timespec const*) + 148) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
02 pc 0xf456c libc.so (pthread_cond_wait + 80) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
03 pc 0x33ac9c split_config.arm64_v8a.apk + 12075008 (BuildId: e2cee5df08eb06fb5b2583dee4f7ebc789c88cd1)
04 pc 0x34a6ec split_config.arm64_v8a.apk + 12075008 (BuildId: e2cee5df08eb06fb5b2583dee4f7ebc789c88cd1)
05 pc 0xf5298 libc.so (__pthread_start(void*) + 208) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
06 pc 0x8ebdc libc.so (__start_thread + 68) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
io.worker.7 (unknown):tid=10107 systid=10107
00 pc 0x89630 libc.so (syscall + 32) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
01 pc 0x8e0f8 libc.so (__futex_wait_ex(void volatile*, bool, int, bool, timespec const*) + 148) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
02 pc 0xf456c libc.so (pthread_cond_wait + 80) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
03 pc 0x33ac9c split_config.arm64_v8a.apk + 12075008 (BuildId: e2cee5df08eb06fb5b2583dee4f7ebc789c88cd1)
04 pc 0x34a6ec split_config.arm64_v8a.apk + 12075008 (BuildId: e2cee5df08eb06fb5b2583dee4f7ebc789c88cd1)
05 pc 0xf5298 libc.so (__pthread_start(void*) + 208) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
06 pc 0x8ebdc libc.so (__start_thread + 68) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
io.worker.8 (unknown):tid=10108 systid=10108
00 pc 0x89630 libc.so (syscall + 32) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
01 pc 0x8e0f8 libc.so (__futex_wait_ex(void volatile*, bool, int, bool, timespec const*) + 148) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
02 pc 0xf456c libc.so (pthread_cond_wait + 80) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
03 pc 0x33ac9c split_config.arm64_v8a.apk + 12075008 (BuildId: e2cee5df08eb06fb5b2583dee4f7ebc789c88cd1)
04 pc 0x34a6ec split_config.arm64_v8a.apk + 12075008 (BuildId: e2cee5df08eb06fb5b2583dee4f7ebc789c88cd1)
05 pc 0xf5298 libc.so (__pthread_start(void*) + 208) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
06 pc 0x8ebdc libc.so (__start_thread + 68) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
dart:io EventHa (unknown):tid=10110 systid=10110
00 pc 0xe186c libc.so (__epoll_pwait + 12) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
01 pc 0x63a25c split_config.arm64_v8a.apk + 12075008 (BuildId: e2cee5df08eb06fb5b2583dee4f7ebc789c88cd1)
02 pc 0x66e960 split_config.arm64_v8a.apk + 12075008 (BuildId: e2cee5df08eb06fb5b2583dee4f7ebc789c88cd1)
03 pc 0xf5298 libc.so (__pthread_start(void*) + 208) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
04 pc 0x8ebdc libc.so (__start_thread + 68) (BuildId: 1bcad8bca80d38bceb9089f70d394e33)
```
We are receiving many background ANR issues which are not actionable as per Google play console, the reason seems to be Workmanager, by researching it seems like there were some bugs in
androidx.work
which are fixed inandroidx.work 2.8.1
, hence this plugin should upgrade the dependency. The issue and fix in 2.8.1: https://issuetracker.google.com/issues/236906724Crashlytics suggestions
These issues are not actionable as the stack traces do not show the blocking condition that is causing the ANR. This type of ANR report is produced when the ANR condition has passed by the time the stack trace is captured. This is usually caused by high load or resource contention inside the Android system server, which may contribute to the root cause of the ANR. It is not possible to determine the root cause of ANRs where the main thread is idle. These ANRs are included in Android vitals for completeness, as they help to show the number of users affected by ANRs. To fix the underlying root cause, you should look at ANRs with the same type and activity, but with different main thread states.Trace
Signal Catcher (runnable):tid=6 systid=10024 00 pc 0x6b13a0 libart.so (art::DumpNativeStack(std::__1::basic_ostream