-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Open
Labels
Description
Step 2: Describe your environment
- Android device: moto z4
- Android OS version: 10
- Google Play Services version: BOM 25.12.0
- Firebase/Play Services SDK version: BOM 25.12.0
- FirebaseUI version: 6.2.0
Step 3: Describe the problem:
Steps to reproduce:
- I don't know exactly. It happened shortly after calling the
Firebase.signOut()
method. Perhaps there is a timing issue with FirebaseUI not recognizing that the user has signed out.
Observed Results:
Crash with the following
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.google.firebase.auth.FirebaseUser.getEmail()' on a null object reference
at com.firebase.ui.auth.util.CredentialUtils.buildCredential(CredentialUtils.java:33)
at com.firebase.ui.auth.ui.HelperActivityBase.startSaveCredentials(HelperActivityBase.java:72)
at com.firebase.ui.auth.ui.FragmentBase.startSaveCredentials(FragmentBase.java:36)
at com.firebase.ui.auth.ui.email.RegisterEmailFragment$1.onSuccess(RegisterEmailFragment.java:103)
at com.firebase.ui.auth.ui.email.RegisterEmailFragment$1.onSuccess(RegisterEmailFragment.java:100)
at com.firebase.ui.auth.viewmodel.ResourceObserver.onChanged(ResourceObserver.java:69)
at com.firebase.ui.auth.viewmodel.ResourceObserver.onChanged(ResourceObserver.java:19)
at androidx.lifecycle.LiveData.considerNotify(LiveData.java:133)
at androidx.lifecycle.LiveData.dispatchingValue(LiveData.java:151)
at androidx.lifecycle.LiveData.setValue(LiveData.java:309)
at androidx.lifecycle.MutableLiveData.setValue(MutableLiveData.java:50)
at com.firebase.ui.auth.viewmodel.OperableViewModel.setResult(OperableViewModel.java:25)
at com.firebase.ui.auth.viewmodel.SignInViewModelBase.setResult(SignInViewModelBase.java:23)
at com.firebase.ui.auth.viewmodel.SignInViewModelBase.handleSuccess(SignInViewModelBase.java:27)
at com.firebase.ui.auth.viewmodel.email.EmailProviderResponseHandler.access$700(EmailProviderResponseHandler.java:31)
at com.firebase.ui.auth.viewmodel.email.EmailProviderResponseHandler$2.onSuccess(EmailProviderResponseHandler.java:60)
at com.firebase.ui.auth.viewmodel.email.EmailProviderResponseHandler$2.onSuccess(EmailProviderResponseHandler.java:57)
at com.google.android.gms.tasks.zzn.run(Unknown Source:4)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:241)
at android.app.ActivityThread.main(ActivityThread.java:7617)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:941)
Expected Results:
- No crash
Relevant Code:
I don't have any specific way to reproduce this, and I'm not doing anything special with Firebase / FirebaseUI. The stack trace seems to be a background process that triggers on a network response, so that makes me think there is some kind of race condition in Firebase/FirebaseUI.