check-device-leakage fails on main, and has since 7d45913a. Every PR opened
after that point inherits a red device-leakage check that has nothing to do
with its own contents — which is how I found it, gating #277.
ERROR: DSR REGRESSION in bucket 'vt_ifdef': 33 > baseline 32.
check-device-leakage: FAIL (1 error(s))
DSR by bucket: kcuda=0, is_cuda=0, cuda_inc=0, vt_ifdef=33 -> total 33
Bisected on main, sources only
src/ and include/ checked out at each revision, checker run against each:
| main revision |
DSR sites |
abdc3a26 |
32 |
848d4a87 |
32 |
84fc736d |
32 |
7d45913a |
33 |
e17e8f8a |
33 |
24306364 |
33 |
7d45913a is merge: origin/main into the PERF-27B-LMHEAD-FP4 landing, i.e.
the landing of bc2fa7d9 / #213 ("keep the ModelOpt NVFP4 lm_head packed").
The added site
Diffing the checker's own site list across 84fc736d..7d45913a gives exactly one
new entry:
> src/vllm/model_executor/models/qwen3_5.cpp: [vt_ifdef] #ifdef VT_MARLIN_NVFP4
So a device-specific preprocessor branch entered the device-agnostic shared
layer without either a DSR-ALLOW comment naming it the platform leg or a
deliberate baseline change. The checker's own message spells out the three legal
responses and rules out the fourth:
Ask the op/provider table the question instead (vt::OpRegistered / Platform
capability), or — if the site is genuinely the platform leg — add it to
ALLOWLIST with a reason. NEVER raise the baseline to make this pass.
Reproducer
python3 scripts/check-device-leakage.py # FAIL: 33 > 32
python3 scripts/check-device-leakage.py --list # the 33 sites + 14 DSR-ALLOWs
To confirm it is not your branch, check out only the sources at the base and
re-run:
git checkout <main-sha> -- src include
python3 scripts/check-device-leakage.py
git checkout HEAD -- src include
Why this matters beyond one red check
device-leakage is the guard that keeps new hardware additive. A red baseline
that everyone learns to scroll past is how the 33rd site becomes the 40th: the
gate stops being a ratchet the moment its failure is routine and unattributed.
Owner should be whoever landed #213, since only they know whether the new
#ifdef is genuinely the platform leg (→ DSR-ALLOW with a reason) or should
be asking the Platform capability table instead.
Row: ARCH-ONE-SURFACE / PERF-27B-LMHEAD-FP4 (#213).
check-device-leakagefails onmain, and has since7d45913a. Every PR openedafter that point inherits a red
device-leakagecheck that has nothing to dowith its own contents — which is how I found it, gating #277.
Bisected on main, sources only
src/andinclude/checked out at each revision, checker run against each:abdc3a26848d4a8784fc736d7d45913ae17e8f8a243063647d45913aismerge: origin/main into the PERF-27B-LMHEAD-FP4 landing, i.e.the landing of
bc2fa7d9/ #213 ("keep the ModelOpt NVFP4 lm_head packed").The added site
Diffing the checker's own site list across
84fc736d..7d45913agives exactly onenew entry:
So a device-specific preprocessor branch entered the device-agnostic shared
layer without either a
DSR-ALLOWcomment naming it the platform leg or adeliberate baseline change. The checker's own message spells out the three legal
responses and rules out the fourth:
Reproducer
To confirm it is not your branch, check out only the sources at the base and
re-run:
Why this matters beyond one red check
device-leakageis the guard that keeps new hardware additive. A red baselinethat everyone learns to scroll past is how the 33rd site becomes the 40th: the
gate stops being a ratchet the moment its failure is routine and unattributed.
Owner should be whoever landed #213, since only they know whether the new
#ifdefis genuinely the platform leg (→DSR-ALLOWwith a reason) or shouldbe asking the Platform capability table instead.
Row:
ARCH-ONE-SURFACE/PERF-27B-LMHEAD-FP4(#213).