question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

[ANR] Deadlock in firebase messaging (WakeLockHolder.java)

See original GitHub issue

Environment

  • Firebase messaging 23.0.8
  • Firebase BOM 30.5.0

The problem

We are seeing a lot of ANRs in the crashlytics console that originate from Firebase Messaging. Crashlytics claims they’re caused by a deadlock.

main (blocked):tid=1 systid=9247 | waiting to lock <0x0891a599> (java.lang.Object) held by thread 25 at com.google.firebase.messaging.WakeLockHolder.completeWakefulIntent(WakeLockHolder.java:141) at com.google.firebase.messaging.WakeLockHolder$$ExternalSyntheticLambda0.onComplete(R8$$SyntheticClass:3) at com.google.android.gms.tasks.zzi.run(zzi.java:1) at com.google.android.gms.measurement.internal.zzl.run$bridge(com.google.android.gms:play-services-measurement-sdk@@21.1.1:27) at com.google.firebase.messaging.FcmBroadcastProcessor$$InternalSyntheticLambda$1$20ad64d025a971aa803b176a540e5710ff1caab22d62957ae57bd1390f50ccfd$0.execute(FcmBroadcastProcessor.java) at com.google.android.gms.tasks.zzj.zzd(com.google.android.gms:play-services-tasks@@18.0.1:3) at com.google.android.gms.tasks.zzr.zzb(com.google.android.gms:play-services-tasks@@18.0.1:5) at com.google.android.gms.tasks.zzw.zze(zzw.java:3) at com.google.android.gms.tasks.TaskCompletionSource.trySetResult(com.google.android.gms:play-services-tasks@@18.0.1:1) at com.google.firebase.messaging.WithinAppServiceConnection$BindRequest.finish(WithinAppServiceConnection.java:88) at com.google.firebase.messaging.WithinAppServiceBinder.lambda$send$0(WithinAppServiceBinder.java:55) at com.google.firebase.messaging.WithinAppServiceBinder$$InternalSyntheticLambda$2$28aec3a1d612c50761b821163886dacf3adcb6f56220725f43c11adc87a189da$1.onComplete$bridge(WithinAppServiceBinder.java:14) at com.google.android.gms.tasks.zzi.run(zzi.java:1) at com.google.android.gms.measurement.internal.zzl.run$bridge(com.google.android.gms:play-services-measurement-sdk@@21.1.1:27) at com.google.firebase.messaging.FcmBroadcastProcessor$$InternalSyntheticLambda$1$20ad64d025a971aa803b176a540e5710ff1caab22d62957ae57bd1390f50ccfd$0.execute(FcmBroadcastProcessor.java) at com.google.android.gms.tasks.zzj.zzd(com.google.android.gms:play-services-tasks@@18.0.1:3) at com.google.android.gms.tasks.zzr.zzb(com.google.android.gms:play-services-tasks@@18.0.1:5) at com.google.android.gms.tasks.zzw.zzi(com.google.android.gms:play-services-tasks@@18.0.1:3) at com.google.android.gms.tasks.zzw.addOnCompleteListener(com.google.android.gms:play-services-tasks@@18.0.1:9) at com.google.firebase.messaging.WithinAppServiceBinder.send(WithinAppServiceBinder.java:55) at com.google.firebase.messaging.WithinAppServiceConnection.flushQueue(WithinAppServiceConnection.java:152) at com.google.firebase.messaging.WithinAppServiceConnection.onServiceConnected(WithinAppServiceConnection.java:209) at android.app.LoadedApk$ServiceDispatcher.doConnected(LoadedApk.java:2084) at android.app.LoadedApk$ServiceDispatcher$RunConnection.run(LoadedApk.java:2116) at android.os.Handler.handleCallback(Handler.java:938) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:246) at android.app.ActivityThread.main(ActivityThread.java:8653) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)

firebase-iid-executor (blocked):tid=25 systid=9957 | waiting to lock <0x01fdfb47> (t7c) held by thread 1 at com.google.firebase.messaging.WithinAppServiceConnection.b(WithinAppServiceConnection.java:1) at com.google.firebase.messaging.WakeLockHolder.sendWakefulServiceIntent(WakeLockHolder.java:112) at com.google.firebase.messaging.FcmBroadcastProcessor.bindToMessagingService(FcmBroadcastProcessor.java:122) at com.google.firebase.messaging.FcmBroadcastProcessor.startMessagingService(FcmBroadcastProcessor.java:90) at com.google.firebase.messaging.FcmBroadcastProcessor.process(FcmBroadcastProcessor.java:73) at com.google.firebase.iid.FirebaseInstanceIdReceiver.onMessageReceive(FirebaseInstanceIdReceiver.java:52) at com.google.android.gms.cloudmessaging.CloudMessagingReceiver.zzb(com.google.android.gms:play-services-cloud-messaging@@17.0.0:9) at com.google.android.gms.cloudmessaging.CloudMessagingReceiver.zza(CloudMessagingReceiver.java:4) at com.google.android.gms.cloudmessaging.zze.run(com.google.android.gms:play-services-cloud-messaging@@17.0.0:35) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at com.google.android.gms.common.util.concurrent.zza.run(zza.java:2) at com.google.android.gms.ads.zzd.run$bridge(com.google.android.gms:play-services-ads-lite@@21.2.0:52) at java.lang.Thread.run(Thread.java:923)

Steps to reproduce:

We do not have steps to reproduce yet.

Issue Analytics

  • State:closed
  • Created 10 months ago
  • Reactions:1
  • Comments:6 (3 by maintainers)

github_iconTop GitHub Comments

1reaction
argzdevcommented, Nov 29, 2022

Hi @RngNoah, we expect this fix to be in the M125 release that is targeted for next week. That said, since this has been merged. I’ll close this issue for now. Feel free to reopen if you encounter this issue on the new version (23.1.1). Thanks!

0reactions
RngNoahcommented, Nov 29, 2022

May I ask when a new version will be released that fixes this anr issue? @gsakakihara

Read more comments on GitHub >

github_iconTop Results From Across the Web

firebase ANR due to deadblock - Stack Overflow
After I upgraded Firebase-cloud-messaging SDK and Crittercism SDK at the same time, My App ANR has a very high ANR rate. ANR happened...
Read more >
ANR happened on loading RewardedInterstitialAd
We're facing this ANR after another Admob ANR have been resolved. ... "Firebase-Messaging-Init" prio=5 tid=19 Waiting. at java.lang.
Read more >
Choices v2.9.4 SB Licensed.apk - Hybrid Analysis
Submit malware for free analysis with Falcon Sandbox and Hybrid Analysis ... Uses java reflection classes ... WakeLockHolder.wakefulintent.
Read more >
Deadlocks and ANRs - Zen Android
DALVIK THREADS (16): "thread name" ... Status | group="main" ... | held mutexes= ... at java.lang.Thread.sleep!(Native method) - ...
Read more >
search issues · java - bytemeta
SDK generated, changelog and version number are ready? ... firebase/firebase-android-sdk [ANR] Deadlock in firebase messaging (WakeLockHolder.java).
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found