--- id: "bug-1904" status: "fixed" status_updated: "2026-10-01" status_note: "" component: "scheduler" severity: "crash" timestamp: "2026-10-01T14:32:17Z" last_seen: "2026-10-01T14:32:17Z" occurrences: 1 files: ["src/scheduler/src/core_events.c", "src/scheduler/src/schedobj.c"] tags: ["resreq", "job-update", "asan", "bug-1773-regression"] related: ["bug-1773"] fix_commits: ["6e631caa"] --- # bug-1904: scheduler crashes on a JOB_UPDATE whose resreq is empty: apply_job_task_count writes through NULL ## Description **Observed:** ``` ==1580007==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x5c8c80c00867 ...) ==1580007==The signal is caused by a WRITE memory access. #0 apply_job_task_count ../lib/resreq.c:589 #1 xce_core_push_events ../scheduler/src/core_events.c:1388 #2 xce_sched_driver_translate_pending_events ../scheduler/src/driver.c:850 #3 xce_sched_driver_run_normal_mode_round ../scheduler/src/driver.c:1021 ``` The scheduler process died (stderr was /dev/null under start-all.sh, so it vanished silently) right after the controller pushed `schedUpdateJob` for a REST-submitted job with no `-R`; every later job stayed PEND. Restarting the scheduler crashed again on the same replayed update. **Expected:** an update with an empty resource request is treated as ingest treats it (`"type == any"`) and the scheduler keeps running. **Impact:** any job submitted without a resource request (every REST submit without `-R`) kills the scheduler on its first JOB_UPDATE, and keeps killing it on restart; scheduling stops cluster-wide. **Found by:** spec task (job-array-one-based-index task 10.2 live REST flow) ## Environment - OS: no /etc/os-release; Docker container; NixOS kernel; kernel Linux 6.18.33 x86_64 - libc: glibc 2.42-47 (interpreter /nix/store/wb6rhpznjfczwlwx23zmdrrw74bayxw4-glibc-2.42-47/lib/ld-linux-x86-64.so.2) - Toolchain: gcc (GCC) 15.2.0, meson 1.9.1 - Build: asan (src/build.jai) - Code: scheduler-framework @ 6439e585-dirty - Deployment: 3-node HA (xce-deploy-ha) + scheduler + apiserver + one xcecd_virtual worker, single host ## Reproduction 1. Deploy with xce-deploy-ha and `start-all.sh`; `xcecli login -u admin -p admin --url http://localhost:8080`. 2. `xcecli jobs submit -J 'arr[1-3]'