firebase / firebase-android-sdk

Firebase Android SDK
https://firebase.google.com
Apache License 2.0
2.28k stars 578 forks source link

ANR from crashlytics related to Firebase #4345

Closed ItsBenyaamin closed 1 month ago

ItsBenyaamin commented 1 year ago

[REQUIRED] Step 2: Describe your environment

Versions:

    classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.2'

    implementation 'com.google.firebase:firebase-crashlytics-ktx:18.3.2'
    implementation 'com.google.firebase:firebase-analytics-ktx:21.2.0'

[REQUIRED] Step 3: Describe the problem

image

We facing this issue for almost 3 months now. But recently the ANR count is insanely high as you can see in the above From crashlytics:

main (timed waiting):tid=1 systid=19557 
       at jdk.internal.misc.Unsafe.park(Unsafe.java)
       at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:234)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedNanos(AbstractQueuedSynchronizer.java:1079)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireSharedNanos(AbstractQueuedSynchronizer.java:1369)
       at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:278)
       at com.google.firebase.crashlytics.internal.common.Utils.awaitEvenIfOnMainThread(Utils.java:22)
       at com.google.firebase.crashlytics.internal.common.CrashlyticsController.handleUncaughtException(CrashlyticsController.java:94)
       at com.google.firebase.crashlytics.internal.common.CrashlyticsController$1.onUncaughtException(CrashlyticsController.java:94)
       at com.google.firebase.crashlytics.internal.common.CrashlyticsUncaughtExceptionHandler.uncaughtException(CrashlyticsUncaughtExceptionHandler.java:26)
       at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1073)
       at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1068)
       at java.lang.Thread.dispatchUncaughtException(Thread.java:2306)

Relevant Code:

// TODO(you): code here to reproduce the problem
google-oss-bot commented 1 year ago

I found a few problems with this issue:

argzdev commented 1 year ago

Hi @graymind75, thanks for reporting. Are you using any code related to Crashlytics? Also were there any changes related to Firebase prior to this issue happening?

ItsBenyaamin commented 1 year ago

No, It's just initializing with FirebaseApp.initializeApp(applicationContext)

argzdev commented 1 year ago

Thanks for the details, @graymind75. While we investigate this. Just to confirm, were you using a prior version of Crashlytics before experiencing this issue? If yes, could you share which version were you using?

ItsBenyaamin commented 1 year ago

Hi, Sorry I forgot to put the versions

before any problem:
    classpath:      2.9.0
    crashlytics:    18.2.11
    analytics:       21.0.0

first ANR:
    classpath:      2.9.1
    crashlytics:    18.2.12
    analytics:       21.1.0

and the devices ANR submitted from: Screenshot from 2022-11-24 17-56-25

marcelpallares commented 1 year ago

Hi, we are facing the same ANR being reported twice with different logs:

main (timed waiting):tid=1 systid=27674 
       at sun.misc.Unsafe.park(Unsafe.java)
       at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedNanos(AbstractQueuedSynchronizer.java:1063)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireSharedNanos(AbstractQueuedSynchronizer.java:1358)
       at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:278)
       at com.google.firebase.crashlytics.internal.common.Utils.awaitEvenIfOnMainThread(Utils.java)
       at com.google.firebase.crashlytics.internal.common.CrashlyticsController.handleUncaughtException(CrashlyticsController.java)
       at com.google.firebase.crashlytics.internal.Logger.canLog(Logger.java)
       at com.facebook.internal.instrument.InstrumentUtility.isSDKRelatedException(InstrumentUtility.java)
       at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1073)
       at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1068)
       at java.lang.Thread.dispatchUncaughtException(Thread.java:2203)
main (timed waiting):tid=1 systid=23250 
       at jdk.internal.misc.Unsafe.park(Unsafe.java)
       at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:234)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedNanos(AbstractQueuedSynchronizer.java:1079)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireSharedNanos(AbstractQueuedSynchronizer.java:1369)
       at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:278)
       at com.google.firebase.crashlytics.internal.common.Utils.awaitEvenIfOnMainThread(Utils.java:22)
       at com.google.firebase.crashlytics.internal.common.CrashlyticsController.handleUncaughtException(CrashlyticsController.java:93)
       at com.google.firebase.crashlytics.internal.common.CrashlyticsController$1.onUncaughtException(CrashlyticsController.java:93)
       at com.google.firebase.crashlytics.internal.common.CrashlyticsUncaughtExceptionHandler.uncaughtException(CrashlyticsUncaughtExceptionHandler.java:25)
       at com.facebook.internal.instrument.crashreport.CrashHandler.uncaughtException(CrashHandler.java:409)
       at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1073)
       at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1068)
       at java.lang.Thread.dispatchUncaughtException(Thread.java:2306)

We use Crashlytics too and the versions are the ones that come with Firebase BOM 31.1.0. We are just upgrading to 31.1.1 but won't have data until the next release which will be at some point in January.

They are our top ANRs, here are the stats of the last 30 days:

CleanShot 2022-12-22 at 14 09 35@2x

CleanShot 2022-12-22 at 14 01 48@2x CleanShot 2022-12-22 at 14 09 01@2x
himanshuoyo commented 1 year ago

Same occurred to us as well with below logs: main (timed waiting):tid=1 systid=32460 at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:234) at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedNanos(AbstractQueuedSynchronizer.java:1079) at java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireSharedNanos(AbstractQueuedSynchronizer.java:1369) at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:278) at com.google.firebase.crashlytics.internal.common.Utils.awaitEvenIfOnMainThread(Utils.java:124) at com.google.firebase.crashlytics.internal.common.CrashlyticsCore.checkForPreviousCrash(CrashlyticsCore.java:485) at com.google.firebase.crashlytics.internal.common.CrashlyticsCore.onPreExecute(CrashlyticsCore.java:184) at com.google.firebase.crashlytics.FirebaseCrashlytics.init(FirebaseCrashlytics.java:149) at com.google.firebase.crashlytics.CrashlyticsRegistrar.buildCrashlytics(CrashlyticsRegistrar.java:60) at com.google.firebase.crashlytics.CrashlyticsRegistrar.$r8$lambda$Pfd5XmDCFzNyAT9o9H6rDnTBQE4(CrashlyticsRegistrar.java) at com.google.firebase.crashlytics.CrashlyticsRegistrar$$InternalSyntheticLambda$3$ab347a8933944304e42539e3f0bc7a2eb5ded1d56c7a52feedae47ac52780cf7$0.create(CrashlyticsRegistrar.java:2) at com.google.firebase.tracing.ComponentMonitor.lambda$processRegistrar$0(ComponentMonitor.java:38) at com.google.firebase.tracing.ComponentMonitor.$r8$lambda$nUgWIWAyyZxi6mRt6KSZMmA5LxE(ComponentMonitor.java) at com.google.firebase.tracing.ComponentMonitor$$InternalSyntheticLambda$3$5d14153249ab9155b8414252ecf49149174a086fa7b21bebac19047e371b22f6$0.create(ComponentMonitor.java:4) at com.google.firebase.components.ComponentRuntime.lambda$discoverComponents$0(ComponentRuntime.java:140) at com.google.firebase.components.ComponentRuntime.$r8$lambda$4FqOW9eOQsvFYo-HpMfxCOnPQr0(ComponentRuntime.java) at com.google.firebase.components.ComponentRuntime$$InternalSyntheticLambda$2$784536aca87f12f75d3504e86fd606a2ca102f8312a2daf2c8c51b9b25617f63$0.get(ComponentRuntime.java:4) at com.google.firebase.components.Lazy.get(Lazy.java:53) at com.google.firebase.components.ComponentRuntime.doInitializeEagerComponents(ComponentRuntime.java:302) at com.google.firebase.components.ComponentRuntime.initializeEagerComponents(ComponentRuntime.java:292) at com.google.firebase.FirebaseApp.initializeAllApis(FirebaseApp.java:605) at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:307) at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:271) at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:256) at com.google.firebase.provider.FirebaseInitProvider.onCreate(FirebaseInitProvider.java:51) at android.content.ContentProvider.attachInfo(ContentProvider.java:2404) at android.content.ContentProvider.attachInfo(ContentProvider.java:2374) at com.google.firebase.provider.FirebaseInitProvider.attachInfo(FirebaseInitProvider.java:45) at android.app.ActivityThread.installProvider(ActivityThread.java:7459) at android.app.ActivityThread.installContentProviders(ActivityThread.java:6976) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6747) at android.app.ActivityThread.access$1500(ActivityThread.java:256) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2091) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loopOnce(Looper.java:201) at android.os.Looper.loop(Looper.java:288) at android.app.ActivityThread.main(ActivityThread.java:7870) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)

Firebase BOM Version - 31.0.2

himanshuoyo commented 1 year ago

Same occurred to us as well with below logs: main (timed waiting):tid=1 systid=32460 at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:234) at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedNanos(AbstractQueuedSynchronizer.java:1079) at java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireSharedNanos(AbstractQueuedSynchronizer.java:1369) at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:278) at com.google.firebase.crashlytics.internal.common.Utils.awaitEvenIfOnMainThread(Utils.java:124) at com.google.firebase.crashlytics.internal.common.CrashlyticsCore.checkForPreviousCrash(CrashlyticsCore.java:485) at com.google.firebase.crashlytics.internal.common.CrashlyticsCore.onPreExecute(CrashlyticsCore.java:184) at com.google.firebase.crashlytics.FirebaseCrashlytics.init(FirebaseCrashlytics.java:149) at com.google.firebase.crashlytics.CrashlyticsRegistrar.buildCrashlytics(CrashlyticsRegistrar.java:60) at com.google.firebase.crashlytics.CrashlyticsRegistrar.$r8$lambda$Pfd5XmDCFzNyAT9o9H6rDnTBQE4(CrashlyticsRegistrar.java) at com.google.firebase.crashlytics.CrashlyticsRegistrar$$InternalSyntheticLambda$3$ab347a8933944304e42539e3f0bc7a2eb5ded1d56c7a52feedae47ac52780cf7$0.create(CrashlyticsRegistrar.java:2) at com.google.firebase.tracing.ComponentMonitor.lambda$processRegistrar$0(ComponentMonitor.java:38) at com.google.firebase.tracing.ComponentMonitor.$r8$lambda$nUgWIWAyyZxi6mRt6KSZMmA5LxE(ComponentMonitor.java) at com.google.firebase.tracing.ComponentMonitor$$InternalSyntheticLambda$3$5d14153249ab9155b8414252ecf49149174a086fa7b21bebac19047e371b22f6$0.create(ComponentMonitor.java:4) at com.google.firebase.components.ComponentRuntime.lambda$discoverComponents$0(ComponentRuntime.java:140) at com.google.firebase.components.ComponentRuntime.$r8$lambda$4FqOW9eOQsvFYo-HpMfxCOnPQr0(ComponentRuntime.java) at com.google.firebase.components.ComponentRuntime$$InternalSyntheticLambda$2$784536aca87f12f75d3504e86fd606a2ca102f8312a2daf2c8c51b9b25617f63$0.get(ComponentRuntime.java:4) at com.google.firebase.components.Lazy.get(Lazy.java:53) at com.google.firebase.components.ComponentRuntime.doInitializeEagerComponents(ComponentRuntime.java:302) at com.google.firebase.components.ComponentRuntime.initializeEagerComponents(ComponentRuntime.java:292) at com.google.firebase.FirebaseApp.initializeAllApis(FirebaseApp.java:605) at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:307) at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:271) at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:256) at com.google.firebase.provider.FirebaseInitProvider.onCreate(FirebaseInitProvider.java:51) at android.content.ContentProvider.attachInfo(ContentProvider.java:2404) at android.content.ContentProvider.attachInfo(ContentProvider.java:2374) at com.google.firebase.provider.FirebaseInitProvider.attachInfo(FirebaseInitProvider.java:45) at android.app.ActivityThread.installProvider(ActivityThread.java:7459) at android.app.ActivityThread.installContentProviders(ActivityThread.java:6976) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6747) at android.app.ActivityThread.access$1500(ActivityThread.java:256) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2091) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loopOnce(Looper.java:201) at android.os.Looper.loop(Looper.java:288) at android.app.ActivityThread.main(ActivityThread.java:7870) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)

Firebase BOM Version - 31.0.2

Even after upgrading to BOM Version - 31.1.1 still the same.

arlindiDev commented 1 year ago

Is there any update on this issue, we are also facing a large volume of ANRs.

Julesssss commented 1 year ago

We're seeing a similar issue with Firebase BOM 31.1.1:

main (native):tid=1 systid=7347 
#00 pc 0xa76bc libc.so (__rt_sigsuspend + 12)
#01 pc 0x631cc libc.so (sigsuspend + 56)
#02 pc 0x5c14a8 split_config.arm64_v8a.apk 
#03 pc 0x89c [vdso] 
#04 pc 0xa7cb8 libc.so (__epoll_pwait + 8)
#05 pc 0x17cc0 libutils.so (android::Looper::pollInner(int) + 192)
#06 pc 0x17b9c libutils.so (android::Looper::pollOnce(int, int*, int*, void**) + 116)
#07 pc 0x1687b0 libandroid_runtime.so (android::android_os_MessageQueue_nativePollOnce(_JNIEnv*, _jobject*, long, int) + 48)
       at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
       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:8741)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1067)
awaitEvenIfOnMainThread task continuation executor1 (waiting):tid=23 systid=7448 
       at jdk.internal.misc.Unsafe.park(Unsafe.java)
       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:64)
       at com.google.firebase.crashlytics.internal.common.BackgroundPriorityRunnable.run(BackgroundPriorityRunnable.java:27)
       at java.lang.Thread.run(Thread.java:1012)
mrober commented 1 year ago

We are aware of this issue. We have some work planned that will reduce the load on the main thread, which should resolve this issue as well. I will keep this thread updated.

slott commented 1 year ago

The issue started to surface roughly one year ago - surely you have the resources to do more than just "should resolve...".

This is a product used by millions world wide and it really should get a higher priority.

Julesssss commented 1 year ago

Hey @mrober, we appreciate the update.

While we await a resolution, are you able to provide any workarounds to prevent this from occurring in the meantime? For example, temporarily disabling Firebase Analytics/Crashlytics? Any information would be useful, as we currently have an ANR rate that is 4X the PlayStore quality bar.

nes123 commented 1 year ago

Hey @mrober, we appreciate the update.

While we await a resolution, are you able to provide any workarounds to prevent this from occurring in the meantime? For example, temporarily disabling Firebase Analytics? Any information would be useful, as we currently have an ANR rate that is 4X the PlayStore quality bar.

is the problem with crashlytics or analytics?

karthikeyan1241997 commented 1 year ago

Same for me too.

Stacktrace:

Thread-30087 (waiting):tid=272 systid=18410 
       at jdk.internal.misc.Unsafe.park(Native method)
       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:194)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:885)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1039)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1345)
       at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:232)
       at com.google.firebase.crashlytics.internal.common.Utils.awaitEvenIfOnMainThread(Utils.java:128)
       at com.google.firebase.crashlytics.internal.common.CrashlyticsController.handleUncaughtException(CrashlyticsController.java:229)
       at com.google.firebase.crashlytics.internal.common.CrashlyticsController$1.onUncaughtException(CrashlyticsController.java:151)
       at com.google.firebase.crashlytics.internal.common.CrashlyticsUncaughtExceptionHandler.uncaughtException(CrashlyticsUncaughtExceptionHandler.java:55)
       at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1073)
       at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1068)
       at java.lang.Thread.dispatchUncaughtException(Thread.java:2306)
shuaibimran commented 1 year ago

@mrober please answer, In case a permanent solution will take some time, Do you have any temporary solution ?

mrober commented 1 year ago

@themiswang to provide a temporary workaround while we migrate the Crashlytics SDK to firebase-android-executors.

ItsBenyaamin commented 1 year ago

FYI I've been using before any problem versions on my comment above and faced no issue since.

themiswang commented 1 year ago

Hi folks,

The Crashlytics uncaught exception handler is doing a bit too much work on the crashing thread. If that is the main thread, and has already been blocked for a few seconds, this can lead to an ANR. We are currently working on refactoring the SDK to avoid this, and the first fix will be included in the next release scheduled for March 23. In the meantime, you can manually add a timeout by doing this in your app, and below is an example:

public class CrashlyticsUncaughtExceptionHandler {
   /** Must be run after Crashlytics has initialized. */
   static void addTimeoutToCrashlyticsUncaughtExceptionHandler() {
       Thread.UncaughtExceptionHandler crashlyticsHandler = Thread.getDefaultUncaughtExceptionHandler();
       // If the Crashlytics uncaught exception handler timeout, the report
       // will be uploaded on the next app launch in a background thread.
       Thread.setDefaultUncaughtExceptionHandler(
               (thread, ex) -> {
                   if (crashlyticsHandler != null) {
                       CountDownLatch latch = new CountDownLatch(1);
                       new Thread(
                               () -> {
                                   crashlyticsHandler.uncaughtException(thread, ex);
                                   latch.countDown();
                               })
                               .start();
                       com.google.firebase.crashlytics.internal.common.Utils.awaitUninterruptibly(latch, 2, TimeUnit.SECONDS);
                   }
               });
   }
}

Is it safe to just abort the Crashlytics uncaught exception handler when it's taking too long, because Crashlytics will send any pending reports on the next app launch. Thank you again for your patience!

piyush-kukadiya commented 1 year ago

@themiswang There is another stack trace different from UncaughtExceptionHandler that you mentioned above.

awaitEvenIfOnMainThread task continuation executor1 (waiting):tid=23 systid=7448 
       at jdk.internal.misc.Unsafe.park(Unsafe.java)
       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:64)
       at com.google.firebase.crashlytics.internal.common.BackgroundPriorityRunnable.run(BackgroundPriorityRunnable.java:27)
       at java.lang.Thread.run(Thread.java:1012)

Will this also be fixed?

gongwen commented 1 year ago

The Crashlytics uncaught exception handler is doing a bit too much work on the crashing thread. If that is the main thread, and has already been blocked for a few seconds, this can lead to an ANR. We are currently working on refactoring the SDK to avoid this, and the first fix will be included in the next release scheduled for March 23. In the meantime, you can manually add a timeout by doing this in your app, and below is an example:

@themiswang Which version fixes this problem? I see that yesterday's release did not mention fixing this issue。

themiswang commented 1 year ago

Hey @gongwen,

Sorry for the late replying, the fix is in Crashlytics 18.3.6 which announced on March 24th. With the change it will reduce the ANR and we are still working on SDK thread refactoring.

krunalpatel3 commented 1 year ago

this error is coming in chinese devices

krunalpatel3 commented 1 year ago

main (timed waiting):tid=1 systid=26556 at jdk.internal.misc.Unsafe.park(Native method) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:234) at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedNanos(AbstractQueuedSynchronizer.java:1079) at java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireSharedNanos(AbstractQueuedSynchronizer.java:1369) at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:278) at com.android.internal.util.SyncResultReceiver.waitResult(SyncResultReceiver.java:55) at com.android.internal.util.SyncResultReceiver.getIntResult(SyncResultReceiver.java:68) at android.view.autofill.AutofillManager.tryAddServiceClientIfNeededLocked(AutofillManager.java:2009) at android.view.autofill.AutofillManager.notifyViewEnteredLocked(AutofillManager.java:1070) at android.view.autofill.AutofillManager.notifyViewEntered(AutofillManager.java:1054) at android.view.autofill.AutofillManager.notifyViewEntered(AutofillManager.java:1011) at android.view.View.notifyEnterOrExitForAutoFillIfNeeded(View.java:8226) at android.view.View.performClick(View.java:7512) at android.view.View.performClickInternal(View.java:7471) at android.view.View.access$3700(View.java:843) at android.view.View$PerformClick.run(View.java:29098) at android.os.Handler.handleCallback(Handler.java:938) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loopOnce(Looper.java:233) at android.os.Looper.loop(Looper.java:344) at android.app.ActivityThread.main(ActivityThread.java:8248) at java.lang.reflect.Method.invoke(Native method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:589) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1071)

krunalpatel3 commented 1 year ago

main (native):tid=1 systid=26052

00 pc 0xc8b38 libc.so (__epoll_pwait + 8) (BuildId: f24f65acf653c409ca4332aced817a71)

01 pc 0x168d4 libutils.so (android::Looper::pollInner(int) + 180) (BuildId: 0c269320029489b4040b2307f9282499)

02 pc 0x167b8 libutils.so (android::Looper::pollOnce(int, int, int, void**) + 112) (BuildId: 0c269320029489b4040b2307f9282499)

03 pc 0x14d19c libandroid_runtime.so (android::android_os_MessageQueue_nativePollOnce(_JNIEnv, _jobject, long, int) + 44) (BuildId: c646cf84c51fc07b4bb81680ce4aed68)

04 pc 0x43e154 libart.so (art_quick_generic_jni_trampoline + 148) (BuildId: 28c5aa8a2e8fc5df069f717d6e94f7fe)

05 pc 0x20fc1f4 memfd:jit-cache (android.os.MessageQueue.next + 244)

06 pc 0x204a76c memfd:jit-cache (android.os.Looper.loopOnce + 188)

07 pc 0x209a9c libart.so (nterp_helper + 1948) (BuildId: 28c5aa8a2e8fc5df069f717d6e94f7fe)

08 pc 0x47063a framework.jar (android.os.Looper.loop + 178)

09 pc 0x209334 libart.so (nterp_helper + 52) (BuildId: 28c5aa8a2e8fc5df069f717d6e94f7fe)

10 pc 0x1b4dd6 framework.jar (android.app.ActivityThread.main + 270)

11 pc 0x434a00 libart.so (art_quick_invoke_static_stub + 576) (BuildId: 28c5aa8a2e8fc5df069f717d6e94f7fe)

12 pc 0x467134 libart.so (_jobject art::InvokeMethod<(art::PointerSize)8>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject, _jobject, _jobject, unsigned long) + 1960) (BuildId: 28c5aa8a2e8fc5df069f717d6e94f7fe)

13 pc 0x466964 libart.so (art::Method_invoke(_JNIEnv, _jobject, _jobject, _jobjectArray) (.__uniq.165753521025965369065708152063621506277) + 48) (BuildId: 28c5aa8a2e8fc5df069f717d6e94f7fe)

14 pc 0x43e154 libart.so (art_quick_generic_jni_trampoline + 148) (BuildId: 28c5aa8a2e8fc5df069f717d6e94f7fe)

15 pc 0x20a2b0 libart.so (nterp_helper + 4016) (BuildId: 28c5aa8a2e8fc5df069f717d6e94f7fe)

16 pc 0x2a944e framework.jar (com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run + 22)

17 pc 0x20b074 libart.so (nterp_helper + 7540) (BuildId: 28c5aa8a2e8fc5df069f717d6e94f7fe)

18 pc 0x2af672 framework.jar (com.android.internal.os.ZygoteInit.main + 714)

19 pc 0x434a00 libart.so (art_quick_invoke_static_stub + 576) (BuildId: 28c5aa8a2e8fc5df069f717d6e94f7fe)

20 pc 0x57df48 libart.so (art::JValue art::InvokeWithVarArgs<_jmethodID>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject, _jmethodID*, std::__va_list) + 900) (BuildId: 28c5aa8a2e8fc5df069f717d6e94f7fe)

21 pc 0x5f194c libart.so (art::JNI::CallStaticVoidMethodV(_JNIEnv, _jclass, _jmethodID*, std::__va_list) + 160) (BuildId: 28c5aa8a2e8fc5df069f717d6e94f7fe)

22 pc 0xafb28 libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass, _jmethodID, ...) + 120) (BuildId: c646cf84c51fc07b4bb81680ce4aed68)

23 pc 0xbb214 libandroid_runtime.so (android::AndroidRuntime::start(char const*, android::Vector const&, bool) + 948) (BuildId: c646cf84c51fc07b4bb81680ce4aed68)

24 pc 0x2580 app_process64 (main + 1320) (BuildId: c4e0717e77dbaf6f3710de1f5d169e0e)

25 pc 0x71538 libc.so (__libc_init + 96) (BuildId: f24f65acf653c409ca4332aced817a71)

   at android.os.MessageQueue.nativePollOnce(Native method)
   at android.os.MessageQueue.next(MessageQueue.java:339)
   at android.os.Looper.loopOnce(Looper.java:179)
   at android.os.Looper.loop(Looper.java:344)
   at android.app.ActivityThread.main(ActivityThread.java:8248)
   at java.lang.reflect.Method.invoke(Native method)
   at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:589)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1071)
argzdev commented 1 year ago

Just bumping up this thread. Hi @graymind75, are you still experiencing ANRs with the latest version of Crashlytics? 18.3.7?

@krunalpatel3 looking at your stacktrace, this seems to be separate issue. Could you file a new issue with details of our template? This is so that we can conduct an initial investigation regarding your issue. Thanks!

jeffmon commented 1 year ago

Hi @argzdev,

We're still experiencing ANRs on 18.3.6, would bumping Crashlytics up to 18.3.7 make a difference in the mitigation of these ANRs?

Thanks!

argzdev commented 1 year ago

Hi @jeffmon, did version 18.3.6 make any difference with your ANRs? It should help mitigate these ANRs.

Looking through the release notes for version 18.3.7, there's no entry regarding fixes about ANRs so I don't think that would make a huge difference in your case. If the update on version 18.3.6 didn't help, then there might be an issue somewhere else.

ItsBenyaamin commented 1 year ago

@argzdev Hi, I didn't update the libraries and I'm using the below versions which were the last release without ANRs. I'm afraid I can't update the production without knowing that It's fixed.

    classpath:      2.9.0
    crashlytics:    18.2.11
    analytics:       21.0.0
argzdev commented 1 year ago

Hi @graymind75, the fix in 18.3.6 should help with the ANRs. As mentioned by themiswang.

Sorry for the late replying, the fix is in Crashlytics 18.3.6 which announced on March 24th. With the change it will reduce the ANR and we are still working on SDK thread refactoring.

If you're not comfortable in releasing for the updated version, you could do a rollout strategy to test these fixes to your production app.

Other than that, I don't see anyway to move this forward without first being able to verify that it is working or not.

google-oss-bot commented 1 year ago

Hey @graymind75. We need more information to resolve this issue but there hasn't been an update in 5 weekdays. I'm marking the issue as stale and if there are no new updates in the next 5 days I will close it automatically.

If you have more information that will help us get to the bottom of this, just add a comment!

google-oss-bot commented 1 year ago

Since there haven't been any recent updates here, I am going to close this issue.

@graymind75 if you're still experiencing this problem and want to continue the discussion just leave a comment here and we are happy to re-open this.

AfigAliyev commented 1 year ago

This should not have been closed. The issue is still present in the latest stable version.

argzdev commented 1 year ago

Yeah sorry about that, the needs-info label usually marks the thread as stale and then closes after sometime. The google-oss-bot was supposed to remove the needs-info label right after the author replies, but didn't do so. I'll go ahead and open this.

BelooS commented 1 year ago

We face the same problem with 18.3.7 crashlytics version:

main (timed waiting):tid=1 systid=7772 at sun.misc.Unsafe.park(Native method) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230) at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedNanos(AbstractQueuedSynchronizer.java:1063) at java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireSharedNanos(AbstractQueuedSynchronizer.java:1358) at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:278) at com.google.firebase.crashlytics.internal.common.Utils.awaitEvenIfOnMainThread(Utils.java:121) at com.google.firebase.crashlytics.internal.common.CrashlyticsController.handleUncaughtException(CrashlyticsController.java:253) at com.google.firebase.crashlytics.internal.common.CrashlyticsController.handleUncaughtException(CrashlyticsController.java:179) at com.google.firebase.crashlytics.internal.common.CrashlyticsController$1.onUncaughtException(CrashlyticsController.java:166)

adek commented 1 year ago

I've got 1k+ ANRs with this issue.

Using: firebase-crashlytics:18.4.0 firebase-messaging-ktx:23.2.0' firebase-crashlytics-gradle:2.9.7

After we sent Push Notifications - it's crazy what's going on in our Crashlytics with ANR

That's the error we have in stacktrace:

`main (native):tid=1 systid=20953

00 pc 0xa37a8 libc.so (__epoll_pwait + 8) (BuildId: 173441c90e5afc5b5229a361bc9d8d2d)

01 pc 0x17444 libutils.so (android::Looper::pollInner(int) + 188) (BuildId: a5ca39eaeeeb017be4afa358811e69fb)

02 pc 0x17328 libutils.so (android::Looper::pollOnce(int, int, int, void**) + 112) (BuildId: a5ca39eaeeeb017be4afa358811e69fb)

03 pc 0x1623b0 libandroid_runtime.so (android::android_os_MessageQueue_nativePollOnce(_JNIEnv, _jobject, long, int) + 44) (BuildId: 1a82c6db17b22aafdc5bea1d239370ba)

   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:571)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1067)`
argzdev commented 1 year ago

Hi @adek, that looks like an interesting finding. So in your case, the issue arises when sending push notifications. Could you share a bit more of your stacktrace? So we can check if this issue is another or related to this current one. And if it's possible could you share a minimal repro of your issue? It'll help us investigate this further. Thanks!

adek commented 1 year ago

@argzdev But that's actually most of the stuff. There is no pointing to my code anywhere. That's why I think it's Firebase issue. I started when we sent 500k+ messages. At first we starting sending this per country (like 50k, 80k), later to 300k users.

And now we got thousands of this.

Please, tell me what do you need.

argzdev commented 1 year ago

@adek, that is odd. Can you share me your full stacktrace? It might help us understand this more and possibly reproduce it. Thanks

adek commented 1 year ago

@argzdev Here's full stacktrace. There is no mention of my app's package so it looks like it's Firebase. Also it's marked in Firebase as "Unknown root cause".

Additional info: 99% is on Android 13.

Full stacktrace:

`# Crashlytics - Stack trace

Application: com.xxx.xxx

Platform: android

Version: 9.0.13 (2787)

Issue: xxx

Session: xxx

Date: Tue Jul 25 2023 15:03:02 GMT+0200 (Central European Summer Time)

Signal Catcher (runnable):tid=6 systid=28700

00 pc 0x6aafa8 libart.so (art::DumpNativeStack(std::__1::basic_ostream<char, std::__1::char_traits >&, int, BacktraceMap, char const, art::ArtMethod, void, bool) + 128) (BuildId: 4c9b59b74ca9272f710a71137164c349)

01 pc 0x713144 libart.so (art::Thread::DumpStack(std::__1::basic_ostream<char, std::__1::char_traits >&, bool, BacktraceMap*, bool) const + 236) (BuildId: 4c9b59b74ca9272f710a71137164c349)

02 pc 0x722390 libart.so (art::DumpCheckpoint::Run(art::Thread*) + 208) (BuildId: 4c9b59b74ca9272f710a71137164c349)

03 pc 0x374c74 libart.so (art::ThreadList::RunCheckpoint(art::Closure, art::Closure) + 448) (BuildId: 4c9b59b74ca9272f710a71137164c349)

04 pc 0x7209a0 libart.so (art::ThreadList::Dump(std::__1::basic_ostream<char, std::__1::char_traits >&, bool) + 280) (BuildId: 4c9b59b74ca9272f710a71137164c349)

05 pc 0x720394 libart.so (art::ThreadList::DumpForSigQuit(std::__1::basic_ostream<char, std::__1::char_traits >&) + 292) (BuildId: 4c9b59b74ca9272f710a71137164c349)

06 pc 0x6f6618 libart.so (art::Runtime::DumpForSigQuit(std::__1::basic_ostream<char, std::__1::char_traits >&) + 184) (BuildId: 4c9b59b74ca9272f710a71137164c349)

07 pc 0x702d40 libart.so (art::SignalCatcher::HandleSigQuit() + 468) (BuildId: 4c9b59b74ca9272f710a71137164c349)

08 pc 0x57e178 libart.so (art::SignalCatcher::Run(void*) + 268) (BuildId: 4c9b59b74ca9272f710a71137164c349)

09 pc 0xb6668 libc.so (__pthread_start(void*) + 208) (BuildId: 8b687b4d600e1faa82af5a5197e82129)

10 pc 0x532cc libc.so (__start_thread + 64) (BuildId: 8b687b4d600e1faa82af5a5197e82129)

main (native):tid=1 systid=28693

00 pc 0xa3668 libc.so (__epoll_pwait + 8) (BuildId: 8b687b4d600e1faa82af5a5197e82129)

01 pc 0x17444 libutils.so (android::Looper::pollInner(int) + 188) (BuildId: a5ca39eaeeeb017be4afa358811e69fb)

02 pc 0x17328 libutils.so (android::Looper::pollOnce(int, int, int, void**) + 112) (BuildId: a5ca39eaeeeb017be4afa358811e69fb)

03 pc 0x161acc libandroid_runtime.so (android::android_os_MessageQueue_nativePollOnce(_JNIEnv, _jobject, long, int) + 44) (BuildId: d3375f5c8c09c84a8e78e1a1d90e35da)

   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:571)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1067)

perfetto_hprof_listener (native):tid=7 systid=28701

00 pc 0xa23a4 libc.so (read + 4) (BuildId: 8b687b4d600e1faa82af5a5197e82129)

01 pc 0x204e0 libperfetto_hprof.so (void std::1::thread_proxy<std::1::tuple<std::1::unique_ptr<std::1::thread_struct, std::__1::default_delete >, ArtPlugin_Initialize::$_36> >(void) + 316) (BuildId: 49fe73d6de663b2b2e2e67ace768f690)

02 pc 0xb6668 libc.so (__pthread_start(void*) + 208) (BuildId: 8b687b4d600e1faa82af5a5197e82129)

03 pc 0x532cc libc.so (__start_thread + 64) (BuildId: 8b687b4d600e1faa82af5a5197e82129)

Jit thread pool worker thread 0 (native):tid=8 systid=28703

00 pc 0x4e09c libc.so (syscall + 28) (BuildId: 8b687b4d600e1faa82af5a5197e82129)

01 pc 0x3a8ff4 libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*) + 140) (BuildId: 4c9b59b74ca9272f710a71137164c349)

02 pc 0x62a2d0 libart.so (art::ThreadPool::GetTask(art::Thread*) + 120) (BuildId: 4c9b59b74ca9272f710a71137164c349)

03 pc 0x62a0f0 libart.so (art::ThreadPoolWorker::Run() + 72) (BuildId: 4c9b59b74ca9272f710a71137164c349)

04 pc 0x62a00c libart.so (art::ThreadPoolWorker::Callback(void*) + 164) (BuildId: 4c9b59b74ca9272f710a71137164c349)

05 pc 0xb6668 libc.so (__pthread_start(void*) + 208) (BuildId: 8b687b4d600e1faa82af5a5197e82129)

06 pc 0x532cc libc.so (__start_thread + 64) (BuildId: 8b687b4d600e1faa82af5a5197e82129)

HeapTaskDaemon (waiting):tid=9 systid=28704

00 pc 0x4e09c libc.so (syscall + 28) (BuildId: 8b687b4d600e1faa82af5a5197e82129)

01 pc 0x3a8ff4 libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*) + 140) (BuildId: 4c9b59b74ca9272f710a71137164c349)

02 pc 0x484a80 libart.so (art::gc::TaskProcessor::GetTask(art::Thread*) + 736) (BuildId: 4c9b59b74ca9272f710a71137164c349)

03 pc 0x484754 libart.so (art::gc::TaskProcessor::RunAllTasks(art::Thread*) + 32) (BuildId: 4c9b59b74ca9272f710a71137164c349)

   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)

ReferenceQueueDaemon (waiting):tid=10 systid=28705 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)

FinalizerDaemon (waiting):tid=11 systid=28706 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=12 systid=28707 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)

ADB-JDWP Connection Control Thread (waiting):tid=13 systid=28702

00 pc 0x4e0a0 libc.so (syscall + 32) (BuildId: 8b687b4d600e1faa82af5a5197e82129)

01 pc 0x514b0 libc.so (SystemProperties::Wait(prop_info const, unsigned int, unsigned int, timespec const*) + 80) (BuildId: 8b687b4d600e1faa82af5a5197e82129)

02 pc 0x63698 libc.so (__system_property_wait + 32) (BuildId: 8b687b4d600e1faa82af5a5197e82129)

03 pc 0xf5d0 libadbconnection_client.so (android::base::WaitForProperty(std::1::basic_string<char, std::__1::char_traits, std::1::allocator > const&, std::1::basic_string<char, std::__1::char_traits, std::1::allocator > const&, std::1::chrono::duration<long long, std::1::ratio<1l, 1000l> >) + 476) (BuildId: 27d84fc86fc000c78f93329abfa13315)

04 pc 0xc53c libadbconnection_client.so (adbconnection_client_new + 952) (BuildId: 27d84fc86fc000c78f93329abfa13315)

05 pc 0x968c libadbconnection.so (adbconnection::AdbConnectionState::SetupAdbConnection() + 232) (BuildId: 873ccbf8df63b92215444dbafd59bd91)

06 pc 0x993c libadbconnection.so (adbconnection::AdbConnectionState::RunPollLoop(art::Thread*) + 556) (BuildId: 873ccbf8df63b92215444dbafd59bd91)

07 pc 0x80ac libadbconnection.so (adbconnection::CallbackFunction(void*) + 1320) (BuildId: 873ccbf8df63b92215444dbafd59bd91)

08 pc 0xb6668 libc.so (__pthread_start(void*) + 208) (BuildId: 8b687b4d600e1faa82af5a5197e82129)

09 pc 0x532cc libc.so (__start_thread + 64) (BuildId: 8b687b4d600e1faa82af5a5197e82129)

binder:28693_1 (native):tid=14 systid=28708

00 pc 0xa2688 libc.so (__ioctl + 8) (BuildId: 8b687b4d600e1faa82af5a5197e82129)

01 pc 0x5b720 libc.so (ioctl + 156) (BuildId: 8b687b4d600e1faa82af5a5197e82129)

02 pc 0x5aa00 libbinder.so (android::IPCThreadState::talkWithDriver(bool) + 280) (BuildId: b6b3f50edbdfb01574bcc2c3594a934f)

03 pc 0x5acdc libbinder.so (android::IPCThreadState::getAndExecuteCommand() + 24) (BuildId: b6b3f50edbdfb01574bcc2c3594a934f)

04 pc 0x5b5f8 libbinder.so (android::IPCThreadState::joinThreadPool(bool) + 68) (BuildId: b6b3f50edbdfb01574bcc2c3594a934f)

05 pc 0x89db4 libbinder.so (android::PoolThread::threadLoop() + 444) (BuildId: b6b3f50edbdfb01574bcc2c3594a934f)

06 pc 0x12f18 libutils.so (android::Thread::_threadLoop(void*) + 416) (BuildId: a5ca39eaeeeb017be4afa358811e69fb)

07 pc 0xcd150 libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*) + 140) (BuildId: d3375f5c8c09c84a8e78e1a1d90e35da)

08 pc 0xb6668 libc.so (__pthread_start(void*) + 208) (BuildId: 8b687b4d600e1faa82af5a5197e82129)

09 pc 0x532cc libc.so (__start_thread + 64) (BuildId: 8b687b4d600e1faa82af5a5197e82129)

binder:28693_2 (native):tid=15 systid=28709

00 pc 0xa2688 libc.so (__ioctl + 8) (BuildId: 8b687b4d600e1faa82af5a5197e82129)

01 pc 0x5b720 libc.so (ioctl + 156) (BuildId: 8b687b4d600e1faa82af5a5197e82129)

02 pc 0x5aa00 libbinder.so (android::IPCThreadState::talkWithDriver(bool) + 280) (BuildId: b6b3f50edbdfb01574bcc2c3594a934f)

03 pc 0x5acdc libbinder.so (android::IPCThreadState::getAndExecuteCommand() + 24) (BuildId: b6b3f50edbdfb01574bcc2c3594a934f)

04 pc 0x5b5f8 libbinder.so (android::IPCThreadState::joinThreadPool(bool) + 68) (BuildId: b6b3f50edbdfb01574bcc2c3594a934f)

05 pc 0x89db4 libbinder.so (android::PoolThread::threadLoop() + 444) (BuildId: b6b3f50edbdfb01574bcc2c3594a934f)

06 pc 0x12f18 libutils.so (android::Thread::_threadLoop(void*) + 416) (BuildId: a5ca39eaeeeb017be4afa358811e69fb)

07 pc 0xcd150 libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*) + 140) (BuildId: d3375f5c8c09c84a8e78e1a1d90e35da)

08 pc 0xb6668 libc.so (__pthread_start(void*) + 208) (BuildId: 8b687b4d600e1faa82af5a5197e82129)

09 pc 0x532cc libc.so (__start_thread + 64) (BuildId: 8b687b4d600e1faa82af5a5197e82129)

binder:28693_3 (native):tid=16 systid=28710

00 pc 0xa2688 libc.so (__ioctl + 8) (BuildId: 8b687b4d600e1faa82af5a5197e82129)

01 pc 0x5b720 libc.so (ioctl + 156) (BuildId: 8b687b4d600e1faa82af5a5197e82129)

02 pc 0x5aa00 libbinder.so (android::IPCThreadState::talkWithDriver(bool) + 280) (BuildId: b6b3f50edbdfb01574bcc2c3594a934f)

03 pc 0x5acdc libbinder.so (android::IPCThreadState::getAndExecuteCommand() + 24) (BuildId: b6b3f50edbdfb01574bcc2c3594a934f)

04 pc 0x5b5f8 libbinder.so (android::IPCThreadState::joinThreadPool(bool) + 68) (BuildId: b6b3f50edbdfb01574bcc2c3594a934f)

05 pc 0x89db4 libbinder.so (android::PoolThread::threadLoop() + 444) (BuildId: b6b3f50edbdfb01574bcc2c3594a934f)

06 pc 0x12f18 libutils.so (android::Thread::_threadLoop(void*) + 416) (BuildId: a5ca39eaeeeb017be4afa358811e69fb)

07 pc 0xcd150 libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*) + 140) (BuildId: d3375f5c8c09c84a8e78e1a1d90e35da)

08 pc 0xb6668 libc.so (__pthread_start(void*) + 208) (BuildId: 8b687b4d600e1faa82af5a5197e82129)

09 pc 0x532cc libc.so (__start_thread + 64) (BuildId: 8b687b4d600e1faa82af5a5197e82129)

Profile Saver (native):tid=17 systid=28718

00 pc 0x4e09c libc.so (syscall + 28) (BuildId: 8b687b4d600e1faa82af5a5197e82129)

01 pc 0x3a8ff4 libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*) + 140) (BuildId: 4c9b59b74ca9272f710a71137164c349)

02 pc 0x55920c libart.so (art::ProfileSaver::Run() + 372) (BuildId: 4c9b59b74ca9272f710a71137164c349)

03 pc 0x558644 libart.so (art::ProfileSaver::RunProfileSaverThread(void*) + 152) (BuildId: 4c9b59b74ca9272f710a71137164c349)

04 pc 0xb6668 libc.so (__pthread_start(void*) + 208) (BuildId: 8b687b4d600e1faa82af5a5197e82129)

05 pc 0x532cc libc.so (__start_thread + 64) (BuildId: 8b687b4d600e1faa82af5a5197e82129)

queued-work-looper-data (waiting):tid=18 systid=28723 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)

DefaultDispatcher-worker-2 (timed waiting):tid=19 systid=28739 at jdk.internal.misc.Unsafe.park(Native method) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:357) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler.kt:795) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.kt:740) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:711) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt)

DefaultDispatcher-worker-1 (timed waiting):tid=20 systid=28738 at jdk.internal.misc.Unsafe.park(Native method) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:357) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler.kt:795) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.kt:740) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:711) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt)

DefaultDispatcher-worker-3 (timed waiting):tid=21 systid=28740 at jdk.internal.misc.Unsafe.park(Native method) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:357) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler.kt:795) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.kt:740) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:711) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt)

Firebase Background Thread #0 (waiting):tid=22 systid=28741 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:47) at java.lang.Thread.run(Thread.java:1012)

Firebase Background Thread #1 (waiting):tid=24 systid=28745 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:47) at java.lang.Thread.run(Thread.java:1012)

Crashlytics Exception Handler1 (waiting):tid=25 systid=28746 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:67) at com.google.firebase.crashlytics.internal.common.BackgroundPriorityRunnable.run(BackgroundPriorityRunnable.java:27) at java.lang.Thread.run(Thread.java:1012)

GmsDynamite (waiting):tid=26 systid=28747 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(com.google.android.gms:play-services-basement@@18.2.0:2)

Firebase Background Thread #2 (waiting):tid=27 systid=28749 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:47) at java.lang.Thread.run(Thread.java:1012)

Firebase Background Thread #3 (waiting):tid=28 systid=28750 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:47) at java.lang.Thread.run(Thread.java:1012)

com.google.firebase.crashlytics.startup1 (waiting):tid=29 systid=28748 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:67) at com.google.firebase.crashlytics.internal.common.BackgroundPriorityRunnable.run(BackgroundPriorityRunnable.java:27) at java.lang.Thread.run(Thread.java:1012)

awaitEvenIfOnMainThread task continuation executor1 (waiting):tid=30 systid=28751 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:67) at com.google.firebase.crashlytics.internal.common.BackgroundPriorityRunnable.run(BackgroundPriorityRunnable.java:27) at java.lang.Thread.run(Thread.java:1012)

Firebase Blocking Thread #0 (timed waiting):tid=31 systid=28752 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:47) at java.lang.Thread.run(Thread.java:1012)

Firebase Blocking Thread #1 (timed waiting):tid=32 systid=28753 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:47) at java.lang.Thread.run(Thread.java:1012)

pool-9-thread-1 (waiting):tid=33 systid=28758 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-Messaging-Init (waiting):tid=34 systid=28762 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.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1176) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:905) 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.android.gms.common.util.concurrent.zza.run(com.google.android.gms:play-services-basement@@18.2.0:2) at java.lang.Thread.run(Thread.java:1012)

Firebase-Messaging-Topics-Io (waiting):tid=36 systid=28763 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.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1176) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:905) 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.android.gms.common.util.concurrent.zza.run(com.google.android.gms:play-services-basement@@18.2.0:2) at java.lang.Thread.run(Thread.java:1012)

OkHttp ConnectionPool (timed waiting):tid=39 systid=28768 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)

queued-work-looper (native):tid=43 systid=28779

00 pc 0xa3668 libc.so (__epoll_pwait + 8) (BuildId: 8b687b4d600e1faa82af5a5197e82129)

01 pc 0x17444 libutils.so (android::Looper::pollInner(int) + 188) (BuildId: a5ca39eaeeeb017be4afa358811e69fb)

02 pc 0x17328 libutils.so (android::Looper::pollOnce(int, int, int, void**) + 112) (BuildId: a5ca39eaeeeb017be4afa358811e69fb)

03 pc 0x161acc libandroid_runtime.so (android::android_os_MessageQueue_nativePollOnce(_JNIEnv, _jobject, long, int) + 44) (BuildId: d3375f5c8c09c84a8e78e1a1d90e35da)

   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)

WM.task-1 (waiting):tid=44 systid=28780 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)

Okio Watchdog (waiting):tid=45 systid=28781 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)

binder:28693_4 (native):tid=46 systid=28782

00 pc 0xa2688 libc.so (__ioctl + 8) (BuildId: 8b687b4d600e1faa82af5a5197e82129)

01 pc 0x5b720 libc.so (ioctl + 156) (BuildId: 8b687b4d600e1faa82af5a5197e82129)

02 pc 0x5aa00 libbinder.so (android::IPCThreadState::talkWithDriver(bool) + 280) (BuildId: b6b3f50edbdfb01574bcc2c3594a934f)

03 pc 0x5acdc libbinder.so (android::IPCThreadState::getAndExecuteCommand() + 24) (BuildId: b6b3f50edbdfb01574bcc2c3594a934f)

04 pc 0x5b5f8 libbinder.so (android::IPCThreadState::joinThreadPool(bool) + 68) (BuildId: b6b3f50edbdfb01574bcc2c3594a934f)

05 pc 0x89db4 libbinder.so (android::PoolThread::threadLoop() + 444) (BuildId: b6b3f50edbdfb01574bcc2c3594a934f)

06 pc 0x12f18 libutils.so (android::Thread::_threadLoop(void*) + 416) (BuildId: a5ca39eaeeeb017be4afa358811e69fb)

07 pc 0xcd150 libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*) + 140) (BuildId: d3375f5c8c09c84a8e78e1a1d90e35da)

08 pc 0xb6668 libc.so (__pthread_start(void*) + 208) (BuildId: 8b687b4d600e1faa82af5a5197e82129)

09 pc 0x532cc libc.so (__start_thread + 64) (BuildId: 8b687b4d600e1faa82af5a5197e82129)

WM.task-2 (waiting):tid=47 systid=28783 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=48 systid=28784 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=49 systid=28785 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)

androidx.work-1 (waiting):tid=50 systid=28786 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)

androidx.work-2 (waiting):tid=51 systid=28787 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)

AsyncTask #1 (waiting):tid=52 systid=28788 at jdk.internal.misc.Unsafe.park(Native method) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:194) at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:461) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:361) at java.util.concurrent.SynchronousQueue.take(SynchronousQueue.java:922) 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)`

milindmevada commented 1 year ago

Is there any updates on this issue?

munnadroid commented 1 year ago

Any update on this? We are also facing this in our production application a lot. firebase-bom version is 31.1.0

Matloob-Husain commented 1 year ago

Facing Anr problem with related to firebase crashlytics sdk. Please suggest us how to overcome this problem. sdk version is 18.4.1 and here is logs- jdk.internal.misc.Unsafe.park (Native method) java.util.concurrent.locks.LockSupport.parkNanos (LockSupport.java:234)

java.util.concurrent.CountDownLatch.await (CountDownLatch.java:278) com.google.firebase.crashlytics.internal.common.Utils.awaitEvenIfOnMainThread (Utils.java:124) com.google.firebase.crashlytics.internal.common.IdManager.fetchTrueFid (IdManager.java:171) com.google.firebase.crashlytics.internal.common.IdManager.getCrashlyticsInstallId (IdManager.java:117) com.google.firebase.crashlytics.internal.common.CLSUUID. (CLSUUID.java:46) com.google.firebase.crashlytics.internal.common.CrashlyticsCore.onPreExecute (CrashlyticsCore.java:139) com.google.firebase.crashlytics.FirebaseCrashlytics.init (FirebaseCrashlytics.java:149) com.google.firebase.crashlytics.CrashlyticsRegistrar.buildCrashlytics (CrashlyticsRegistrar.java:57) com.google.firebase.components.ComponentRuntime.lambda$discoverComponents$0 (ComponentRuntime.java:140) com.google.firebase.components.Lazy.get (Lazy.java:53) com.google.firebase.components.ComponentRuntime.doInitializeEagerComponents (ComponentRuntime.java:302) com.google.firebase.components.ComponentRuntime.initializeEagerComponents (ComponentRuntime.java:292) com.google.firebase.FirebaseApp.initializeAllApis (FirebaseApp.java:605) com.google.firebase.FirebaseApp.initializeApp (FirebaseApp.java:307) com.google.firebase.FirebaseApp.initializeApp (FirebaseApp.java:271) com.google.firebase.FirebaseApp.initializeApp (FirebaseApp.java:256) com.google.firebase.provider.FirebaseInitProvider.onCreate (FirebaseInitProvider.java:51) android.content.ContentProvider.attachInfo (ContentProvider.java:2451)

android.content.ContentProvider.attachInfo (ContentProvider.java:2421) com.google.firebase.provider.FirebaseInitProvider.attachInfo (FirebaseInitProvider.java:45) android.app.ActivityThread.installProvider (ActivityThread.java:7964)

com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1013)

Ali-Irfan01 commented 1 year ago

Facing the problem: main (timed waiting):tid=1 systid=14274 at jdk.internal.misc.Unsafe.park(Native method) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252) at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:717) at java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireSharedNanos(AbstractQueuedSynchronizer.java:1074) at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:276) at com.google.firebase.crashlytics.internal.common.Utils.awaitEvenIfOnMainThread(Utils.java:121) at com.google.firebase.crashlytics.internal.common.CrashlyticsController.handleUncaughtException(CrashlyticsController.java:253) at com.google.firebase.crashlytics.internal.common.CrashlyticsController.handleUncaughtException(CrashlyticsController.java:179) at com.google.firebase.crashlytics.internal.common.CrashlyticsController$1.onUncaughtException(CrashlyticsController.java:166) at com.google.firebase.crashlytics.internal.common.CrashlyticsUncaughtExceptionHandler.uncaughtException(CrashlyticsUncaughtExceptionHandler.java:54) at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1071) at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1066) at java.lang.Thread.dispatchUncaughtException(Thread.java:2306)

CharlesMoreira1 commented 1 year ago

I had the same issue with the new versions. I was only able to make it work using FirebaseBom in version: 29.3.0.

mahanteshk-discovery commented 11 months ago

We received one of the top most issue which leads to user-perceived ANR.

ANR Details: java.util.concurrent.CountDownLatch.await

Stacktrace

"main" tid=1 Timed Waiting at java.lang.Object.wait (Native method) at java.lang.Thread.parkFor$ (Thread.java:2135) at sun.misc.Unsafe.park (Unsafe.java:358) at java.util.concurrent.locks.LockSupport.parkNanos (LockSupport.java:230) at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedNanos (AbstractQueuedSynchronizer.java:1061) at java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireSharedNanos (AbstractQueuedSynchronizer.java:1352) at java.util.concurrent.CountDownLatch.await (CountDownLatch.java:278) at com.google.firebase.crashlytics.internal.common.Utils.awaitEvenIfOnMainThread (Utils.java:110) at com.google.firebase.crashlytics.internal.common.CrashlyticsController.handleUncaughtException (CrashlyticsController.java:232) at com.google.firebase.crashlytics.internal.common.CrashlyticsController$1.onUncaughtException (CrashlyticsController.java:155) at com.google.firebase.crashlytics.internal.common.CrashlyticsUncaughtExceptionHandler.uncaughtException (CrashlyticsUncaughtExceptionHandler.java:54) at java.lang.ThreadGroup.uncaughtException (ThreadGroup.java:1068) at java.lang.ThreadGroup.uncaughtException (ThreadGroup.java:1063) at java.lang.Thread.dispatchUncaughtException (Thread.java:1953)

"Measurement Worker" tid=30 Runnable at com.google.android.gms.internal.measurement.zzcq.zzc (com.google.android.gms:play-services-measurement-impl@@17.4.1:27) at com.google.android.gms.internal.measurement.zzjk.zzz (com.google.android.gms:play-services-measurement-impl@@17.4.1) at com.google.android.gms.internal.measurement.zzji.zzaa (com.google.android.gms:play-services-measurement-impl@@17.4.1) at com.google.android.gms.measurement.internal.zzas.zzce (com.google.android.gms:play-services-measurement-impl@@17.4.1) at com.google.android.gms.measurement.internal.zzaw.zza (com.google.android.gms:play-services-measurement-impl@@17.4.1) at com.google.android.gms.measurement.internal.zzem.zza (com.google.android.gms:play-services-measurement-impl@@17.4.1:27) at com.google.android.gms.measurement.internal.zzaa.zzd (com.google.android.gms:play-services-measurement-impl@@17.4.1:96) at com.google.android.gms.measurement.internal.zzaa.zza (com.google.android.gms:play-services-measurement-impl@@17.4.1:107) at com.google.android.gms.measurement.internal.zzhc.zza (com.google.android.gms:play-services-measurement-impl@@17.4.1:293) at com.google.android.gms.measurement.internal.zzhf.run (com.google.android.gms:play-services-measurement-impl@@17.4.1) at java.util.concurrent.Executors$RunnableAdapter.call (Executors.java:457) at java.util.concurrent.FutureTask.run (FutureTask.java:266) at com.google.android.gms.measurement.internal.zzfy.run (com.google.android.gms:play-services-measurement-impl@@17.4.1:21)

"Signal Catcher" tid=3 Runnable

00 pc 0x00000000002c4327 /system/lib/libart.so (art::DumpNativeStack(std::__1::basic_ostream<char, std::__1::char_traits>&, int, BacktraceMap, char const, art::ArtMethod, void)+130)

01 pc 0x00000000003558c9 /system/lib/libart.so (art::Thread::DumpStack(std::__1::basic_ostream<char, std::__1::char_traits>&, bool, BacktraceMap*, bool) const+200)

02 pc 0x0000000000351d9b /system/lib/libart.so (art::Thread::Dump(std::__1::basic_ostream<char, std::__1::char_traits>&, bool, BacktraceMap*, bool) const+34)

03 pc 0x000000000036963f /system/lib/libart.so (art::DumpCheckpoint::Run(art::Thread*)+650)

04 pc 0x00000000003632c9 /system/lib/libart.so (art::ThreadList::RunCheckpoint(art::Closure, art::Closure)+320)

05 pc 0x0000000000362e29 /system/lib/libart.so (art::ThreadList::Dump(std::__1::basic_ostream<char, std::__1::char_traits>&, bool)+536)

06 pc 0x0000000000362ae3 /system/lib/libart.so (art::ThreadList::DumpForSigQuit(std::__1::basic_ostream<char, std::__1::char_traits>&)+650)

07 pc 0x00000000003401a7 /system/lib/libart.so (art::Runtime::DumpForSigQuit(std::__1::basic_ostream<char, std::__1::char_traits>&)+122)

08 pc 0x0000000000347077 /system/lib/libart.so (art::SignalCatcher::HandleSigQuit()+1130)

09 pc 0x00000000003462c1 /system/lib/libart.so (art::SignalCatcher::Run(void*)+240)

10 pc 0x0000000000047c9f /system/lib/libc.so (__pthread_start(void*)+22)

11 pc 0x000000000001afbd /system/lib/libc.so (__start_thread+32)

"Jit thread pool worker thread 0" tid=2 Native

00 pc 0x0000000000018d98 /system/lib/libc.so (syscall+28)

01 pc 0x00000000000b375d /system/lib/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+88)

02 pc 0x000000000036a967 /system/lib/libart.so (art::ThreadPool::GetTask(art::Thread*)+170)

03 pc 0x000000000036a20b /system/lib/libart.so (art::ThreadPoolWorker::Run()+62)

04 pc 0x0000000000369e21 /system/lib/libart.so (art::ThreadPoolWorker::Callback(void*)+92)

05 pc 0x0000000000047c9f /system/lib/libc.so (__pthread_start(void*)+22)

06 pc 0x000000000001afbd /system/lib/libc.so (__start_thread+32)

We are using firebase crashlytic version 17.4.1

Please help to resolve this issue?

jonathanfontaine commented 10 months ago

Is there any updates on this issue?

cempo commented 10 months ago

I have this issue only on Samsung smartwatches and with Android 13. Maybe it helps.

Firebase version: implementation platform('com.google.firebase:firebase-bom:32.7.0') implementation 'com.google.firebase:firebase-analytics' implementation 'com.google.firebase:firebase-crashlytics'

main (timed waiting):tid=1 systid=14194 at jdk.internal.misc.Unsafe.park(Native method) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:234) at kotlinx.coroutines.BlockingCoroutine.joinBlocking(BlockingCoroutine.java:88) at kotlinx.coroutines.BuildersKtBuildersKt.runBlocking(BuildersKtBuilders.kt:59) at kotlinx.coroutines.BuildersKt.runBlocking(Builders.kt:1) at kotlinx.coroutines.BuildersKtBuildersKt.runBlocking$default(BuildersKtBuilders.kt:38) at kotlinx.coroutines.BuildersKt.runBlocking$default(Builders.kt:1) at com.google.firebase.sessions.settings.SettingsCache.(SettingsCache.kt:46) at com.google.firebase.sessions.settings.RemoteSettings.(RemoteSettings.kt:44) at com.google.firebase.sessions.settings.SessionsSettings.(SessionsSettings.kt:48) at com.google.firebase.sessions.settings.SessionsSettings.(SessionsSettings.kt:66) at com.google.firebase.sessions.FirebaseSessionsRegistrar.getComponents$lambda-3(FirebaseSessionsRegistrar.kt:85) at com.google.firebase.crashlytics.internal.model.serialization.CrashlyticsReportJsonTransform$$ExternalSyntheticLambda0.b(R8$$SyntheticClass:16) at com.google.firebase.tracing.ComponentMonitor.lambda$processRegistrar$0(ComponentMonitor.java:38) at com.google.firebase.components.ComponentRuntime.lambda$discoverComponents$0(ComponentRuntime.java:160) at com.google.firebase.components.Lazy.get(Lazy.java:53) at com.google.firebase.components.ComponentContainer.get(ComponentContainer.java:48) at com.google.firebase.components.RestrictedComponentContainer.get(RestrictedComponentContainer.java:105) at com.google.firebase.sessions.FirebaseSessionsRegistrar.getComponents$lambda-0(FirebaseSessionsRegistrar.kt:51) at com.google.firebase.crashlytics.internal.model.serialization.CrashlyticsReportJsonTransform$$ExternalSyntheticLambda0.b(R8$$SyntheticClass:31) at com.google.firebase.tracing.ComponentMonitor.lambda$processRegistrar$0(ComponentMonitor.java:38) at com.google.firebase.components.ComponentRuntime.lambda$discoverComponents$0(ComponentRuntime.java:160) at com.google.firebase.components.Lazy.get(Lazy.java:53) at com.google.firebase.components.ComponentRuntime.doInitializeEagerComponents(ComponentRuntime.java:322) at com.google.firebase.components.ComponentRuntime.initializeEagerComponents(ComponentRuntime.java:312) at com.google.firebase.FirebaseApp.initializeAllApis(FirebaseApp.java:607) at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:300) at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:264) at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:249) at com.google.firebase.provider.FirebaseInitProvider.onCreate(FirebaseInitProvider.java:69) at android.content.ContentProvider.attachInfo(ContentProvider.java:2485) at android.content.ContentProvider.attachInfo(ContentProvider.java:2455) at com.google.firebase.provider.FirebaseInitProvider.attachInfo(FirebaseInitProvider.java:61) at android.app.ActivityThread.installProvider(ActivityThread.java:7552) at android.app.ActivityThread.installContentProviders(ActivityThread.java:7063) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6831) at android.app.ActivityThread.-$$Nest$mhandleBindApplication(unavailable) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2153) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loopOnce(Looper.java:201) at android.os.Looper.loop(Looper.java:288) at android.app.ActivityThread.main(ActivityThread.java:7962) at java.lang.reflect.Method.invoke(Native method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:550) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:952)

ankit92 commented 10 months ago

@cempo Does updgrading Firebase bom to implementation platform('com.google.firebase:firebase-bom:32.7.0') solves this issue for you?

ankit92 commented 10 months ago

@argzdev Anu update on resolution?