Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
MartijnvAdrichem opened this issue Apr 11, 2024 · 0 comments

Comments

@MartijnvAdrichem
Copy link

MartijnvAdrichem commented Apr 11, 2024

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant