A job whose snapshot resreq fails to parse (any replay captured before the bug-1888 fix) is kept by xce_sched_core_load_snapshot() with no schedobj, but was still made a picker candidate -- by the loader and, in simulation mode, by sim_bootstrap_picker()'s picker rebuild. The allocator thread then dereferenced the NULL schedobj in limit_job_election() and xce_scheduler --sim crashed. Both push sites now skip such a job (it stays in the core so a restored allocation is still charged), and sched_allocator() skips any picked job without a schedobj as a backstop. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| autoscaler | ||
| configs | ||
| controller | ||
| docs | ||
| frontend | ||
| harness | ||
| include | ||
| lib | ||
| nixSupport | ||
| scheduler | ||
| schema | ||
| tools | ||
| worker | ||
| xceadmin | ||
| flake.lock | ||
| flake.nix | ||
| meson.build | ||
| meson.options | ||