myxce/.wolf/bugs/bug-1907.md
Rongsong Shen 0f4effe7df
docs(job-array-one-based-index): feature validation round 1 follow-ups
bug-1903 partial (page-token precision fixed in efff6b65), bug-1907
logged (harness setpend/jobrun cannot report not-found), stale
parse_jobid regex comment in repl.c updated.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-01 15:50:10 +00:00

2.4 KiB

id status status_updated status_note component severity timestamp last_seen occurrences files tags related
bug-1907 open 2026-10-01 newly logged controller wrong-result 2026-10-01T15:49:05Z 2026-10-01T15:49:05Z 1
src/controller/src/job.c
src/harness/test.c
harness
job-control
not-found
job-array
bug-1896

bug-1907: harness setpend and jobrun cannot report not-found: the controller acks status 0 first

Description

Observed: Found by code reading, no failing run captured. Both controller handlers reply before looking the job up:

src/controller/job.c:2246 handle_jobdispatch: init_reply_by_req(); reply.status = 0; xce_reply(...)   /* then the work */
src/controller/job.c:3869 do_set_preason:     init_reply_by_req(); reply.status = 0; xce_reply(...)   /* then the work */

So harness jobrun -j <id> and setpend -j <id> succeed for a job (or array element) that does not exist.

Expected: like the other single-job commands, jobrun/setpend on an unknown job ID report "not found" (job-array-one-based-index Requirements 4.7 and 5.13). Impact: wrong result: a test script that targets a wrong element (e.g. $jobid[0] on a new array) passes silently instead of failing. Found by: review (job-array-one-based-index task 4.3 implementation notes and feature validation, 2026-10-01)

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 @ efff6b65-dirty
  • Deployment: any (controller request handling)

Reproduction

  1. Start a controller (xce-deploy-ha) and run xce_test against it.
  2. jobrun -j 0-0-1-5 (an ID that was never submitted) and setpend with -j 0-0-1-5: both report success (expected from the code; not run).
  3. Compare jobkill -j 0-0-1-5, which reports not found.
  • Frequency: deterministic (by code; not run live, 2026-10-01)
  • Evidence: not kept (code references above)

Root cause

TODO: required for fixed/partial

Fix

TODO: required for fixed/partial

Verification

  • Test: TODO: name + file; RED before the fix, GREEN after
  • Suites: TODO: suite results and build profile
  • Live: TODO: soak/deploy run, or n/a and why

References

  • Related: none