diff --git a/.agents/issue-index.md b/.agents/issue-index.md index f7d1845a0..815e1ee41 100644 --- a/.agents/issue-index.md +++ b/.agents/issue-index.md @@ -545,3 +545,4 @@ rather than merged. `scripts/check-agent-record.py` gates both. | [#1595](https://github.com/mudler/vllm.cpp/issues/1595) | `BACKEND-TENSTORRENT-HOST-FREE-FORWARD` | `tests/vllm/models/test_qwen3_dflash2_gguf.cpp:547` calls `::getpid()` with no `` in its include block, so the TU does not compile under clang-20 (`no member named 'getpid' in the global namespace`); landed on main in the SPEC-DFLASH2 GGUF arm and blocks every post-merge rebuild on a clang host, including the TT card gates; fixed in-flow with the one-line missing include, matching the sibling-test convention | bug | | [#1576](https://github.com/mudler/vllm.cpp/issues/1576) | `LTX25-DEVICE-RESIDENCY` | **`test_ltx2_video`'s `span_slack` bound is a 250 µs wall-clock budget with an allowance for sanitizers and NONE for CPU load, and the asserted quantity swung 171x between two runs of ONE binary.** NOT CURRENTLY RED, and recorded before it becomes an intermittent nobody can attribute: `build-test-cpu` is green on `main` in run [32464632413](https://github.com/mudler/vllm.cpp/actions/runs/32464632413) at `483cd3198`, `100% tests passed, 0 tests failed out of 584`, with `test_ltx2_video` Passed in 201.56 s. `6b48edb2c` (GATE-CI-RED-REPAIR, [#1499](https://github.com/mudler/vllm.cpp/issues/1499)/[#1494](https://github.com/mudler/vllm.cpp/issues/1494)) repaired the suite and INTRODUCED the bound in the same change: `span_bound = min(kSpanSlackPerRecord * leaf_records, 0.5 * leaf_seconds)` with `kSpanSlackPerRecord` 250 µs (`tests/vllm/multimodal/test_ltx2_video.cpp:3827`, `:3830`), raised to 3 ms under either sanitizer (`:3822`, `:3825`). Measured at `origin/main` `6b48edb2c` on a detached worktree, CPU-only, x86_64, `BUILD_RC=0`, SAME binary both samples: in the full 102-case `ctest -j 1` run at load 82-110 the `artifacts.frames` leaf reported **3.223 ms** of slack on a 4.935 ms leaf (65.3%) against the 250 µs bound and the CHECK failed 13x over; the same case alone under `-tc=` at load ~90 reported **18.8 µs** on a 2.98 ms leaf (0.63%) and passed 13x under. The suite read `102 cases, 101 passed, 1 failed`, `4194 assertions, 5 failed`, every failure inside *"the three carrying phases contain their work and the load keeps its order"* -- `span_slack <= span_bound` (`:3909`) and `covered >= c.min_coverage * leaf_seconds` (`:3945`). Same commit, same tree: `test_ltx2_video` runs 201.56 s on the CI runner and took 2863.35 s on that box, 14x slower. The bound is a FIXED absolute time charged per instrument boundary against a leaf that can be milliseconds long, so whether it holds is a property of SCHEDULER LATENCY, and a descheduled thread is off-CPU for far more than 250 µs; the sanitizer arm already concedes the quantity is environment-sensitive and contention moves it the same way with no allowance. Cost is attribution, not the red: a reviewer who sees this fail cannot separate a genuine phase-instrumentation regression from a loaded runner, which is [#433](https://github.com/mudler/vllm.cpp/issues/433)'s class. NOT FIXED IN FLOW, deliberately: a bigger constant only moves the threshold at which the same ambiguity appears, and the candidate repairs (assert the containment RELATION rather than a duration, derive the budget from measured per-boundary cost on the running host, or gate the case on a quiescence precondition and report "not measured" instead of "failed") are a numerics/instrument decision owned by the LTX-2.5 residency lane rather than by the row that found it. Found while measuring [#1464](https://github.com/mudler/vllm.cpp/issues/1464) at `origin/main` | bug | | [#1385](https://github.com/mudler/vllm.cpp/issues/1385) | `GATE-CI-AARCH64-COVERAGE` | **CI builds 4 of 552 test targets on aarch64, and every fleet GPU box and two release bundles are aarch64.** Re-derived at `e2a9e035d`: `tests/CMakeLists.txt` defines **552** `vllm_cpp_add_test` targets plus 32 direct `add_test(NAME ...)` registrations, and the x86-64 lane ran **584** CTest entries with 3 skipped on run 32465485947. `build-test-cpu-arm64` (`.github/workflows/ci.yml:1096`) builds four ISA and kernel-tier targets and runs no `ctest` at all, so 0.72 % of the suite executes on the architecture the project measures, gates and ships on. Its own flag block (`:1110`) additionally sets `VLLM_CPP_BUILD_EXAMPLES=OFF` and `VLLM_CPP_SERVER=OFF`, which puts `examples/tokenize` and the `/v1/completions` parse segment out of reach of any target-list change. Decided in [ci-aarch64-coverage.md](specs/ci-aarch64-coverage.md): a curated subset is REJECTED because a stated sensitivity principle (weak memory model, `char` signedness, floating-point contraction, hash order) selects **291 of 552** targets, so half a suite costs most of a full build; a self-hosted fleet runner is REJECTED because it takes a leased box outside `rc`. Recommended: one new `build-test-cpu-arm64-full` job that builds everything and runs `ctest` serially, landing `schedule`+`workflow_dispatch` only with `continue-on-error`, then promoted per-PR once measured. Measured cost: **$0** (`timing` reports `total_ms: 0`; the repository is public), **+45-55 job-minutes** against a median of 357 per scheduled run, and **zero** added wall-clock while it finishes inside `cuda-fat-build`'s measured 123.0-minute median finish. It makes the hermetic tokenizer parity goldens execute on aarch64 for the first time, which is the `## Owed` item [prompt-token-divergence.md](specs/prompt-token-divergence.md) names, but the committed corpus carries only **30** combining marks over 99 lines against the 74-150 per prompt that produced the anomaly, so it is a necessary and not a sufficient probe | bug | +| [#1617](https://github.com/mudler/vllm.cpp/issues/1617) | `SPEC-DFLASH2` | **`d27639e71` re-added an unguarded `#include ` to `tests/vllm/models/test_qwen3_dflash2_gguf.cpp`, a file [#1581](https://github.com/mudler/vllm.cpp/pull/1581) (`13548db8f`) had already fixed through the `process_id` seam.** The include supports NOTHING: the file carries no `::getpid` call and includes `support/process_id.h` at line 68. It is the [#603](https://github.com/mudler/vllm.cpp/issues/603) shape of the [#503](https://github.com/mudler/vllm.cpp/issues/503) class -- MSVC ships no ``, so an unguarded include does not fail on Windows, it does not COMPILE, and `tests/support/process_id.h` says so in its own header comment. It did not surface as a new red because both `windows-msvc-*` lanes are baseline-red and never run on `main`. ORDERING is the whole cause: the change was authored against the pre-#1581 tree, where it was correct, and landed after #1581 had removed the call it existed to support. FIXED IN FLOW by deleting the one line; found while merging external contributor pull requests, not owned by that work | bug | diff --git a/tests/vllm/models/test_qwen3_dflash2_gguf.cpp b/tests/vllm/models/test_qwen3_dflash2_gguf.cpp index 22d5c750f..511d06801 100644 --- a/tests/vllm/models/test_qwen3_dflash2_gguf.cpp +++ b/tests/vllm/models/test_qwen3_dflash2_gguf.cpp @@ -59,7 +59,6 @@ #include #include #include -#include #include #include