Skip to content

The LTX-2.5 phase-table SUM gate's 95% floor sits inside its own measurement, and it is RED on main #1439

Description

@localai-bot

ltx2 video: a render through the ABI emits a phase table that SUMS to wall (tests/vllm/multimodal/test_ltx2_video.cpp:2854) asserts CHECK(leaves >= 0.95 * wall). It is red on origin/main at 89261c955 in five of six runs on one x86 box, and the branch that found it is not the cause.

Measured

One box, one build directory, CMAKE_BUILD_TYPE empty as CI has it. For the main rows the four W0-live files were reverted so the binary IS main.

binary run wall (s) leaves (s) residue (s) ratio verdict
origin/main 89261c9 full suite 0.235589 0.222210 0.013379 94.32% RED
origin/main -tc alone 0.220766 0.207936 0.012830 94.19% RED
origin/main full suite 0.579684 0.551848 0.027836 95.20% GREEN
origin/main full suite 0.280686 0.263109 0.017577 93.74% RED
origin/main full suite 0.229418 0.216104 0.013314 94.20% RED
origin/main full suite 0.264471 0.250421 0.014050 94.69% RED
W0-live merge full suite 0.333903 0.313273 0.020630 93.82% RED
W0-live merge, VLLM_RENDER_PROGRESS=0 full suite 0.246568 0.232059 0.014509 94.12% RED
W0-live merge -tc alone 0.282217 0.269225 0.012992 95.40% GREEN
W0-live merge full suite 0.279554 0.261876 0.017678 93.68% RED
W0-live merge full suite 0.352022 0.332084 0.019938 94.34% RED
W0-live merge full suite 0.356531 0.337360 0.019171 94.62% RED
W0-live merge full suite 0.393683 0.371605 0.022078 94.39% RED

main's failing runs report 93 cases / 3321 assertions / 1 failed, exit 1. The W0-live merge reports 96 cases / 3555 assertions / 1 failed — the same single failure, with 3 cases and 234 assertions added and none of them failing.

VLLM_RENDER_PROGRESS=0 still fails, so the W0-live emitter is not the term. Reverting to main still fails, so nothing in that lane is.

It is not box contention, and one run proves it

The obvious reading is a flaky timing case losing to load. The single green main run refutes it: that run had wall=0.579684s, more than double every other run, because the box was loaded at the time. A slower render passes.

The reason is in the third column. The un-named residue is 4.80% to 6.32% of wall in all thirteen runs — 0.0128 s to 0.0278 s against a wall of 0.220 s to 0.580 s — and it grows more slowly than the wall it is divided by. So a longer render has a better ratio, and the floor is easier to clear the worse the box behaves.

What is actually wrong

The gate is a RATIO and its 95% floor sits inside the measurement's own range at the 64x64 / 9-frame fixture scale, where the whole instrumented render is 0.22 to 0.58 s. The case therefore decides by coin flip, and mostly red. The tolerance was argued for the 21.004 B render the instrument exists for, where the same residue would be a far smaller fraction of a wall measured in hours.

What would settle it

Naming the un-named time, or bounding unaccounted_seconds absolutely in addition to (not instead of) the ratio, so the assertion says the same thing at both scales. Either is a change to a gate's semantics and needs its own row, spec and red-first evidence per AGENTS.md "Changing the rules or a checker", so it is not folded into the W0-live recovery that found it.

Owner

Row LTX25-DEVICE-RESIDENCY, listed under ## Owed in ltx25-device-residency.md. Found while merging origin/main into row/LTX25-RESIDENCY-W0-LIVE after #1419 was auto-closed by its base branch being deleted.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions