Issues filed here should be about bugs in __the code in this repository__.
If you have a general question, need help debugging, or fall into some
other category use one of these other channels:
Appear tons of ANR errors in Play Console related to firebase messaging. And a lot of users have the same problem and are reporting in a closed issue of 2 years ago (2018).
Issue closed that continues active with more than 50 comments and 33 participants https://github.com/firebase/quickstart-android/issues/594

I can't reproduce, I just see the issues in the play console.
Broadcast of Intent { act=com.google.android.c2dm.intent.RECEIVE flg=0x11000010 pkg=xxx cmp=xxx/com.google.firebase.iid.FirebaseInstanceIdReceiver (has extras) }, InvisibleToUser
com.google.firebase.iid.FirebaseInstanceIdReceiver
"main" prio=5 tid=1 Runnable
| group="main" sCount=0 dsCount=0 flags=4 obj=0x713d3fc8 self=0x788ebc1c00
| sysTid=22434 nice=0 cgrp=default sched=0/0 handle=0x7890126ed0
| state=R schedstat=( 310821836 210351148 893 ) utm=8 stm=22 core=0 HZ=100
| stack=0x7fe8780000-0x7fe8782000 stackSize=8192KB
| held mutexes= "mutator lock"(shared held)
at com.google.firebase.internal.DataCollectionConfigStorage.directBootSafe (DataCollectionConfigStorage.java)
at com.google.firebase.internal.DataCollectionConfigStorage.isEnabled (DataCollectionConfigStorage.java)
at com.google.firebase.internal.DataCollectionConfigStorage.setEnabled (DataCollectionConfigStorage.java)
at com.google.firebase.FirebaseApp.isDataCollectionDefaultEnabled (FirebaseApp.java)
at java.lang.reflect.Method.invoke (Method.java)
at io.fabric.sdk.android.services.common.FirebaseAppImpl.getInstance (FirebaseAppImpl.java)
at io.fabric.sdk.android.services.common.FirebaseAppImpl.isDataCollectionDefaultEnabled (FirebaseAppImpl.java)
at io.fabric.sdk.android.services.common.DataCollectionArbiter.getInstance (DataCollectionArbiter.java)
at io.fabric.sdk.android.services.common.DataCollectionArbiter.isDataCollectionEnabled (DataCollectionArbiter.java)
at com.crashlytics.android.core.CrashlyticsCore.access$100 (CrashlyticsCore.java)
at com.crashlytics.android.core.CrashlyticsCore.doLog (CrashlyticsCore.java)
at com.crashlytics.android.core.CrashlyticsCore.isBuildIdValid (CrashlyticsCore.java)
at com.crashlytics.android.core.CrashlyticsCore.log (CrashlyticsCore.java)
at com.crashlytics.android.core.CrashlyticsCore.logException (CrashlyticsCore.java)
at com.crashlytics.android.core.CrashlyticsCore.onPreExecute (CrashlyticsCore.java)
at com.crashlytics.android.core.CrashlyticsCore.setCrashlyticsNdkDataProvider (CrashlyticsCore.java)
at com.crashlytics.android.core.CrashlyticsCore.setString (CrashlyticsCore.java)
at com.crashlytics.android.core.CrashlyticsCore.onPreExecute (CrashlyticsCore.java)
at io.fabric.sdk.android.InitializationTask.onPreExecute (InitializationTask.java)
at io.fabric.sdk.android.services.concurrency.AsyncTask.access$200 (AsyncTask.java)
at io.fabric.sdk.android.services.concurrency.AsyncTask.access$300 (AsyncTask.java)
at io.fabric.sdk.android.services.concurrency.AsyncTask.doInBackground (AsyncTask.java)
at io.fabric.sdk.android.services.concurrency.AsyncTask.executeOnExecutor (AsyncTask.java)
at io.fabric.sdk.android.services.concurrency.PriorityAsyncTask.addDependency (PriorityAsyncTask.java)
at io.fabric.sdk.android.services.concurrency.PriorityAsyncTask.addDependency (PriorityAsyncTask.java)
at io.fabric.sdk.android.services.concurrency.PriorityAsyncTask.executeOnExecutor (PriorityAsyncTask.java)
at io.fabric.sdk.android.services.concurrency.PriorityAsyncTask.isFinished (PriorityAsyncTask.java)
at io.fabric.sdk.android.services.concurrency.PriorityAsyncTask.setError (PriorityAsyncTask.java)
at io.fabric.sdk.android.services.concurrency.PriorityAsyncTask.setFinished (PriorityAsyncTask.java)
at io.fabric.sdk.android.Kit.initialize (Kit.java)
at io.fabric.sdk.android.Fabric.access$300 (Fabric.java)
at io.fabric.sdk.android.Fabric.getExecutorService (Fabric.java)
at io.fabric.sdk.android.Fabric.getKitMap (Fabric.java)
at io.fabric.sdk.android.Fabric.initializeKits (Fabric.java)
at io.fabric.sdk.android.Fabric.init (Fabric.java)
at io.fabric.sdk.android.Fabric.access$100 (Fabric.java)
at io.fabric.sdk.android.Fabric.getIdentifier (Fabric.java)
at io.fabric.sdk.android.Fabric.setFabric (Fabric.java)
at io.fabric.sdk.android.Fabric.extractActivity (Fabric.java)
at io.fabric.sdk.android.Fabric.getKits (Fabric.java)
at io.fabric.sdk.android.Fabric.with (Fabric.java)
- locked <0x0b22d8d5> (a java.lang.Class<h.a.a.a.c>)
at io.invertase.firebase.crashlytics.ReactNativeFirebaseCrashlyticsInitProvider.onCreate (ReactNativeFirebaseCrashlyticsInitProvider.java)
at android.content.ContentProvider.attachInfo (ContentProvider.java:2092)
at android.content.ContentProvider.attachInfo (ContentProvider.java:2066)
at io.invertase.firebase.common.ReactNativeFirebaseInitProvider.attachInfo (ReactNativeFirebaseInitProvider.java)
at android.app.ActivityThread.installProvider (ActivityThread.java:7237)
at android.app.ActivityThread.installContentProviders (ActivityThread.java:6782)
at android.app.ActivityThread.handleBindApplication (ActivityThread.java:6693)
at android.app.ActivityThread.access$1400 (ActivityThread.java:232)
at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2014)
at android.os.Handler.dispatchMessage (Handler.java:107)
at android.os.Looper.loop (Looper.java:241)
at android.app.ActivityThread.main (ActivityThread.java:7617)
at java.lang.reflect.Method.invoke (Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:941)
I couldn't figure out how to label this issue, so I've labeled it for a human to triage. Hang tight.
Previously FIID broadcast handling was done and main thread and caused lots of ANR. It was fixed and rolled out earlier this year (not sure which release was in. Likely >= 20.1.3). IIRC, you updated the app to 20.2.4 but still sees many ANR crashes. Do you have any insights on the demographics of the SDK versions these crashes are on?
I was also getting the same ANR. So i'm sharing my finding here with you all guys to reduce this ANR.
Memory Leak can be one reason for emitting this com.google.firebase.iid.firebaseinstanceidreceiver ANR.
So you can verify on Android profiler for memory leak, If memory leak issue is fixed then this ANR automatically come DOWN.
Hope this help to all you guys.
Hi @zwu52 @google-oss-bot ,
Here is one use case in which we can reproduce this ANR.
I have many app in my phone which receive daily 200+ push-notification each-app every-day. So i putted my device offline for 2-3days, later then came to online and then started getting notification more than 1000+ PNs (older & pending PN).
Log Details:-
_#00 pc 0000000000071160 /system/lib64/libc.so (__epoll_pwait+8)
#00 pc 0000000000014200 /system/lib64/libutils.so (android::Looper::pollInner(int)+144)
#00 pc 00000000000140cc /system/lib64/libutils.so (android::Looper::pollOnce(int, int, int, void*)+60)
#00 pc 0000000000127264 /system/lib64/libandroid_runtime.so (android::android_os_MessageQueue_nativePollOnce(_JNIEnv, _jobject*, long, int)+44)
at android.os.MessageQueue.nativePollOnce (MessageQueue.java)
at android.os.MessageQueue.next (MessageQueue.java:326)
at android.os.Looper.loop (Looper.java:190)
at android.app.ActivityThread.main (ActivityThread.java:7212)
at java.lang.reflect.Method.invoke (Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:499)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:942)_
Device details:-

* *
So in my opinion, if we receive many PN at same time this ANR surely occur.
@google-oss-bot @zwu52 kindly look on this use case. while receiving 500+ push-notifications is their a way to properly schedule these many push notification to prevent this happening?
Most helpful comment
I was also getting the same ANR. So i'm sharing my finding here with you all guys to reduce this ANR.
Memory Leak can be one reason for emitting this com.google.firebase.iid.firebaseinstanceidreceiver ANR.
So you can verify on Android profiler for memory leak, If memory leak issue is fixed then this ANR automatically come DOWN.
Hope this help to all you guys.