Skip to content

Job scheduling leads to Termux:API and Termux errors #762

@Terrance

Description

@Terrance

Problem description

After updating to Termux 0.118.2, Termux:API 0.51.0, scheduled jobs are no longer running. When scheduling a job via termux-job-scheduler, an error notification is shown (but the job is run at the time):

Termux:API Error
Error in ResultReturner

Tapping that notification results in a Termux crash. (I'm guessing it's supposed to do something similar to Termux's own crash report screen?)

Other API commands seem to work ok, just the job scheduler erroring consistently.

Steps to reproduce

$ termux-job-scheduler -s ~/.shortcuts/tasks/jobs/test.sh --period-ms 14400000 --persisted true --job-id 0

Expected behavior

Job to be scheduled and run (now and on the schedule).

Additional information

  • termux-api application version: 0.51.0
  • termux-api package version (installed through apt): 0.59.1
  • Android OS version: 13
  • Device model: OnePlus Nord CE
$ termux-info
Termux Variables:
TERMUX_API_VERSION=0.51.0
TERMUX_APK_RELEASE=F_DROID
TERMUX_APP_PACKAGE_MANAGER=apt
TERMUX_APP_PID=23920
TERMUX_APP__BUILD_DATA_DIR=/data/data/com.termux
TERMUX_APP__DATA_DIR=/data/user/0/com.termux
TERMUX_APP__LEGACY_DATA_DIR=/data/data/com.termux
TERMUX_APP__SE_FILE_CONTEXT=u:object_r:app_data_file:s0:c35,c257,c512,c768
TERMUX_APP__SE_INFO=default:targetSdkVersion=28:complete
TERMUX_IS_DEBUGGABLE_BUILD=0
TERMUX_MAIN_PACKAGE_FORMAT=debian
TERMUX_VERSION=0.118.2
TERMUX__HOME=/data/data/com.termux/files/home
TERMUX__PREFIX=/data/data/com.termux/files/usr
TERMUX__ROOTFS=/data/data/com.termux/files
TERMUX__SE_PROCESS_CONTEXT=u:r:untrusted_app_27:s0:c35,c257,c512,c768
TERMUX__USER_ID=0
Packages CPU architecture:
aarch64
Subscribed repositories:
# sources.list
deb https://termux.cdn.lumito.net/termux-main stable main
Updatable packages:
All packages up to date
termux-tools version:
1.45.0
Android version:
13
Kernel build information:
Linux localhost 4.19.157-perf+ #1 SMP PREEMPT Fri Feb 21 16:57:51 CST 2025 aarch64 Android
Device manufacturer:
OnePlus
Device model:
EB2103
Supported ABIs:
SUPPORTED_ABIS: arm64-v8a,armeabi-v7a,armeabi
SUPPORTED_32_BIT_ABIS: armeabi-v7a,armeabi
SUPPORTED_64_BIT_ABIS: arm64-v8a
LD Variables:
LD_LIBRARY_PATH=
LD_PRELOAD=/data/data/com.termux/files/usr/lib/libtermux-exec-ld-preload.so
Installed termux plugins:
com.termux.widget versionCode:1000
com.termux.api versionCode:1000
com.termux.styling versionCode:1000
Logcat snippet
04-12 08:54:19.367 22154 22154 I TermuxAPI.JobSchedulerAPI: Scheduling Job 0: /data/data/com.termux/files/home/.shortcuts/tasks/jobs/test.sh   (periodic: 14400000ms) (persisted) (battery not low) (network: NetworkRequest [ NONE id=0, [ Capabilities: INTERNET&TRUSTED&VALIDATED&NOT_VCN_MANAGED Uid: 10291 UnderlyingNetworks: Null] ]) - response 1
04-12 08:54:19.375 22154 22154 I TermuxAPI.JobSchedulerService: onStartJob: android.app.job.JobParameters@376c1c7
04-12 08:54:19.381 22154 15330 E TermuxAPI.ResultReturner: Error in ResultReturner:
04-12 08:54:19.381 22154 15330 E TermuxAPI.ResultReturner: java.io.IOException: Connection refused
04-12 08:54:19.381 22154 15330 E TermuxAPI.ResultReturner:      at android.net.LocalSocketImpl.connectLocal(Native Method)
04-12 08:54:19.381 22154 15330 E TermuxAPI.ResultReturner:      at android.net.LocalSocketImpl.connect(LocalSocketImpl.java:259)
04-12 08:54:19.381 22154 15330 E TermuxAPI.ResultReturner:      at android.net.LocalSocket.connect(LocalSocket.java:162)
04-12 08:54:19.381 22154 15330 E TermuxAPI.ResultReturner:      at v0.b.d(SourceFile:60)
04-12 08:54:19.381 22154 15330 E TermuxAPI.ResultReturner:      at v0.b.a(SourceFile:1)
04-12 08:54:19.381 22154 15330 E TermuxAPI.ResultReturner:      at v0.a.run(SourceFile:1)
04-12 08:54:19.381 22154 15330 E TermuxAPI.ResultReturner:      at java.lang.Thread.run(Thread.java:1012)
04-12 08:54:19.381 22154 22154 I TermuxAPI.JobSchedulerService: Job started for "/data/data/com.termux/files/home/.shortcuts/tasks/jobs/paseo.sh"
04-12 08:54:19.436  1732  1732 D NotificationService: This application enqueue notifications is need postDelayed mcsAssistantDelayTime: 200
04-12 08:54:19.515 22154 15330 E TermuxAPI.SettingsProviderUtils: Failed to get "device_config_sync_disabled" key value from settings "GLOBAL" namespace of type "INT"
04-12 08:54:19.524  1977 12123 E MMListServiceParser: open file /proc/30407/cmdline err 13
04-12 08:54:19.528  1732  4602 W Bundle  : Key android.text expected String but value was a android.text.SpannableString.  The default value <null> was returned.
04-12 08:54:19.529  1732  4602 W Bundle  : Attempt to cast generated internal exception:
04-12 08:54:19.529  1732  4602 W Bundle  : java.lang.ClassCastException: android.text.SpannableString cannot be cast to java.lang.String
04-12 08:54:19.529  1732  4602 W Bundle  :      at android.os.BaseBundle.getString(BaseBundle.java:1377)
04-12 08:54:19.529  1732  4602 W Bundle  :      at com.android.server.notification.NotificationManagerService.enqueueNotificationInternal(NotificationManagerService.java:6798)
04-12 08:54:19.529  1732  4602 W Bundle  :      at com.android.server.notification.NotificationManagerService$10.enqueueNotificationWithTag(NotificationManagerService.java:3656)
04-12 08:54:19.529  1732  4602 W Bundle  :      at android.app.INotificationManager$Stub.onTransact(INotificationManager.java:1286)
04-12 08:54:19.529  1732  4602 W Bundle  :      at android.os.Binder.execTransactInternal(Binder.java:1326)
04-12 08:54:19.529  1732  4602 W Bundle  :      at android.os.Binder.execTransact(Binder.java:1268)
04-12 08:54:19.542  1732  4602 E NotificationService: Package has already posted or enqueued 50 notifications.  Not showing more.  package=com.termux
04-12 08:54:19.569  1732  1732 D NotificationService: This application enqueue notifications is need postDelayed mcsAssistantDelayTime: 200
04-12 08:54:19.605  1732  4602 W PackageManager: getPackagesForUid: UID 10549 requires android.permission.INTERACT_ACROSS_USERS_FULL or android.permission.INTERACT_ACROSS_USERS or android.permission.INTERACT_ACROSS_PROFILES to access user 10.
04-12 08:54:19.663  4427  4427 D InterruptionStateProvider: No heads up: unimportant notification: 0|com.termux|1337|null|10291
04-12 08:54:19.664  4427  4427 D InterruptionStateProvider: No heads up: unimportant notification: 0|com.termux|1337|null|10291
04-12 08:54:19.680  4427  4596 D PeopleSpaceWidgetMgr: Sbn doesn't contain valid PeopleTileKey: null/0/com.termux
04-12 08:54:19.689  4427  4427 D InterruptionStateProvider: No heads up: unimportant notification: 0|com.termux|1337|null|10291
04-12 08:54:19.689  4427  4427 D InterruptionStateProvider: No heads up: unimportant notification: 0|com.termux|1337|null|10291
04-12 08:54:19.702  4427  4596 D PeopleSpaceWidgetMgr: Sbn doesn't contain valid PeopleTileKey: null/0/com.termux
04-12 08:54:19.716  4427  4596 D LocalImageResolver: Couldn't use ImageDecoder for drawable, falling back to non-resized load.
04-12 08:54:19.719  4427  4596 D LocalImageResolver: Couldn't use ImageDecoder for drawable, falling back to non-resized load.
04-12 08:54:19.773  1732  1732 D LockSettingsService: [getSeparateProfileChallengeEnabled] userId = 10
04-12 08:54:19.803  4427  4427 D InterruptionStateProvider: No heads up: unimportant notification: 0|com.termux|1337|null|10291
04-12 08:54:19.803  4427  4427 D InterruptionStateProvider: No heads up: unimportant notification: 0|com.termux|1337|null|10291
04-12 08:54:19.817  4427  4596 D PeopleSpaceWidgetMgr: Sbn doesn't contain valid PeopleTileKey: null/0/com.termux
04-12 08:54:19.835  4427  4596 D LocalImageResolver: Couldn't use ImageDecoder for drawable, falling back to non-resized load.
04-12 08:54:19.838  4427  4596 D LocalImageResolver: Couldn't use ImageDecoder for drawable, falling back to non-resized load.
Crash report (after trying to view the Termux:API error report)

Report Info

User Action: crash report
Sender: TermuxActivity
Report Timestamp: 2025-04-12 08:16:01.068 UTC

Crash Details

Crash Thread: Thread[main,5,main]
Crash Timestamp: 2025-04-12 08:15:18.274 UTC

Crash Message:

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

Stacktrace

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.termux/com.termux.shared.activities.ReportActivity}: android.os.BadParcelableException: Parcelable encountered ClassNotFoundException reading a Serializable object (name = I0.a)
	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3864)
	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4006)
	at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:111)
	at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
	at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2462)
	at android.os.Handler.dispatchMessage(Handler.java:106)
	at android.os.Looper.loopOnce(Looper.java:240)
	at android.os.Looper.loop(Looper.java:351)
	at android.app.ActivityThread.main(ActivityThread.java:8377)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:584)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1013)
Caused by: android.os.BadParcelableException: Parcelable encountered ClassNotFoundException reading a Serializable object (name = I0.a)
	at android.os.Parcel.readSerializableInternal(Parcel.java:5113)
	at android.os.Parcel.readValue(Parcel.java:4655)
	at android.os.Parcel.readValue(Parcel.java:4363)
	at android.os.Parcel.-$$Nest$mreadValue(Unknown Source:0)
	at android.os.Parcel$LazyValue.apply(Parcel.java:4461)
	at android.os.Parcel$LazyValue.apply(Parcel.java:4420)
	at android.os.BaseBundle.getValueAt(BaseBundle.java:394)
	at android.os.BaseBundle.getValue(BaseBundle.java:374)
	at android.os.BaseBundle.getValue(BaseBundle.java:357)
	at android.os.BaseBundle.getValue(BaseBundle.java:350)
	at android.os.BaseBundle.getSerializable(BaseBundle.java:1451)
	at android.os.Bundle.getSerializable(Bundle.java:1144)
	at com.termux.shared.activities.ReportActivity.updateUI(ReportActivity.java:136)
	at com.termux.shared.activities.ReportActivity.onCreate(ReportActivity.java:89)
	at android.app.Activity.performCreate(Activity.java:8397)
	at android.app.Activity.performCreate(Activity.java:8370)
	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1403)
	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3837)
	... 12 more
Caused by: java.lang.ClassNotFoundException: I0.a
	at java.lang.Class.classForName(Native Method)
	at java.lang.Class.forName(Class.java:536)
	at android.os.Parcel$2.resolveClass(Parcel.java:5090)
	at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1733)
	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:5096)
	... 29 more
Caused by: java.lang.ClassNotFoundException: I0.a
	... 38 more

Termux App Info

APP_NAME: Termux
PACKAGE_NAME: com.termux
VERSION_NAME: 0.118.2
VERSION_CODE: 1001
TARGET_SDK: 28
IS_DEBUGGABLE_BUILD: false
SE_PROCESS_CONTEXT: u:r:untrusted_app_27:s0:c35,c257,c512,c768
SE_FILE_CONTEXT: u:object_r:app_data_file:s0:c35,c257,c512,c768
SE_INFO: default:targetSdkVersion=28:complete
APK_RELEASE: F-Droid
SIGNING_CERTIFICATE_SHA256_DIGEST: 228FB2CFE90831C1499EC3CCAF61E96E8E1CE70766B9474672CE427334D41C42

Device Info

Software

OS_VERSION: 4.19.157-perf+
SDK_INT: 33
RELEASE: 13
ID: TP1A.220905.001
DISPLAY: EB2103_11_F.59
INCREMENTAL: R.1ca54a7-1-11c47
SECURITY_PATCH: 2025-03-01
IS_DEBUGGABLE: 0
IS_TREBLE_ENABLED: true
TYPE: user
TAGS: release-keys

Hardware

MANUFACTURER: OnePlus
BRAND: OnePlus
MODEL: EB2103
PRODUCT: OnePlusNordCE_EEA
BOARD: lito
HARDWARE: qcom
DEVICE: OnePlusNordCE
SUPPORTED_ABIS: arm64-v8a, armeabi-v7a, armeabi
SUPPORTED_32_BIT_ABIS: armeabi-v7a, armeabi
SUPPORTED_64_BIT_ABIS: arm64-v8a

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions