[Bug]: Report Crash When After Exiting Neovim
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:
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 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.