Open Cengizhanerturan opened 3 months ago
Can you upgrade you firebase plugins versions and try again and see if the issue still remains?
Can you upgrade you firebase plugins versions and try again and see if the issue still remains?
@TarekkMA Thanks for your answer.
I need to update the flutter version in order to update the firebase versions, and this requires application-wide editing. For this reason, it doesn't seem possible for me to try this.
However, I shared screenshots showing the anrs received by users and the situations in which these anrs were received. Don't you think these screenshots document that anr occurs when a notification is received?
When a notification is sent while the application is in the foreground, it crashes with the android.os.MessageQueue.nativePollOnce (Native method) error. There is no issue with the first notification; it arrives promptly. However, subsequent notifications experience delays. After a while, all pending notifications arrive simultaneously, leading to a crash of the application.
Also, apart from the problem I mentioned here, there may be another problem on the firebase_messaging side. As I mentioned before, there is a notification activation in all received anr and anr occurs after this notification activity.
Can you make a reproduction repo where this issue is happening? just the code that causes this issue to happen.
Can you make a reproduction repo where this issue is happening? just the code that causes this issue to happen.
@TarekkMA I cannot catch this problem, I am writing it here as a result of the notifications received by users using the application via Crashlytics.
My report is not related firebasse_messaging. Sorry for the confusion. See below. https://github.com/ryanheise/audio_service/issues/875#issuecomment-2177815595
Same here.
main (native):tid=1 systid=29182
#00 pc 0x57840 libc.so (syscall + 32) (BuildId: 37f537c2ba9dcbb262a0a68f41a21da4)
#01 pc 0x232858 libart.so (art::ConditionVariable::WaitHoldingLocks + 140) (BuildId: 02bec5940be704b863f6514fc7d81c41)
#02 pc 0x55c044 libart.so (art::JNI<false>::CallObjectMethodV + 1140) (BuildId: 02bec5940be704b863f6514fc7d81c41)
#03 pc 0xe3994 libandroid_runtime.so (_JNIEnv::CallObjectMethod + 124) (BuildId: d29fc9115b65377a1a4cf15b069b9c2a)
#04 pc 0x153f70 libandroid_runtime.so (android::NativeDisplayEventReceiver::dispatchVsync + 68) (BuildId: d29fc9115b65377a1a4cf15b069b9c2a)
#05 pc 0xcba88 libgui.so (android::DisplayEventDispatcher::handleEvent + 280) (BuildId: 37fabcd36f9bbf3a645c2964fe397e4e)
#06 pc 0x18b70 libutils.so (android::Looper::pollInner + 1252) (BuildId: d0c24e3b7b6c7152eb82e77a5d2271e6)
#07 pc 0x18628 libutils.so (android::Looper::pollOnce + 124) (BuildId: d0c24e3b7b6c7152eb82e77a5d2271e6)
#08 pc 0x18f208 libandroid_runtime.so (android::android_os_MessageQueue_nativePollOnce + 48) (BuildId: d29fc9115b65377a1a4cf15b069b9c2a)
at android.os.MessageQueue.nativePollOnce(Native method)
at android.os.MessageQueue.next(MessageQueue.java:335)
at android.os.Looper.loopOnce(Looper.java:187)
at android.os.Looper.loop(Looper.java:319)
at android.app.ActivityThread.main(ActivityThread.java:8919)
at java.lang.reflect.Method.invoke(Native method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:578)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
Every Crashlytics report comes from Android 14
main (native):tid=1 systid=20182
#00 pc 0x4deb0 libc.so (syscall + 32) (BuildId: 81e690796099642123738ebc3a07936c)
#01 pc 0x232858 libart.so (art::ConditionVariable::WaitHoldingLocks + 140) (BuildId: 02bec5940be704b863f6514fc7d81c41)
#02 pc 0x555134 libart.so (art::JNI<false>::FindClass + 1836) (BuildId: 02bec5940be704b863f6514fc7d81c41)
#03 pc 0x1269a8 libandroid_runtime.so (android::NativeDisplayEventReceiver::dispatchVsync + 80) (BuildId: 495478b5d27456788ccd1d734fe53ee9)
#04 pc 0xb8a34 libgui.so (android::DisplayEventDispatcher::handleEvent + 204) (BuildId: 9d052c980f9c2cd86f54f2793428e7db)
#05 pc 0x1716c libutils.so (android::Looper::pollInner + 916) (BuildId: eee35419973f1d9330ba7fca3b3f5bf7)
#06 pc 0x16d6c libutils.so (android::Looper::pollOnce + 116) (BuildId: eee35419973f1d9330ba7fca3b3f5bf7)
#07 pc 0x166288 libandroid_runtime.so (android::android_os_MessageQueue_nativePollOnce + 48) (BuildId: 495478b5d27456788ccd1d734fe53ee9)
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:8855)
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:1135)
My report is not related firebasse_messaging. Sorry for the confusion. See below. https://github.com/ryanheise/audio_service/issues/875#issuecomment-2177815595
@dfdgsdfg - thank you for locating the issue, it appears to be an underlying issue, possibly from firebase-android-sdk or even the android OS itself. Not much we can do about that on FlutterFire.
My report is not related firebasse_messaging. Sorry for the confusion. See below. https://github.com/ryanheise/audio_service/issues/875#issuecomment-2177815595
https://github.com/firebase/firebase-android-sdk/issues/4345#issuecomment-2084281469
ANR (MessageQueue.nativePollOnce). The following are very helpful for solving firebase ANR. (1) GLSurfaceView will display ANR on Android 11. (I don't understand why this is related to firebase. ) https://issuetracker.google.com/issues/269158607 (2) You need to minimize the cold start time of the application as much as possible. https://medium.com/bumble-tech/how-we-achieved-a-6x-reduction-of-anrs-part-2-fixing-anrs-24fedf9a973f (3) My suggestion is not to use Firebase Crashlytics. The crash analysis of Google Play Console is sufficient for us to use. In poor network conditions, Crashlytics will block the main thread when the application first starts, increasing the cold start time by 3 seconds(This is to request a token.), and can also cause ANR(MessageQueue.nativePollOnce).
@dfdgsdfg - thank you for locating the issue, it appears to be an underlying issue, possibly from firebase-android-sdk or even the android OS itself. Not much we can do about that on FlutterFire.
My report is not related firebasse_messaging. Sorry for the confusion. See below. https://github.com/ryanheise/audio_service/issues/875#issuecomment-2177815595
Is there an existing issue for this?
Which plugins are affected?
In-App Messaging
Which platforms are affected?
Android
Description
Hi;
When a notification is sent while the application is in the foreground, it crashes with the android.os.MessageQueue.nativePollOnce (Native method) error. There is no issue with the first notification; it arrives promptly. However, subsequent notifications experience delays. After a while, all pending notifications arrive simultaneously, leading to a crash of the application.
Additionally, notifications are sent via "firebase-admin".
This problem has increased a lot in the last 6-7 months and continues to cause a lot of anr. I am submitting the "Logs & Breadcrumbs" and "Stack trace" information I received from Firebase Crashlytics.
Number of anr received in the last 90 days (31K);
Packages
firebase_core: ^2.21.0 firebase_messaging: ^14.7.3
Reproducing the issue
Firebase Core version
2.21.0
Flutter Version
3.13.5
Relevant Log Output
Flutter dependencies
Expand
Flutter dependencies
snippet```yaml Replace this line with the contents of your `flutter pub deps -- --style=compact`. ```
Additional context and comments
No response