microsoft-authentication-library-for-android
microsoft-authentication-library-for-android copied to clipboard
android.os.BadParcelableException: Failure retrieving array; only received 897 of 965
Describe the bug Since a few days we experience issues with our app that uses Microsoft Authenticator as broker. The crash happens almost always immediately after opening the app. (when the first backend call is made, and a token is requested).
Smartphone (please complete the following information):
- Device: Almost all of our devices are managed (Intune) Samsung XCover 6 PRO, but we've seen it happen on Samsung S23 too (We exclusive use Samsung devices)
- Android Version: It only seems to happen on Android 14 (api level 34)
- Browser N/A, Authenticator app is used.
- MSAL Version, it happend at first on 5.0.0, but then upgraded to 5.2.1 which seemed to fix it, but it happend again today.
Stacktrace
10:08:28.288 4550 4729 E AndroidRuntime: android.os.BadParcelableException: Failure retrieving array; only received 897 of 965
04-10 10:08:28.288 4550 4729 E AndroidRuntime: at android.content.pm.BaseParceledListSlice.<init>(BaseParceledListSlice.java:110)
04-10 10:08:28.288 4550 4729 E AndroidRuntime: at android.content.pm.ParceledListSlice.<init>(ParceledListSlice.java:42)
04-10 10:08:28.288 4550 4729 E AndroidRuntime: at android.content.pm.ParceledListSlice.<init>(Unknown Source:0)
04-10 10:08:28.288 4550 4729 E AndroidRuntime: at android.content.pm.ParceledListSlice$1.createFromParcel(ParceledListSlice.java:80)
04-10 10:08:28.288 4550 4729 E AndroidRuntime: at android.content.pm.ParceledListSlice$1.createFromParcel(ParceledListSlice.java:78)
04-10 10:08:28.288 4550 4729 E AndroidRuntime: at android.os.Parcel.readTypedObject(Parcel.java:4037)
04-10 10:08:28.288 4550 4729 E AndroidRuntime: at android.content.pm.IPackageManager$Stub$Proxy.queryContentProviders(IPackageManager.java:5784)
04-10 10:08:28.288 4550 4729 E AndroidRuntime: at android.app.ApplicationPackageManager.queryContentProviders(ApplicationPackageManager.java:1777)
04-10 10:08:28.288 4550 4729 E AndroidRuntime: at android.app.ApplicationPackageManager.queryContentProviders(ApplicationPackageManager.java:1763)
04-10 10:08:28.288 4550 4729 E AndroidRuntime: at android.app.ApplicationPackageManager.queryContentProviders(ApplicationPackageManager.java:1757)
04-10 10:08:28.288 4550 4729 E AndroidRuntime: at com.microsoft.identity.common.internal.broker.ipc.ContentProviderStrategy.isSupportedByTargetedBroker(ContentProviderStrategy.java:158)
04-10 10:08:28.288 4550 4729 E AndroidRuntime: at com.microsoft.identity.common.internal.controllers.BrokerMsalController.getIpcStrategies(BrokerMsalController.java:189)
04-10 10:08:28.288 4550 4729 E AndroidRuntime: at com.microsoft.identity.common.internal.controllers.BrokerMsalController.<init>(BrokerMsalController.java:162)
04-10 10:08:28.288 4550 4729 E AndroidRuntime: at com.microsoft.identity.client.internal.controllers.MSALControllerFactory.getAllControllers(MSALControllerFactory.kt:109)
04-10 10:08:28.288 4550 4729 E AndroidRuntime: at com.microsoft.identity.client.SingleAccountPublicClientApplication$1.onMigrationFinished(SingleAccountPublicClientApplication.java:130)
04-10 10:08:28.288 4550 4729 E AndroidRuntime: at com.microsoft.identity.client.PublicClientApplication.performMigration(PublicClientApplication.java:2454)
04-10 10:08:28.288 4550 4729 E AndroidRuntime: at com.microsoft.identity.client.SingleAccountPublicClientApplication.getCurrentAccountAsyncInternal(SingleAccountPublicClientApplication.java:175)
04-10 10:08:28.288 4550 4729 E AndroidRuntime: at com.microsoft.identity.client.SingleAccountPublicClientApplication.getCurrentAccountAsync(SingleAccountPublicClientApplication.java:118)
04-10 10:08:28.313 4550 4729 E AndroidRuntime: Caused by: android.os.DeadObjectException: Transaction failed on small parcel; remote process probably died, but this could also be caused by running out of binder buffer space
04-10 10:08:28.313 4550 4729 E AndroidRuntime: at android.os.BinderProxy.transactNative(Native Method)
04-10 10:08:28.313 4550 4729 E AndroidRuntime: at android.os.BinderProxy.transact(BinderProxy.java:662)
04-10 10:08:28.313 4550 4729 E AndroidRuntime: at android.content.pm.BaseParceledListSlice.<init>(BaseParceledListSlice.java:99)
To Reproduce This is the struggle, it seems to happen at random but only on Android 14 devices.
Expected behavior Working communication with MSAL.
Actual Behavior The app crashes.