libre-tube / LibreTube

An alternative frontend for YouTube, for Android.
https://libretube.dev
GNU General Public License v3.0
8.48k stars 442 forks source link

Exception TransactionTooLargeException #6259

Closed LoHub closed 1 week ago

LoHub commented 1 month ago

Steps to reproduce

I do not know how to reproduce the bug. I can simply say that it happened at least one time during a play of a video in audio mode.

Expected behavior

No error append.

Actual behavior

A TransactionTooLargeException exception is raise. I have two samples bellow:

java.lang.RuntimeException: android.os.TransactionTooLargeException: data parcel size 552236 bytes
Bundle stats:
  android:viewHierarchyState [size=2268]
    android:views [size=2004]
  androidx.lifecycle.BundlableSavedStateRegistry.key [size=549216]
    android:support:activity-result [size=3696]
      KEY_COMPONENT_ACTIVITY_REGISTERED_KEYS [size=3156]
    android:support:fragments [size=545144]
      fragment_2935e0f1-3753-4506-a6e3-961cdf0baf4a [size=3964]
        viewState [size=3204]
      fragment_53dd1eab-6408-4dfe-809c-90c6d260731c [size=540504]
        childFragmentManager [size=537536]
          state [size=1784]
          fragment_d5a9db50-d2d6-4040-9520-99d6be9a50a5 [size=3384]
            viewState [size=2632]
          fragment_a2535a8b-7103-4e98-8c45-a4553fdf747f [size=528520]
            viewState [size=2896]
            childFragmentManager [size=524680]
              fragment_3a58f5d8-adba-4955-a90b-61c2ca96a885 [size=524260]
                arguments [size=523084]
                  videoList [size=517816]
                  nextPage [size=4980]
          fragment_eb856748-5700-4631-b6a9-aeb77dac39ef [size=3528]
            viewState [size=2792]
        registryState [size=2432]
          androidx.lifecycle.BundlableSavedStateRegistry.key [size=2308]
            android-support-nav:fragment:navControllerState [size=1984]
              android-support-nav:controller:backStack [size=1880]
PersistableBundle stats:
  [null]
    at android.app.servertransaction.PendingTransactionActions$StopInfo.run(PendingTransactionActions.java:146)
    at android.os.Handler.handleCallback(Handler.java:959)
    at android.os.Handler.dispatchMessage(Handler.java:100)
    at android.os.Looper.loopOnce(Looper.java:232)
    at android.os.Looper.loop(Looper.java:317)
    at android.app.ActivityThread.main(ActivityThread.java:8623)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:580)
    at com.android.internal.os.ExecInit.main(ExecInit.java:50)
    at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
    at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:369)
Caused by: android.os.TransactionTooLargeException: data parcel size 552236 bytes
    at android.os.BinderProxy.transactNative(Native Method)
    at android.os.BinderProxy.transact(BinderProxy.java:586)
    at android.app.IActivityClientController$Stub$Proxy.activityStopped(IActivityClientController.java:1527)
    at android.app.ActivityClient.activityStopped(ActivityClient.java:101)
    at android.app.servertransaction.PendingTransactionActions$StopInfo.run(PendingTransactionActions.java:135)
    ... 10 more
java.lang.RuntimeException: android.os.TransactionTooLargeException: data parcel size 578660 bytes
Bundle stats:
  android:viewHierarchyState [size=2268]
    android:views [size=2004]
  androidx.lifecycle.BundlableSavedStateRegistry.key [size=575640]
    android:support:activity-result [size=5208]
      KEY_COMPONENT_ACTIVITY_REGISTERED_KEYS [size=4596]
    android:support:fragments [size=570056]
      fragment_5d591de5-9eef-404a-980a-79477ec03a55 [size=3964]
        viewState [size=3204]
      fragment_738362d7-d71c-43ff-82f2-5a12e4e29845 [size=565416]
        childFragmentManager [size=561668]
          fragment_7a9ebfdd-95f1-4091-986a-2667c66c5e36 [size=2808]
            viewState [size=1688]
          fragment_23b016f6-df18-47cc-ba2a-ff2768606ba1 [size=549040]
            viewState [size=3088]
            childFragmentManager [size=545008]
              fragment_1702120f-099d-4429-9246-afa307daf8f3 [size=42740]
                arguments [size=41564]
                  videoList [size=35776]
                  nextPage [size=4980]
              fragment_f507984d-62e9-431b-a058-19850ba4401d [size=458620]
                arguments [size=457444]
                  videoList [size=452176]
                  nextPage [size=4980]
              fragment_0f03cf14-752b-480c-a630-9ad388a682c8 [size=42716]
                arguments [size=41540]
                  videoList [size=35776]
                  nextPage [size=4980]
          fragment_d9be0b25-6811-41c4-9148-2cfe7d8f20d0 [size=3384]
            viewState [size=2632]
          state [size=2492]
          fragment_640f92da-f8cb-4427-b194-988efe3c56bb [size=3528]
            viewState [size=2792]
        registryState [size=3212]
          androidx.lifecycle.BundlableSavedStateRegistry.key [size=3088]
            android-support-nav:fragment:navControllerState [size=2764]
              android-support-nav:controller:backStack [size=2660]
PersistableBundle stats:
  [null]
    at android.app.servertransaction.PendingTransactionActions$StopInfo.run(PendingTransactionActions.java:146)
    at android.os.Handler.handleCallback(Handler.java:959)
    at android.os.Handler.dispatchMessage(Handler.java:100)
    at android.os.Looper.loopOnce(Looper.java:232)
    at android.os.Looper.loop(Looper.java:317)
    at android.app.ActivityThread.main(ActivityThread.java:8623)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:580)
    at com.android.internal.os.ExecInit.main(ExecInit.java:50)
    at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
    at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:369)
Caused by: android.os.TransactionTooLargeException: data parcel size 578660 bytes
    at android.os.BinderProxy.transactNative(Native Method)
    at android.os.BinderProxy.transact(BinderProxy.java:586)
    at android.app.IActivityClientController$Stub$Proxy.activityStopped(IActivityClientController.java:1527)
    at android.app.ActivityClient.activityStopped(ActivityClient.java:101)
    at android.app.servertransaction.PendingTransactionActions$StopInfo.run(PendingTransactionActions.java:135)
    ... 10 more

LibreTube version

0.24.0

Android version

Android 14

Other details

No response

Acknowledgements

Bnyro commented 1 month ago

I already got that error too once or twice, but I've no idea why this happens either.

Bnyro commented 1 week ago

Likely fixed by https://github.com/libre-tube/LibreTube/pull/6273