os-issue-tracker icon indicating copy to clipboard operation
os-issue-tracker copied to clipboard

Launcher crashes with "android.os.BadParcelableException" error / System UI crashes

Open emacsomancer opened this issue 2 years ago • 13 comments

In the last weeks I've had issues with Launcher (default or other) and System UI crashes. Sometimes this results in a 'toast' notifying me; sometimes I just get the screen blinking on and off, either eventually resolving, or dropping me back to the lock screen or rebooting the phone.

It happens both with using the default GrapheneOS launcher and also with third party launchers. And, in the latter case, sometimes the third party launcher will crash, but sometimes I also get 'toasts' notifying me that (the GrapheneOS) Launcher has crashed, even when it is not the launcher being used.

From the error messages in the toasts:

GrapheneOS Launcher crash:

type: crash
osVersion: google/raven/raven:14/UP1A.231005.007/2023102300:user/release-keys
package: com.android.launcher3:34
process: com.android.launcher3
processUptime: 2877 + 400 ms

android.os.BadParcelableException: Failure retrieving array; only received 1 of 11
	at android.content.pm.BaseParceledListSlice.<init>(BaseParceledListSlice.java:104)
	at android.content.pm.ParceledListSlice.<init>(ParceledListSlice.java:42)
	at android.content.pm.ParceledListSlice.<init>(Unknown Source:0)
	at android.content.pm.ParceledListSlice$1.createFromParcel(ParceledListSlice.java:80)
	at android.content.pm.ParceledListSlice$1.createFromParcel(ParceledListSlice.java:78)
	at android.os.Parcel.readTypedObject(Parcel.java:4045)
	at android.app.INotificationManager$Stub$Proxy.getActiveNotificationsFromListener(INotificationManager.java:4365)
	at android.service.notification.NotificationListenerService.getActiveNotifications(NotificationListenerService.java:1067)
	at android.service.notification.NotificationListenerService.getActiveNotifications(NotificationListenerService.java:1044)
	at com.android.launcher3.notification.NotificationListener.getActiveNotificationsSafely(NotificationListener.java:216)
	at com.android.launcher3.notification.NotificationListener.handleWorkerMessage(NotificationListener.java:158)
	at com.android.launcher3.notification.NotificationListener.$r8$lambda$4-fmy5r6l5LEHTsF6n64stfMwOg(Unknown Source:0)
	at com.android.launcher3.notification.NotificationListener$$ExternalSyntheticLambda3.handleMessage(Unknown Source:2)
	at android.os.Handler.dispatchMessage(Handler.java:102)
	at android.os.Looper.loopOnce(Looper.java:205)
	at android.os.Looper.loop(Looper.java:294)
	at android.os.HandlerThread.run(HandlerThread.java:67)
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
	at android.os.BinderProxy.transactNative(Native Method)
	at android.os.BinderProxy.transact(BinderProxy.java:584)
	at android.content.pm.BaseParceledListSlice.<init>(BaseParceledListSlice.java:95)
	... 16 more

This has occurred both before and after updating to the latest stable 2023102300 build, and both before and after completing clearing Launcher's storage.

Lawnchair crash:

type: crash
osVersion: google/raven/raven:14/UP1A.231005.007/2023101300:user/release-keys
package: app.lawnchair:12010005
process: app.lawnchair
processUptime: 2099 + 224 ms
installer: com.machiav3lli.fdroid

android.os.BadParcelableException: Failure retrieving array; only received 1 of 13
	at android.content.pm.BaseParceledListSlice.<init>(BaseParceledListSlice.java:104)
	at android.content.pm.ParceledListSlice.<init>(ParceledListSlice.java:42)
	at android.content.pm.ParceledListSlice.<init>(Unknown Source:0)
	at android.content.pm.ParceledListSlice$1.createFromParcel(ParceledListSlice.java:80)
	at android.content.pm.ParceledListSlice$1.createFromParcel(ParceledListSlice.java:78)
	at android.os.Parcel.readTypedObject(Parcel.java:4045)
	at android.app.INotificationManager$Stub$Proxy.getActiveNotificationsFromListener(INotificationManager.java:4365)
	at android.service.notification.NotificationListenerService.getActiveNotifications(NotificationListenerService.java:1067)
	at android.service.notification.NotificationListenerService.getActiveNotifications(NotificationListenerService.java:991)
	at com.android.launcher3.notification.NotificationListener.handleWorkerMessage(NotificationListener.java:8)
	at com.android.launcher3.notification.NotificationListener.g(Unknown Source:0)
	at com.android.launcher3.notification.d.handleMessage(Unknown Source:2)
	at android.os.Handler.dispatchMessage(Handler.java:102)
	at android.os.Looper.loopOnce(Looper.java:205)
	at android.os.Looper.loop(Looper.java:294)
	at android.os.HandlerThread.run(HandlerThread.java:67)
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
	at android.os.BinderProxy.transactNative(Native Method)
	at android.os.BinderProxy.transact(BinderProxy.java:584)
	at android.content.pm.BaseParceledListSlice.<init>(BaseParceledListSlice.java:95)
	... 15 more

emacsomancer avatar Oct 25 '23 14:10 emacsomancer

I can +1 to this. I'm getting the exact same since a week back or so. Maybe more. Have hoped an update would fix it but no. I'm on the latest version of Graphene OS as of this date.

Here's the crashlog from just a few seconds ago.

type: crash
osVersion: google/cheetah/cheetah:14/UP1A.231005.007/2023102300:user/release-keys
package: com.android.launcher3:34
process: com.android.launcher3
processUptime: 279 + 371 ms

android.os.BadParcelableException: Failure retrieving array; only received 1 of 6
	at android.content.pm.BaseParceledListSlice.<init>(BaseParceledListSlice.java:104)
	at android.content.pm.ParceledListSlice.<init>(ParceledListSlice.java:42)
	at android.content.pm.ParceledListSlice.<init>(Unknown Source:0)
	at android.content.pm.ParceledListSlice$1.createFromParcel(ParceledListSlice.java:80)
	at android.content.pm.ParceledListSlice$1.createFromParcel(ParceledListSlice.java:78)
	at android.os.Parcel.readTypedObject(Parcel.java:4045)
	at android.app.INotificationManager$Stub$Proxy.getActiveNotificationsFromListener(INotificationManager.java:4365)
	at android.service.notification.NotificationListenerService.getActiveNotifications(NotificationListenerService.java:1067)
	at android.service.notification.NotificationListenerService.getActiveNotifications(NotificationListenerService.java:1044)
	at com.android.launcher3.notification.NotificationListener.getActiveNotificationsSafely(NotificationListener.java:216)
	at com.android.launcher3.notification.NotificationListener.handleWorkerMessage(NotificationListener.java:158)
	at com.android.launcher3.notification.NotificationListener.$r8$lambda$4-fmy5r6l5LEHTsF6n64stfMwOg(Unknown Source:0)
	at com.android.launcher3.notification.NotificationListener$$ExternalSyntheticLambda3.handleMessage(Unknown Source:2)
	at android.os.Handler.dispatchMessage(Handler.java:102)
	at android.os.Looper.loopOnce(Looper.java:205)
	at android.os.Looper.loop(Looper.java:294)
	at android.os.HandlerThread.run(HandlerThread.java:67)
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
	at android.os.BinderProxy.transactNative(Native Method)
	at android.os.BinderProxy.transact(BinderProxy.java:584)
	at android.content.pm.BaseParceledListSlice.<init>(BaseParceledListSlice.java:95)
	... 16 more

ghost avatar Oct 27 '23 11:10 ghost

I've been able to 'improve' things, by turning off all app notifications (in System>Notifications>App Notifications) and trying to re-enable things one by one. I think "Breezy Weather" is one that causes crashes, but I'm not sure.

Live wallpapers also seem to trigger crashes.

emacsomancer avatar Oct 28 '23 17:10 emacsomancer

Another crash report...

type: crash
osVersion: google/cheetah/cheetah:14/UP1A.231105.003/2023110700:user/release-keys
package: com.android.launcher3:34
process: com.android.launcher3
processUptime: 957 + 1421 ms

android.os.BadParcelableException: Failure retrieving array; only received 4 of 9
	at android.content.pm.BaseParceledListSlice.<init>(BaseParceledListSlice.java:104)
	at android.content.pm.ParceledListSlice.<init>(ParceledListSlice.java:42)
	at android.content.pm.ParceledListSlice.<init>(Unknown Source:0)
	at android.content.pm.ParceledListSlice$1.createFromParcel(ParceledListSlice.java:80)
	at android.content.pm.ParceledListSlice$1.createFromParcel(ParceledListSlice.java:78)
	at android.os.Parcel.readTypedObject(Parcel.java:4045)
	at android.app.INotificationManager$Stub$Proxy.getActiveNotificationsFromListener(INotificationManager.java:4365)
	at android.service.notification.NotificationListenerService.getActiveNotifications(NotificationListenerService.java:1067)
	at android.service.notification.NotificationListenerService.getActiveNotifications(NotificationListenerService.java:1044)
	at com.android.launcher3.notification.NotificationListener.getActiveNotificationsSafely(NotificationListener.java:216)
	at com.android.launcher3.notification.NotificationListener.handleWorkerMessage(NotificationListener.java:158)
	at com.android.launcher3.notification.NotificationListener.$r8$lambda$4-fmy5r6l5LEHTsF6n64stfMwOg(Unknown Source:0)
	at com.android.launcher3.notification.NotificationListener$$ExternalSyntheticLambda3.handleMessage(Unknown Source:2)
	at android.os.Handler.dispatchMessage(Handler.java:102)
	at android.os.Looper.loopOnce(Looper.java:205)
	at android.os.Looper.loop(Looper.java:294)
	at android.os.HandlerThread.run(HandlerThread.java:67)
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
	at android.os.BinderProxy.transactNative(Native Method)
	at android.os.BinderProxy.transact(BinderProxy.java:584)
	at android.content.pm.BaseParceledListSlice.<init>(BaseParceledListSlice.java:95)
	... 16 more

ghost avatar Nov 11 '23 19:11 ghost

Settings -> Notifications -> Device & app notifications -> try turning off the notification read permission for the launcher. You could also try turning off the notification dot feature without turning off the permission to further narrow it down.

thestinger avatar Nov 11 '23 22:11 thestinger

I experience a lot of these too but I cannot find the mentioned read permission, I can only turn of the entire block or single options outlined below. The errors are pretty much like the ones above, same sort of screen flicker etc. Version is the latest stable build.

Settings -> Notifications -> Device & app notifications provides these options for launcher:

  • Real-time
  • Conversations
  • Notifications
  • Silent

Does removing any of these have side effects?

miles992 avatar Dec 20 '23 23:12 miles992

Not there, in Settings -> Apps -> Special app access -> Device & app notifications

thestinger avatar Dec 20 '23 23:12 thestinger

One thing which seems to cause this[1] is the notifications from Data Monitor. This was not always the case, as I used it for some time preceding the issues described above.

(In case others are having trouble tracking down which app notifications seem to trigger this.)

[1] Not the "BadParcelableException" error, but the UI crash.

emacsomancer avatar Dec 31 '23 06:12 emacsomancer

I also have this issue now. Started in December, i don't know that I've installed any new app. perhaps something to do with a December OS update, but ofc. others had it much earlier so who knows?

Two crash logs bellow

type: crash
osVersion: google/bluejay/bluejay:14/UQ1A.231205.015/2023121200:user/release-keys
package: com.android.launcher3:34
process: com.android.launcher3
processUptime: 1322 + 289 ms

android.os.BadParcelableException: Failure retrieving array; only received 2 of 19
	at android.content.pm.BaseParceledListSlice.<init>(BaseParceledListSlice.java:104)
	at android.content.pm.ParceledListSlice.<init>(ParceledListSlice.java:42)
	at android.content.pm.ParceledListSlice.<init>(Unknown Source:0)
	at android.content.pm.ParceledListSlice$1.createFromParcel(ParceledListSlice.java:80)
	at android.content.pm.ParceledListSlice$1.createFromParcel(ParceledListSlice.java:78)
	at android.os.Parcel.readTypedObject(Parcel.java:4045)
	at android.app.INotificationManager$Stub$Proxy.getActiveNotificationsFromListener(INotificationManager.java:4365)
	at android.service.notification.NotificationListenerService.getActiveNotifications(NotificationListenerService.java:1057)
	at android.service.notification.NotificationListenerService.getActiveNotifications(NotificationListenerService.java:1034)
	at com.android.launcher3.notification.NotificationListener.getActiveNotificationsSafely(NotificationListener.java:216)
	at com.android.launcher3.notification.NotificationListener.handleWorkerMessage(NotificationListener.java:158)
	at com.android.launcher3.notification.NotificationListener.$r8$lambda$4-fmy5r6l5LEHTsF6n64stfMwOg(Unknown Source:0)
	at com.android.launcher3.notification.NotificationListener$$ExternalSyntheticLambda3.handleMessage(Unknown Source:2)
	at android.os.Handler.dispatchMessage(Handler.java:102)
	at android.os.Looper.loopOnce(Looper.java:205)
	at android.os.Looper.loop(Looper.java:294)
	at android.os.HandlerThread.run(HandlerThread.java:67)
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
	at android.os.BinderProxy.transactNative(Native Method)
	at android.os.BinderProxy.transact(BinderProxy.java:584)
	at android.content.pm.BaseParceledListSlice.<init>(BaseParceledListSlice.java:95)
	... 16 more




type: crash osVersion: google/bluejay/bluejay:14/UQ1A.240105.002/2024010400:user/release-keys package: com.android.launcher3:34 process: com.android.launcher3 processUptime: 9764 + 363 ms

android.os.BadParcelableException: Failure retrieving array; only received 2 of 44 at android.content.pm.BaseParceledListSlice.(BaseParceledListSlice.java:104) at android.content.pm.ParceledListSlice.(ParceledListSlice.java:42) at android.content.pm.ParceledListSlice.(Unknown Source:0) at android.content.pm.ParceledListSlice$1.createFromParcel(ParceledListSlice.java:80) at android.content.pm.ParceledListSlice$1.createFromParcel(ParceledListSlice.java:78) at android.os.Parcel.readTypedObject(Parcel.java:4045) at android.app.INotificationManager$Stub$Proxy.getActiveNotificationsFromListener(INotificationManager.java:4365) at android.service.notification.NotificationListenerService.getActiveNotifications(NotificationListenerService.java:1057) at android.service.notification.NotificationListenerService.getActiveNotifications(NotificationListenerService.java:1034) at com.android.launcher3.notification.NotificationListener.getActiveNotificationsSafely(NotificationListener.java:216) at com.android.launcher3.notification.NotificationListener.handleWorkerMessage(NotificationListener.java:158) at com.android.launcher3.notification.NotificationListener.$r8$lambda$4-fmy5r6l5LEHTsF6n64stfMwOg(Unknown Source:0) at com.android.launcher3.notification.NotificationListener$$ExternalSyntheticLambda3.handleMessage(Unknown Source:2) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loopOnce(Looper.java:205) at android.os.Looper.loop(Looper.java:294) at android.os.HandlerThread.run(HandlerThread.java:67) 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 at android.os.BinderProxy.transactNative(Native Method) at android.os.BinderProxy.transact(BinderProxy.java:584) at android.content.pm.BaseParceledListSlice.(BaseParceledListSlice.java:95) ... 16 more

shift18 avatar Jan 13 '24 10:01 shift18

I've been able to 'improve' things, by turning off all app notifications (in System>Notifications>App Notifications) and trying to re-enable things one by one. I think "Breezy Weather" is one that causes crashes, but I'm not sure.

Live wallpapers also seem to trigger crashes.

I can confirm the Live Wallpaper issue. For me the native launcher kept crashing after an update reboot - until I uninstalled Dark Mode Live Wallpaper, which had been installed from F-Droid. After uninstalling the wallpaper app the launcher worked normally again. I didn't mess with notification dots and I assume it wouldn't have had an effect in this case as there are no notifications from Dark Mode Live Wallpaper. Reinstalling the wallpaper app again didn't re-produce the behavior - in this specific case it seems only update reboot / app optimization triggered it. Rebooting the phone now doesn't cause the issue to appear again either.

type: logcat
osVersion: google/panther/panther:14/UQ1A.240205.002/2024020500:user/release-keys
buffers: main,system,crash,events
level: verbose
filterRegex: crash

--------- beginning of system
1708608925.737  1000  1459  8784 W ActivityManager: Scheduling restart of crashed service com.menny.android.anysoftkeyboard/.SoftKeyboard in 1000ms for connection
1708608925.855  1000  1459  3976 W ActivityManager: Scheduling restart of crashed service com.x8bit.bitwarden/.Accessibility.AccessibilityService in 10882ms for connection
1708608925.886  1000  1459  3472 W ActivityManager: Scheduling restart of crashed service com.github.cvzi.darkmodewallpaper/.DarkWallpaperService in 20851ms for connection
1708609012.784  1000  1459  3484 W ActivityManager: Scheduling restart of crashed service com.android.vending/com.android.internal.gmscompat.client.GmsCompatClientService in 1000ms for connection
1708609012.784  1000  1459  3484 W ActivityManager: Scheduling restart of crashed service com.android.vending/com.google.android.finsky.verifier.impl.api.safetynet.PackageVerificationApiService in 11000ms for connection```

hubdot avatar Feb 22 '24 14:02 hubdot

I've been able to 'improve' things, by turning off all app notifications (in System>Notifications>App Notifications) and trying to re-enable things one by one. I think "Breezy Weather" is one that causes crashes, but I'm not sure. Live wallpapers also seem to trigger crashes.

I can confirm the Live Wallpaper issue. For me the native launcher kept crashing after an update reboot - until I uninstalled Dark Mode Live Wallpaper, which had been installed from F-Droid. After uninstalling the wallpaper app the launcher worked normally again. I didn't mess with notification dots and I assume it wouldn't have had an effect in this case as there are no notifications from Dark Mode Live Wallpaper. Reinstalling the wallpaper app again didn't re-produce the behavior - in this specific case it seems only update reboot / app optimization triggered it. Rebooting the phone now doesn't cause the issue to appear again either.

type: logcat
osVersion: google/panther/panther:14/UQ1A.240205.002/2024020500:user/release-keys
buffers: main,system,crash,events
level: verbose
filterRegex: crash

--------- beginning of system
1708608925.737  1000  1459  8784 W ActivityManager: Scheduling restart of crashed service com.menny.android.anysoftkeyboard/.SoftKeyboard in 1000ms for connection
1708608925.855  1000  1459  3976 W ActivityManager: Scheduling restart of crashed service com.x8bit.bitwarden/.Accessibility.AccessibilityService in 10882ms for connection
1708608925.886  1000  1459  3472 W ActivityManager: Scheduling restart of crashed service com.github.cvzi.darkmodewallpaper/.DarkWallpaperService in 20851ms for connection
1708609012.784  1000  1459  3484 W ActivityManager: Scheduling restart of crashed service com.android.vending/com.android.internal.gmscompat.client.GmsCompatClientService in 1000ms for connection
1708609012.784  1000  1459  3484 W ActivityManager: Scheduling restart of crashed service com.android.vending/com.google.android.finsky.verifier.impl.api.safetynet.PackageVerificationApiService in 11000ms for connection```

Ok thanks, that's good to know. I've not had this issue for awhile now but if it comes back this is indeed useful information.

It think the 2014011600 update reduced the frequency of crashes for me. https://grapheneos.org/releases#2024011600

shift18 avatar Feb 22 '24 15:02 shift18

This happens to me up to 5x times a day. I'm not sure exactly what is causing it because it happens on multiple different apps / while just on the home screen. I don't have a custom launcher installed.

AlexanderHott avatar Mar 28 '24 00:03 AlexanderHott

@AlexanderHott Try with launcher notification access revoked.

thestinger avatar Mar 28 '24 00:03 thestinger

@AlexanderHott Try with launcher notification access revoked.

Just turned it off, I'll post an update if things crash again.

AlexanderHott avatar Mar 28 '24 00:03 AlexanderHott