Skip to content

qml: sharing large psbt raises android TransactionTooLargeException #10751

Description

@f321x

Description

When clicking on the share button of a large (>1mb) psbt in QML, Android will raise a android.os.TransactionTooLargeException as the size limit for data shared through an Activity seems to be ~1mb.
We could for example allow exporting the psbt by saving it as file instead of sharing it.

Traceback (most recent call last):
  File "app/electrum/gui/qml/qeapp.py", line 272, in doShare
  File "jnius/jnius_export_class.pxi", line 1187, in jnius.JavaMultipleMethod.__call__
  File "jnius/jnius_export_class.pxi", line 897, in jnius.JavaMethod.__call__
  File "jnius/jnius_export_class.pxi", line 991, in jnius.JavaMethod.call_method
  File "jnius/jnius_utils.pxi", line 79, in jnius.check_exception
jnius.JavaException: JVM exception occurred: java.lang.RuntimeException: Failure from system
java.lang.RuntimeException: Failure from system
	android.app.Instrumentation.execStartActivity(Instrumentation.java:2002)
	android.app.Activity.startActivityForResult(Activity.java:6133)
	android.app.Activity.startActivityForResult(Activity.java:6090)
	android.app.Activity.startActivity(Activity.java:6597)
	android.app.Activity.startActivity(Activity.java:6564)
	org.qtproject.qt.android.QtNative.startQtApplication(Native Method)
	org.qtproject.qt.android.QtNative$$ExternalSyntheticLambda5.run(D8$$SyntheticClass:0)
	org.qtproject.qt.android.QtThread$1.run(QtThread.java:25)
	java.lang.Thread.run(Thread.java:1572)
	Caused by:
	android.os.TransactionTooLargeException: data parcel size 1422480 bytes
	android.os.BinderProxy.transactNative(Native Method)
	android.os.BinderProxy.transact(BinderProxy.java:595)
	android.app.IActivityTaskManager$Stub$Proxy.startActivity(IActivityTaskManager.java:2329)
	android.app.Instrumentation.execStartActivity(Instrumentation.java:1995)
	android.app.Activity.startActivityForResult(Activity.java:6133)
	android.app.Activity.startActivityForResult(Activity.java:6090)
	android.app.Activity.startActivity(Activity.java:6597)
	android.app.Activity.startActivity(Activity.java:6564)
	org.qtproject.qt.android.QtNative.startQtApplication(Native Method)
	org.qtproject.qt.android.QtNative$$ExternalSyntheticLambda5.run(D8$$SyntheticClass:0)
	org.qtproject.qt.android.QtThread$1.run(QtThread.java:25)
	java.lang.Thread.run(Thread.java:1572)

Related #4686 (comment)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions