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

android.os.BadParcelableException: Failure retrieving array; only received 897 of 965

Open MartijnvAdrichem opened this issue 1 year ago • 0 comments

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.

MartijnvAdrichem avatar Apr 11 '24 10:04 MartijnvAdrichem