microsoft-authentication-library-for-android
microsoft-authentication-library-for-android copied to clipboard
Application crashing on : - BrokerActivity.onCreate and BrowserAuthorizationFragment.extractState
Note: If you have any questions regarding the usage of MSAL Android, please utilize Chat with Copilot for assistance. For bugs affecting your app in production, please create a support ticket with your Microsoft representative.
Describe the bug
Hi Team,
Our production mobile app is crashing due to an issue with the MSAL authentication library. We have received three crash reports in Firebase Crashlytics, and the corresponding stack traces are available in the stack trace section.
Smartphone (please complete the following information):
- Device: Google Pixel 6a
- Android Version: Android 12
- Browser: NA
- MSAL Version: 1.4.0
Stacktrace
Fatal Exception: java.lang.RuntimeException Unable to start activity ComponentInfo{com.toyotatmh.myinsights/com.microsoft.identity.client.internal.controllers.BrokerActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.os.Parcelable android.os.Bundle.getParcelable(java.lang.String)' on a null object reference keyboard_arrow_up android.app.ActivityThread.performLaunchActivity (ActivityThread.java:3707) arrow_drop_down com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1003)
Caused by java.lang.NullPointerException Attempt to invoke virtual method 'android.os.Parcelable android.os.Bundle.getParcelable(java.lang.String)' on a null object reference keyboard_arrow_up arrow_right
com.microsoft.identity.client.internal.controllers.BrokerActivity.onCreate (BrokerActivity.java:55) android.app.Activity.performCreate (Activity.java:8057) android.app.Activity.performCreate (Activity.java:8037) android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1341) android.app.ActivityThread.performLaunchActivity (ActivityThread.java:3688) android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:3864) android.app.servertransaction.LaunchActivityItem.execute (LaunchActivityItem.java:103) android.app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor.java:135) android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:95) android.app.ActivityThread$H.handleMessage (ActivityThread.java:2253) android.os.Handler.dispatchMessage (Handler.java:106) android.os.Looper.loopOnce (Looper.java:201) android.os.Looper.loop (Looper.java:288) android.app.ActivityThread.main (ActivityThread.java:7870) java.lang.reflect.Method.invoke (Method.java) com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:548) com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1003)
Fatal Exception: java.lang.NullPointerException Attempt to invoke virtual method 'android.os.Parcelable android.os.Bundle.getParcelable(java.lang.String)' on a null object referencekeyboard_arrow_uparrow_right
com.microsoft.identity.common.internal.providers.oauth2.BrowserAuthorizationFragment.extractState (BrowserAuthorizationFragment.java:98) com.microsoft.identity.common.internal.providers.oauth2.AuthorizationFragment.onCreate (AuthorizationFragment.java:95) com.microsoft.identity.common.internal.providers.oauth2.BrowserAuthorizationFragment.onCreate (BrowserAuthorizationFragment.java:84) androidx.fragment.app.Fragment.performCreate (Fragment.java:3094) androidx.fragment.app.FragmentStateManager.create (FragmentStateManager.java:504) androidx.fragment.app.FragmentStateManager.moveToExpectedState (FragmentStateManager.java:268) androidx.fragment.app.FragmentManager.executeOpsTogether (FragmentManager.java:1943) androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute (FragmentManager.java:1839) androidx.fragment.app.FragmentManager.execPendingActions (FragmentManager.java:1782) androidx.fragment.app.FragmentManager.dispatchStateChange (FragmentManager.java:3042) androidx.fragment.app.FragmentManager.dispatchActivityCreated (FragmentManager.java:2952) androidx.fragment.app.FragmentController.dispatchActivityCreated (FragmentController.java:263) androidx.fragment.app.FragmentActivity.onStart (FragmentActivity.java:350) android.app.Instrumentation.callActivityOnStart (Instrumentation.java:1467) android.app.Activity.performStart (Activity.java:8082) android.app.ActivityThread.handleStartActivity (ActivityThread.java:3732) android.app.servertransaction.TransactionExecutor.performLifecycleSequence (TransactionExecutor.java:221) android.app.servertransaction.TransactionExecutor.cycleToPath (TransactionExecutor.java:201) android.app.servertransaction.TransactionExecutor.executeLifecycleState (TransactionExecutor.java:173) android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:97) android.app.ActivityThread$H.handleMessage (ActivityThread.java:2253) android.os.Handler.dispatchMessage (Handler.java:106) android.os.Looper.loopOnce (Looper.java:201) android.os.Looper.loop (Looper.java:288) android.app.ActivityThread.main (ActivityThread.java:7870) java.lang.reflect.Method.invoke (Method.java) com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:548) com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1003)
Fatal Exception: java.lang.NullPointerException Attempt to invoke virtual method 'androidx.fragment.app.FragmentTransaction androidx.fragment.app.FragmentManager.beginTransaction()' on a null object reference keyboard_arrow_up arrow_right
com.microsoft.identity.common.internal.providers.oauth2.AuthorizationFragment.finish (AuthorizationFragment.java:111)
com.microsoft.identity.common.internal.providers.oauth2.WebViewAuthorizationFragment$AuthorizationCompletionCallback.onChallengeResponseReceived (WebViewAuthorizationFragment.java:218) com.microsoft.identity.common.internal.ui.webview.OAuth2WebViewClient.onReceivedSslError (OAuth2WebViewClient.java:142) WV.p7.run (chromium-TrichromeWebViewGoogle6432.aab-stable-704910033:185) android.os.Handler.handleCallback (Handler.java:938) android.os.Handler.dispatchMessage (Handler.java:99) android.os.Looper.loopOnce (Looper.java:201) android.os.Looper.loop (Looper.java:288) android.app.ActivityThread.main (ActivityThread.java:7870) java.lang.reflect.Method.invoke (Method.java) com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:548) com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1003)
To Reproduce
Steps to reproduce the behavior:
Unfortunately, we do not have a reliable method to reproduce this crash at the moment. The only diagnostic information we have is the Firebase Crashlytics stack trace, which has been included in the stack trace section.
Expected behavior
The mobile application should not crash, and end-users must be able to log in and authenticate successfully.
Actual Behavior
User Action: The user taps the "Login" button within the mobile application. Navigation: The mobile app then navigates the user to an embedded Single Sign-On (SSO) WebView page. On this page, the user enters their username and password. Successful Authentication: After the system verifies the entered username and password, the user is successfully logged into the application.
Screenshots
Not available
Additional context
Please note: Do not include sensitive information like PII, OII, credentials, secrets, and tokens.
For privacy/security issues please see instructions here