Skip to content

ANR in FirebaseAuth.getInstance #7199

@fanwgwg

Description

@fanwgwg

[REQUIRED] Describe your environment

  • Android Studio version: Android Studio Narwhal | 2025.1.1 Patch 1
  • Firebase Component: Auth
  • Component version: implementation platform('com.google.firebase:firebase-bom:34.0.0')

[REQUIRED] Describe the problem

Steps to reproduce:

Upon app start, FirebaseAuth.getInstance sometimes reports ANR based on Crashlytics

Relevant Code:

Stacktrace:

main (native):tid=1 systid=5496 
#00 pc 0xc2018 libc.so (__ioctl + 8) (BuildId: 218db69eb66aeb253a34d956906a8bba)
#01 pc 0x740ac libc.so (ioctl + 156) (BuildId: 218db69eb66aeb253a34d956906a8bba)
#02 pc 0x614e4 libbinder.so (android::IPCThreadState::talkWithDriver + 292) (BuildId: f1b04f1e40a7ed33b3ca4a77f6a5abce)
#03 pc 0x6288c libbinder.so (android::IPCThreadState::waitForResponse + 60) (BuildId: f1b04f1e40a7ed33b3ca4a77f6a5abce)
#04 pc 0x625c8 libbinder.so (android::IPCThreadState::transact + 216) (BuildId: f1b04f1e40a7ed33b3ca4a77f6a5abce)
#05 pc 0x7ae3c libbinder.so (android::BpBinder::transact + 188) (BuildId: f1b04f1e40a7ed33b3ca4a77f6a5abce)
#06 pc 0x19e6d8 libandroid_runtime.so (android_os_BinderProxy_transact + 152) (BuildId: 430ca12157f5261f164a477281253307)
       at android.os.BinderProxy.transactNative(Native method)
       at android.os.BinderProxy.transact(BinderProxy.java:584)
       at android.system.keystore2.IKeystoreSecurityLevel$Stub$Proxy.createOperation(IKeystoreSecurityLevel.java:281)
       at android.security.KeyStoreSecurityLevel.createOperation(KeyStoreSecurityLevel.java:81)
       at android.security.keystore2.AndroidKeyStoreCipherSpiBase.ensureKeystoreOperationInitialized(AndroidKeyStoreCipherSpiBase.java:349)
       at android.security.keystore2.AndroidKeyStoreCipherSpiBase.engineInit(AndroidKeyStoreCipherSpiBase.java:185)
       at javax.crypto.Cipher.tryTransformWithProvider(Cipher.java:3003)
       at javax.crypto.Cipher.tryCombinations(Cipher.java:2910)
       at javax.crypto.Cipher$SpiAndProviderUpdater.updateAndGetSpiAndProvider(Cipher.java:2815)
       at javax.crypto.Cipher.chooseProvider(Cipher.java:792)
       at javax.crypto.Cipher.init(Cipher.java:1162)
       at javax.crypto.Cipher.init(Cipher.java:1103)
       at com.google.android.gms.internal.firebase-auth-api.zznb.zzb(com.google.firebase:firebase-auth@@24.0.0:17)
       at com.google.android.gms.internal.firebase-auth-api.zzne.zzb(com.google.firebase:firebase-auth@@24.0.0:16)
       at com.google.android.gms.internal.firebase-auth-api.zznd.zza(com.google.firebase:firebase-auth@@24.0.0:9)
       at com.google.android.gms.internal.firebase-auth-api.zzmy$zza.zzb(com.google.firebase:firebase-auth@@24.0.0:19)
       at com.google.android.gms.internal.firebase-auth-api.zzmy$zza.zza(com.google.firebase:firebase-auth@@24.0.0:71)
       at com.google.firebase.auth.internal.zzby.zzb(com.google.firebase:firebase-auth@@24.0.0:7)
       at com.google.firebase.auth.internal.zzby.zzc(com.google.firebase:firebase-auth@@24.0.0:11)
       at com.google.firebase.auth.internal.zzby.zza(com.google.firebase:firebase-auth@@24.0.0:28)
       at com.google.firebase.auth.internal.zzcb.zza(com.google.firebase:firebase-auth@@24.0.0:81)
       at com.google.firebase.auth.internal.zzcb.zza(zzcb.java:1)
       at com.google.firebase.auth.FirebaseAuth.<init>(com.google.firebase:firebase-auth@@24.0.0:353)
       at com.google.firebase.auth.FirebaseAuth.<init>(com.google.firebase:firebase-auth@@24.0.0:324)
       at com.google.firebase.auth.internal.zzad.<init>(zzad.java:1)
       at com.google.firebase.auth.zzad.zzb(com.google.firebase:firebase-auth@@24.0.0:18)
       at com.google.firebase.auth.FirebaseAuth.getInstance(com.google.firebase:firebase-auth@@24.0.0:284)
       at com.myapp.account.AccountManager.getFirebaseAuth(AccountManager.java)
       at com.myapp.account.AccountManager.checkIsSignedIn(AccountManager.java)
       at com.myapp.purchase.PurchaseManager.initRC(PurchaseManager.java:172)
       at com.myapp.MyApplication.onCreate(NoteApplication.java:67)
       at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1322)
       at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7061)
       at android.app.ActivityThread.-$$Nest$mhandleBindApplication(unavailable)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2265)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loopOnce(Looper.java:205)
       at android.os.Looper.loop(Looper.java:294)
       at android.app.ActivityThread.main(ActivityThread.java:8255)
       at java.lang.reflect.Method.invoke(Native method)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:978)

In AccountManager

class AccountManager {
  public static FirebaseAuth getFirebaseAuth() {
    return FirebaseAuth.getInstance();
  }
  public static boolean checkIsSignedIn() {
    return getFirebaseAuth().getCurrentUser() != null;
  }
}

Here's a screenshot from Crashlytics

Image Image

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions