chore(wolf): checkpoint buglog.json (944 bugs)
This commit is contained in:
parent
a79de88ab2
commit
ac8404b245
1 changed files with 42 additions and 0 deletions
|
|
@ -16838,6 +16838,48 @@
|
|||
"related_bugs": [],
|
||||
"occurrences": 1,
|
||||
"last_seen": "2026-08-17T08:30:00.000Z"
|
||||
},
|
||||
{
|
||||
"id": "bug-1567",
|
||||
"timestamp": "2026-08-17T09:00:00Z",
|
||||
"error_message": "xce_scheduler -i -s <replay>: WARN 'failed to resolve job picker plugin (rc=-2)' on load; all pre-existing jobs stay PEND forever, nothing ever dispatches in simulation/interactive mode",
|
||||
"file": "src/scheduler/src/sim.c, src/scheduler/src/sim_loop.c",
|
||||
"root_cause": "Two compounding, both explicitly documented 'Known scope boundary' gaps in the scheduler-core sim driver (task 11.1/11.2, .kiro/specs/scheduler-core): (1) sched_sim_driver_start() (sim.c) loads the initial snapshot via xce_sched_core_load_snapshot() BEFORE any picker plugin is registered into core->plugins -- only job_pick_plugin's NAME is threaded through from the ReplayHeader (sim.h:206-216's own doc comment). sched_resolve_job_picker() therefore returns -ENOENT (=-2), producing the WARN, and the picker-rebuild walk (on_queue_update/on_job_push) inside xce_sched_core_load_snapshot() is silently skipped for every job/queue in the initial snapshot. The real picker only gets registered moments later, in sim_register_default_picker() (sim_loop.c:381, called from sched_sim_driver_run() right after start() returns) -- but nothing re-pushes the already-loaded jobs/queues into it, so any job present in the replay file's INITIAL snapshot is permanently invisible to the fcfs picker's next_job(). (2) Independently, sim_picker_thread_fn() (sim_loop.c:448) has its own documented scope boundary: real resource-matching allocation (sched_make_allocation()) needs a live xce_scheduler_t* that the sim driver deliberately doesn't have, and no core-only equivalent exists yet (deferred to the separate, not-yet-designed .kiro/specs/scheduler-allocation spec) -- so EVERY candidate the picker selects is unconditionally turned into a PEND decision; dispatch is not implemented in simulation mode at all today, regardless of resource availability.",
|
||||
"fix": "Not yet fixed -- diagnosis only, per user request ('Investigate following issue'). (1) is a scoped, tractable fix (re-run the picker-rebuild walk, or push the initial snapshot's jobs/queues into the picker, right after sim_register_default_picker() registers it in sched_sim_driver_run()). (2) is a much larger, intentionally out-of-scope gap (a whole not-yet-designed spec, scheduler-allocation) and should not be casually patched without a design discussion. Reported back to user with both findings; awaiting direction on whether/which to fix.",
|
||||
"tags": [
|
||||
"scheduler",
|
||||
"simulation-mode",
|
||||
"sim-mode",
|
||||
"replay",
|
||||
"job-picker",
|
||||
"scheduler-core",
|
||||
"known-scope-boundary",
|
||||
"not-yet-fixed"
|
||||
],
|
||||
"related_bugs": [],
|
||||
"occurrences": 1,
|
||||
"last_seen": "2026-08-17T09:00:00Z"
|
||||
},
|
||||
{
|
||||
"id": "bug-1568",
|
||||
"timestamp": "2026-08-17T09:00:00Z",
|
||||
"error_message": "xce_scheduler -i -s <replay>: 'info worker <name>' shows total=0.00 available=0.00 for every resource, even though the live cluster (xce_test resval/workerlist) reports real non-zero values for the same worker",
|
||||
"file": "src/scheduler/src/repl_info.c, src/scheduler/src/snapshot_wire.c, src/scheduler/src/snapshot_load.c, src/controller/sched.c",
|
||||
"root_cause": "Not fully root-caused -- open lead, lower confidence than bug-1567. Verified the snapshot SAVE path (build_wire_worker, snapshot_wire.c:200) and LOAD path (xce_sched_core_load_snapshot's worker loop, snapshot_load.c:58) both correctly move resource values through resvals_to_sched/w->resvals -- so if the scheduler's OWN live in-memory worker mirror had real values at 'record start' time, they would have been captured correctly into the .replay file. Whether it actually did depends on the controller->scheduler resource-value push path (src/controller/sched.c's sched_worker_change/xcesched_push_workerlist, fired on worker join/dead/update hooks) and whether xce_core_push_events's XCE_CORE_EVENT_WORKERS_PUSH handler (core_events.c:463-480) silently drops a later real-valued push: it calls sched_add_worker() but never checks its return value, and sched_add_worker() is a plain key_add() (external vendored rtti library, var-typed keyed container, src/scheduler/src/core.c:270) -- could not confirm from this repo's own sources whether key_add() re-adding an existing worker name update-in-places or fails/no-ops, since the concrete implementation lives in the vendored rtti-0.0.2 nix package, not this repo. Functional impact today is zero (bug-1567's finding (2): sim mode doesn't do real resource-matching allocation at all yet), but this is a real diagnostics-accuracy gap in 'info worker' worth fixing separately if/when allocation gets implemented.",
|
||||
"fix": "Not yet fixed -- open investigation lead, reported to user alongside bug-1567. Needs a live recording session trace (or reading the vendored rtti library's key_add source) to confirm whether this is a genuine capture/propagation bug or expected-at-record-time transient state.",
|
||||
"tags": [
|
||||
"scheduler",
|
||||
"simulation-mode",
|
||||
"resource-values",
|
||||
"worker-resvals",
|
||||
"needs-investigation",
|
||||
"not-yet-fixed"
|
||||
],
|
||||
"related_bugs": [
|
||||
"bug-1567"
|
||||
],
|
||||
"occurrences": 1,
|
||||
"last_seen": "2026-08-17T09:00:00Z"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue