docs(buglog): bug-1926 sim REPL break jobid= filter ignores dashed jobids

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Rongsong Shen 2026-10-08 16:08:54 +00:00
parent 4d1a245fd9
commit aa401627a8
Signed by untrusted user: rshen
GPG key ID: 80533536B0EB651C
2 changed files with 87 additions and 0 deletions

View file

@ -17509,6 +17509,30 @@
"fcca4c9c"
],
"record": ".wolf/bugs/bug-1925.md"
},
{
"id": "bug-1926",
"status": "open",
"status_updated": "2026-10-08",
"status_note": "newly logged",
"component": "scheduler",
"severity": "wrong-result",
"timestamp": "2026-10-08T16:08:34Z",
"last_seen": "2026-10-08T16:08:34Z",
"occurrences": 1,
"error_message": "xce_scheduler --sim REPL break jobid= filter ignores the dashed jobid form the REPL prints\n\n**Observed:** a `break DECISION jobid=<id>` (or `break <EVENT> jobid=<id>`) breakpoint set with the dashed jobid form the REPL itself prints never fires. With the 1.1 contention fixture:\n```\n[sim] breakpoint 1 set: DECISION jobid=0-0-0-104\n-- (continue runs to the end; no hit)\n[sim] breakpoint 1 set: DECISION jobid=104\n[sim] hit breakpoint 1 @ decision: PEND jobid=0-0-0-104\n```\nThe hit line prints `jobid=0-0-0-104`, yet only the raw decimal packed id (`jobid=104`) matches. The breakpoint is accepted without any warning.\n\n**Expected:** a jobid filter accepts the same jobid forms the REPL prints and `info job` accepts (`parse_jobid`/`parse_jobsel`, including `X[k]` array elements), as well as the raw decimal id.\n\n**Impact:** wrong result, usability. An operator copies a jobid from REPL output into `break ... jobid=`, and the breakpoint silently never stops the run. For real jobids (non-zero cluster/user/time fields) the raw decimal form is a large number nobody types, so jobid breakpoints are effectively unusable. No effect on scheduling.\n\n**Found by:** spec task scheduler-sim-decision-trace 6.1 (end-to-end tests had to use raw decimal ids for breakpoints), confirmed by the 6.1 review. It predates that feature: `repl_u64_str_eq` comes from commit 2fecea35 (2026-08-07).\n\nSuspected: `repl_u64_str_eq()` (src/scheduler/src/repl_break.c:210) formats the packed jobid with `%llu` and compares strings, so only the decimal form can match. It is used by the decision filter (`repl_decision_matches_filter`, ~line 346) and, per its comment, by every `jobid=` filter including event filters.",
"file": "src/scheduler/src/repl_break.c",
"root_cause": "TODO: required for fixed/partial",
"fix": "TODO: required for fixed/partial\n\nVerification:\n- Test: TODO: name + file; RED before the fix, GREEN after\n- Suites: TODO: suite results and build profile\n- Live: TODO: soak/deploy run, or n/a and why",
"tags": [
"sim",
"repl",
"breakpoint",
"jobid"
],
"related_bugs": [],
"fix_commits": [],
"record": ".wolf/bugs/bug-1926.md"
}
]
}