microsoft-authentication-library-for-android icon indicating copy to clipboard operation
microsoft-authentication-library-for-android copied to clipboard

Application crashing on : - BrokerActivity.onCreate and BrowserAuthorizationFragment.extractState

Open amish-infosys opened this issue 7 months ago • 0 comments

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

amish-infosys avatar Apr 29 '25 13:04 amish-infosys