termux-app icon indicating copy to clipboard operation
termux-app copied to clipboard

[Bug]: Report Crash When After Exiting Neovim

Open tungnguyenlam opened this issue 4 months ago • 2 comments

Problem description

Report Info

User Action: crash report
Sender: TermuxActivity
Report Timestamp: 2025-08-16 12:06:49.019 UTC

Crash Details

Crash Thread: Thread[main,5,main]
Crash Timestamp: 2025-08-16 12:06:46.268 UTC

Crash Message:

The content of the adapter has changed but ListView did not receive a notification. Make sure the content of your adapter is not modified from a background thread, but only from the UI thread. Make sure your adapter calls notifyDataSetChanged() when its content changes. [in ListView(2131231117, class android.widget.ListView) with Adapter(class com.termux.app.terminal.TermuxSessionsListViewController)]

Stacktrace

java.lang.IllegalStateException: The content of the adapter has changed but ListView did not receive a notification. Make sure the content of your adapter is not modified from a background thread, but only from the UI thread. Make sure your adapter calls notifyDataSetChanged() when its content changes. [in ListView(2131231117, class android.widget.ListView) with Adapter(class com.termux.app.terminal.TermuxSessionsListViewController)]
	at android.widget.ListView.layoutChildren(ListView.java:1823)
	at android.widget.AbsListView.onTouchModeChanged(AbsListView.java:4465)
	at android.view.ViewTreeObserver.dispatchOnTouchModeChanged(ViewTreeObserver.java:1309)
	at android.view.ViewRootImpl.ensureTouchModeLocally(ViewRootImpl.java:8376)
	at android.view.ViewRootImpl.ensureTouchMode(ViewRootImpl.java:8348)
	at android.view.ViewRootImpl$EarlyPostImeInputStage.processPointerEvent(ViewRootImpl.java:9178)
	at android.view.ViewRootImpl$EarlyPostImeInputStage.processMotionEvent(ViewRootImpl.java:9154)
	at android.view.ViewRootImpl$EarlyPostImeInputStage.onProcess(ViewRootImpl.java:9120)
	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:8590)
	at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:12432)
	at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:12327)
	at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:12283)
	at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:12582)
	at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:385)
	at android.os.MessageQueue.nativePollOnce(Native Method)
	at android.os.MessageQueue.next(MessageQueue.java:346)
	at android.os.Looper.loopOnce(Looper.java:214)
	at android.os.Looper.loop(Looper.java:342)
	at android.app.ActivityThread.main(ActivityThread.java:9638)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:619)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:929)

Termux App Info

APP_NAME: Termux
PACKAGE_NAME: com.termux
VERSION_NAME: 0.119.0-beta.2
VERSION_CODE: 1021
UID: 10551
TARGET_SDK: 28
IS_DEBUGGABLE_BUILD: false
SE_PROCESS_CONTEXT: u:r:untrusted_app_27:s0:c39,c258,c512,c768
SE_FILE_CONTEXT: u:object_r:app_data_file:s0:c39,c258,c512,c768
SE_INFO: default:targetSdkVersion=28:complete
TERMUX_APP_PACKAGE_MANAGER: APT
TERMUX_APP_PACKAGE_VARIANT: APT_ANDROID_7
APK_RELEASE: F-Droid
SIGNING_CERTIFICATE_SHA256_DIGEST: 228FB2CFE90831C1499EC3CCAF61E96E8E1CE70766B9474672CE427334D41C42

Device Info

Software

OS_VERSION: 5.15.153-android13-3-31153516
SDK_INT: 35
RELEASE: 15
ID: AP3A.240905.015.A2
DISPLAY: AP3A.240905.015.A2.X510XXS8CYG1
INCREMENTAL: X510XXS8CYG1
SECURITY_PATCH: 2025-07-01
IS_DEBUGGABLE: 0
IS_TREBLE_ENABLED: true
TYPE: user
TAGS: release-keys
MAX_PHANTOM_PROCESSES: - (Requires DUMP and PACKAGE_USAGE_STATS permission)
MONITOR_PHANTOM_PROCS: true
DEVICE_CONFIG_SYNC_DISABLED: -

Hardware

MANUFACTURER: samsung
BRAND: samsung
MODEL: SM-X510
PRODUCT: gts9fewifixx
BOARD: s5e8835
HARDWARE: s5e8835
DEVICE: gts9fewifi
SUPPORTED_ABIS: arm64-v8a, armeabi-v7a, armeabi
SUPPORTED_32_BIT_ABIS: armeabi-v7a, armeabi
SUPPORTED_64_BIT_ABIS: arm64-v8a
PAGE_SIZE: 4096

Steps to reproduce the behavior.

Open Neovim Create a new process Kill the Neovim process

What is the expected behavior?

The program hang for a while and close

System information

  • Termux application version:
  • Android OS version:
  • Device model:

tungnguyenlam avatar Aug 16 '25 12:08 tungnguyenlam

Same issue with V119beta2, but the phone sat idle and Termux crashed. It is a 119b2 issue ? Can I revert safely to v118.3 ?

Crash Details

Crash Thread: Thread[main,5,main]
Crash Timestamp: 2025-08-20 20:03:06.393 UTC

Crash Message:

Unable to start activity ComponentInfo{com.termux/com.termux.shared.activities.ReportActivity}: android.os.BadParcelableException: Parcelable encountered IOException reading a Serializable object (name = com.termux.shared.models.ReportInfo)

Stacktrace

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.termux/com.termux.shared.activities.ReportActivity}: android.os.BadParcelableException: Parcelable encountered IOException reading a Serializable object (name = com.termux.shared.models.ReportInfo)
	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3873)
	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4013)
	at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103)
	at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:139)
	at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:96)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2514)
	at android.os.Handler.dispatchMessage(Handler.java:106)
	at android.os.Looper.loopOnce(Looper.java:232)
	at android.os.Looper.loop(Looper.java:334)
	at android.app.ActivityThread.main(ActivityThread.java:8293)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:578)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1053)
Caused by: android.os.BadParcelableException: Parcelable encountered IOException reading a Serializable object (name = com.termux.shared.models.ReportInfo)
	at android.os.Parcel.readSerializableInternal(Parcel.java:5174)
	at android.os.Parcel.readValue(Parcel.java:4693)
	at android.os.Parcel.readValue(Parcel.java:4390)
	at android.os.Parcel.-$$Nest$mreadValue(Unknown Source:0)
	at android.os.Parcel$LazyValue.apply(Parcel.java:4488)
	at android.os.Parcel$LazyValue.apply(Parcel.java:4447)
	at android.os.BaseBundle.unwrapLazyValueFromMapLocked(BaseBundle.java:415)
	at android.os.BaseBundle.getValueAt(BaseBundle.java:401)
	at android.os.BaseBundle.getValue(BaseBundle.java:381)
	at android.os.BaseBundle.getValue(BaseBundle.java:364)
	at android.os.BaseBundle.getValue(BaseBundle.java:357)
	at android.os.BaseBundle.getSerializable(BaseBundle.java:1492)
	at android.os.Bundle.getSerializable(Bundle.java:1171)
	at com.termux.shared.activities.ReportActivity.updateUI(ReportActivity.java:140)
	at com.termux.shared.activities.ReportActivity.onCreate(ReportActivity.java:93)
	at android.app.Activity.performCreate(Activity.java:8595)
	at android.app.Activity.performCreate(Activity.java:8573)
	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1475)
	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3855)
	... 12 more
Caused by: java.io.InvalidClassException: com.termux.shared.models.ReportInfo; local class incompatible: stream classdesc serialVersionUID = 1, local class serialVersionUID = -2445745552193363259
	at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:652)
	at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1743)
	at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1624)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1902)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1442)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:430)
	at android.os.Parcel.readSerializableInternal(Parcel.java:5161)
	... 30 more

Termux App Info

APP_NAME: Termux
PACKAGE_NAME: com.termux
VERSION_NAME: 0.119.0-beta.2
VERSION_CODE: 1021
UID: 10229
TARGET_SDK: 28
IS_DEBUGGABLE_BUILD: false
SE_PROCESS_CONTEXT: u:r:untrusted_app_27:s0:c229,c256,c512,c768
SE_FILE_CONTEXT: u:object_r:app_data_file:s0:c229,c256,c512,c768
SE_INFO: default:targetSdkVersion=28:complete
TERMUX_APP_PACKAGE_MANAGER: APT
TERMUX_APP_PACKAGE_VARIANT: APT_ANDROID_7
APK_RELEASE: F-Droid
SIGNING_CERTIFICATE_SHA256_DIGEST: 228FB2CFE90831C1499EC3CCAF61E96E8E1CE70766B9474672CE427334D41C42

Device Info

Software

OS_VERSION: 5.15.104-android13-8-00001-gac1072c849eb-ab10753874
SDK_INT: 34
RELEASE: 14
ID: UP1A.231005.007
DISPLAY: U2.5-240322-1016
INCREMENTAL: 2403221016
SECURITY_PATCH: 2024-02-01
IS_DEBUGGABLE: 0
IS_TREBLE_ENABLED: true
TYPE: user
TAGS: release-keys
MAX_PHANTOM_PROCESSES: - (Requires DUMP and PACKAGE_USAGE_STATS permission)
MONITOR_PHANTOM_PROCS: false
DEVICE_CONFIG_SYNC_DISABLED: -

Hardware

MANUFACTURER: Nothing
BRAND: Nothing
MODEL: A142
PRODUCT: PacmanEEA
BOARD: Pacman
HARDWARE: mt6886
DEVICE: Pacman
SUPPORTED_ABIS: arm64-v8a, armeabi-v7a, armeabi
SUPPORTED_32_BIT_ABIS: armeabi-v7a, armeabi
SUPPORTED_64_BIT_ABIS: arm64-v8a

freebrowser1 avatar Aug 22 '25 06:08 freebrowser1

@freebrowser1 Install beta 3 for the fix, you can't rollback to older version for F-Droid releases. You obviously have a different issue from OP.

agnostic-apollo avatar Aug 22 '25 06:08 agnostic-apollo