wordpress-mobile/gutenberg-mobile

RuntimeException: android.os.TransactionTooLargeException: data parcel size 836080 bytes

Opened this issue · 5 comments

Sentry Issue: JETPACK-ANDROID-JN9

TransactionTooLargeException: data parcel size 836080 bytes
    at android.os.BinderProxy.transactNative(BinderProxy.java)
    at android.os.BinderProxy.transact(BinderProxy.java:538)
    at android.view.autofill.IAutoFillManager$Stub$Proxy.startSession(IAutoFillManager.java:652)
    at android.view.autofill.AutofillManager.startSessionLocked(AutofillManager.java:1750)
    at android.view.autofill.AutofillManager.notifyViewEnteredLocked(AutofillManager.java:977)
...
(23 additional frame(s) were not displayed)

RuntimeException: android.os.TransactionTooLargeException: data parcel size 836080 bytes
    at android.view.autofill.AutofillManager.startSessionLocked(AutofillManager.java:1765)
    at android.view.autofill.AutofillManager.notifyViewEnteredLocked(AutofillManager.java:977)
    at android.view.autofill.AutofillManager.notifyViewEntered(AutofillManager.java:942)
    at android.view.autofill.AutofillManager.notifyViewEntered(AutofillManager.java:899)
    at android.view.View.notifyEnterOrExitForAutoFillIfNeeded(View.java:7986)
...
(20 additional frame(s) were not displayed)

Thanks for reporting! 👍

Sentry Issue: JETPACK-ANDROID-CRJ

This is a similar issue but seems to have happened on Aztec.

Based on the logs, the user was inside the EditPostActivity, which contains an EditText field that could have A LOT of content (post) and based on the stack trace, something went wrong inside an AutofillManager method. With those 2 pieces of information I was able to find this StackOverflow answer which says:

If I understand correctly, this calls the autofill service-- passing the AutofillManagerClient within the binder. And when the EditText has a lot of content, it seems to cause the TTLE.

That makes sense, so we should try to avoid this field triggering the AutofillManager by doing something suggested in the same SO answer:

A few things may mitigate it (or did as I was testing anyway): Add android:importantForAutofill="noExcludeDescendants" in the EditText's xml layout declaration. Or in code.

All Editor related in Gutenberg Mobile. Transferring this to gutenberg-mobile.