Repository navigation
fix(patches): integrate graph-capture corruption guard on current main - #121
Conversation
Cherry-pick of PR116 (c0aa088) onto current main 01df4ee (#112/#113 included); no main-side files or guards reverted. Upstream vLLM traced intermittent silent output corruption on 2x DGX Spark (MTP + prefix caching + CUDA graphs) to code this fork carries as perf backports: - #51318 reverted #50004: the C128A metadata builder writes packed rows at the live batch's stride while FULL-graph consumers keep the capture-time stride, so rows >= 1 read stale slot ids and attention lands on the wrong context slices. The 0.1.1 image's stock code is the exact pre-#50004 state, so removing the backport (compose chain, launcher status echo, worker sync list, test inventory) restores upstream's post-revert state. - #52492 kept #49486 but barred the short-context indexer shortcut during stream capture: a graph captured with the shortcut baked in replays it against longer cached prefixes and returns candidates 0..topk-1 unscored. The port now carries the guard verbatim and --status reports it; eager-step behavior is unchanged. - Historical note: upstream re-landed adaptive top-k width capture-safely in #52823 on 2026-08-21; this repository still removes the obsolete #50004 backport because its pinned image's stock code predates #50004. Review follow-ups folded in: - scripts/bench-baseline-issue22-only.sh: drop the stale #50004 output field (and its active_topk_width probe), permanently 0 after removal. - patches/hotfix-dsv4-mtp-buffer-50312.sh: mark the histogram width estimate as explicitly counterfactual post-revert (hypothetical headroom, not an active saving). The third fix from the same investigation (#52836, reverting #49236's eager scratch pool) does not apply: this fork never backported #49236. Verification: python3 scripts/test-hotfix-atomic-transaction.py 23/23 OK; bash -n clean on all touched shell scripts; compose YAML parses; loop_detector.py and the #112 HEADLESS healthcheck/CI gate intact.
|
Independent live validation at exact head
This validates the required container-recreate semantics and both-rank patch state. It does not claim a short run can prove the absence of an hours-later corruption event; the mechanism/source fix and exact runtime state are the evidence for that risk. |
|
Final combined-candidate evidence ( |
…rrent-main fix(patches): integrate graph-capture corruption guard on current main
…rrent-main fix(patches): integrate graph-capture corruption guard on current main
…rrent-main fix(patches): integrate graph-capture corruption guard on current main
Summary
Current-main integration of @de1tydev's cross-repository PR #116. The original author and commit attribution are preserved; this branch exists because #116 predates merged PRs #112/#113 and cannot be updated in its fork without rewriting contributor history.
scripts/loop_detector.pySupersedes #116 for merge. Closes the integration blocker found in independent review; no changes to the contributor fork.
Verification
bash scripts/ci-validate.sh— PASS at7f5538b90d5932f2fe78dc261a776ae6737d8c3dscripts/test-hotfix-atomic-transaction.py— 23/23 PASSLive two-rank recreate verification is in progress and will be posted before merge.