wordpress-mobile / gutenberg-mobile

Mobile version of Gutenberg - native iOS and Android
GNU General Public License v2.0
240 stars 55 forks source link

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

Open sentry-io[bot] opened 6 months ago

sentry-io[bot] commented 6 months ago

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)
dangermattic commented 6 months ago

Thanks for reporting! 👍

sentry-io[bot] commented 6 months ago

Sentry Issue: JETPACK-ANDROID-CRJ

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

thomashorta commented 6 months ago

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.

sentry-io[bot] commented 5 months ago

Sentry Issue: JETPACK-ANDROID-JXA

ravishanker commented 5 months ago

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