nextcloud / nextcloud/notes-android

`TransactionTooLargeException: data parcel size [...] bytes` with large note on activity lost focus

Open
#564 11 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

bug Upstream :: Markdown
Dominant language
Java
Stars
1.1k
Forks
168
Avg merge
1d 17h
Merged PRs (30d)
31

Description

Hello, I use nextcloud-notes android client 0.24.3 on android 8.

  1. Create new note
  2. Put inside some large enough text
  3. Press "show desktop" or "show opened applications" system button, so the notes activity will lose focus while note editor is opened

result: application crash with exception:

java.lang.RuntimeException: android.os.TransactionTooLargeException: data parcel size 552920 bytes
	at android.app.ActivityThread$StopInfo.run(ActivityThread.java:4057)
	at android.os.Handler.handleCallback(Handler.java:793)
	at android.os.Handler.dispatchMessage(Handler.java:98)
	at android.os.Looper.loop(Looper.java:176)
	at android.app.ActivityThread.main(ActivityThread.java:6701)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:249)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:783)
Caused by: android.os.TransactionTooLargeException: data parcel size 552920 bytes
	at android.os.BinderProxy.transactNative(Native Method)
	at android.os.BinderProxy.transact(Binder.java:758)
	at android.app.IActivityManager$Stub$Proxy.activityStopped(IActivityManager.java:4736)
	at android.app.ActivityThread$StopInfo.run(ActivityThread.java:4049)
	... 7 more

The note itself stays safe, though.

Evedently, the problem happens when the app activity tries to save its state on activity stop event and exceeds data parcel to save size limit.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the issue with a large note, then trace the notes activity's state-saving path when it loses focus. Done means switching away from the editor no longer crashes with TransactionTooLargeException and the note remains safe.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, java
Domain
mobile
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.