Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .agents/issue-index.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 `<unistd.h>` 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 <unistd.h>` 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 `<unistd.h>`, 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 |
1 change: 0 additions & 1 deletion tests/vllm/models/test_qwen3_dflash2_gguf.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,6 @@
#include <fstream>
#include <map>
#include <string>
#include <unistd.h>
#include <vector>

#include <nlohmann/json.hpp>
Expand Down
Loading