--- id: "bug-1793" status: "fixed" status_updated: "2026-09-28" status_note: "" component: "controller" severity: "unknown" timestamp: "2026-09-09T16:24:19Z" last_seen: "2026-09-19T09:00:00Z" occurrences: 1 files: ["src/harness/join_worker_args.c"] tags: ["controller", "testsuite", "xce_test", "cmd_join_worker", "stale-default", "units", "deferred"] related: ["bug-1557"] fix_commits: ["da1a663f"] legacy: true gitea_issue: 308 gitea_synced_status: "fixed" gitea_synced_hash: "17b291cdcf6d" --- # bug-1793: xce_test's worker->join command's maxswap (1024) and maxtmp (2048) defaults have the same… ## Description xce_test's worker->join command's maxswap (1024) and maxtmp (2048) defaults have the same stale-MB-scale bug as bug-1557's maxmem -- discovered while fixing bug-1557 (xce-test-cli-ux task 2.6) ## Environment _Not recorded (migrated from buglog.json)._ ## Reproduction _Not recorded (migrated from buglog.json)._ ## Root cause Same root cause as bug-1557: maxswap/maxtmp were reasonable defaults (1KB/2KB) back when these fields were a smaller unit, but an earlier session converted maxswap/maxtmp to bytes-canonical (confirmed via resources.yaml 'max swap/tmp disk space in bytes' and hardware_monitor.c's raw-byte sysinfo()/statvfs() computations) without updating this test-tool default. 1024 bytes of swap / 2048 bytes of tmp are just as nonsensical as the old maxmem=64 bytes. ## Fix join's maxswap/maxtmp defaults are now 1 GiB / 2 GiB in bytes (the intended 1024/2048 MB), help text and example updated to bytes; -m/-s/-t are parsed with strtod() and validated, since atoi() overflowed above 2 GB. ## Verification - Test: test_join_worker_swap_tmp_defaults_are_bytes, test_join_worker_byte_values_above_int_range and test_join_worker_non_numeric_byte_value_rejected in src/harness/testsuite/test_join_worker_args.c: all three RED against the old join_worker_args.c (maxswap 1024; 8 GB parsed as 0; 'lots' accepted), GREEN after - Suites: harness 6/6 (asan): harness_unit_test 141/0, cmdutil 14/0, resval_typeresolve 7/0, joblist_display 22/0, join_worker_args 7/0, listrow_json 12/0 - Live: n/a; xce_test is a client tool and every case above runs without a controller ## References - Related: bug-1557