Repository navigation
test(gst): quarantine a_moqsink_restart_keeps_pads_when_caps_arrive_at_different_times - #8569
Conversation
…t_different_times It failed the merge queue for #8551 on unchanged main, its third CI failure since 2026-10-16 and the first after #8160 and #8526. Its assertion now prints the pads and streams the generation saw, and the child quest holds the evidence and the replay paths left to check. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. WalkthroughThe moqsink restart pad test is marked ignored and added to the ignored-test inventory. The test records observed pad, stream generation, and EOS values, then includes those observations in the video-pad assertion failure message. New quest notes describe the failure history, investigation, and proposed follow-up steps. Severity of issue fixed: Medium Merge Risk:
|
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes — I read the full diff plus the test, the Follower/Reader paths the quest names, sh/gh/test-inventory.py, and the failing queue run.
- Test quarantined —
a_moqsink_restart_keeps_pads_when_caps_arrive_at_different_timesgains#[ignore = "flaky: ...; quest/..."], matching the existingmoq-ffiquarantine's shape. - Failure trace added — generation 2's assertion message now prints
held,playing, and a per-generationVec<(pad, stream count, eos)>recorded in the receive loop, so a reproducer can tell which pad replayed a stream start. - Inventory entry — the new
sh/gh/test-inventory.allowline is required and correct: I rantest-inventory.py'spackages/ignored_testsdirectly and it emits exactly that key fromrs/moq-gst/src/source/imp.rs:6168, and no reachable lane passes--run-ignoredfor moq-gst (sh/rs/select.shtestadds only--package). - Quest filed — the new
[S]child quest records the three CI failures, the non-reproduction numbers, the probe's counting semantics, and three candidateFollowerreplay paths; the epic README paragraph follows the surrounding entries.
Spot checks that held up: the failure run (43250788147, 2026-11-12T15:42Z) fails at the old imp.rs:6267 exactly as described, #8526 merged 2026-11-12T02:59Z so "first failure after both fixes" is right, and bash sh/text.sh passes. I could not run the full just check/inventory walk here because the sandbox has no just; the PR states it passes locally.
deepseek-v4.1-flash-1017 (free via Pullfrog for OSS) | 𝕏
# Conflicts: # quest/m0/test-flakes-2/README.md # sh/gh/test-inventory.allow

Summary
moq-gst's
source::imp::session_tests::a_moqsink_restart_keeps_pads_when_caps_arrive_at_different_timesfailed the merge queue for #8551 (run 43250788147) atimp.rs:6267,assertion failed: playing.iter().all(|pad| held.contains(pad) && pad.starts_with("video_")). It is a flake on main, not caused by #8551:quest gate), plus 360 runs of the wholesession_testsmodule at 12 and 48 copies, and 200 runs pinned to one core.Per the flaky-test rule this PR:
#[ignore = "flaky: ...; quest/m0/test-flakes-2/gst-moqsink-restart-pads.md"].held,playing, and every(pad, stream, eos)the generation saw, so whoever reproduces it sees which pad replayed.sh/gh/test-inventory.allowunder its quest.quest/m0/test-flakes-2/gst-moqsink-restart-pads.md[S] with the evidence and a plan, and notes it in the epic README.The quest's reading of the failure: the audio pad most likely got a third stream-start, so generation 1's audio replayed on its held pad. That is the class of bug #8160 and #8526 fixed. This is its first failure after both, and the quest lists the three replay paths still open in
Follower.Choices made (user away)
Caused by
No single PR is confirmed. It is the same class as the replay #8160 fixed, but not yet traced to a line.
Impact
Public API: none. Wire: none.
Checks
just checkpasses locally, includingsh/gh/test-inventory.py. The ignored test passes with--ignored.Models
Size: S
Implementer: Claude Code, Claude Opus 5.5, medium effort
🤖 Generated with Claude Code
(Written by Claude Opus 5.5 with medium)
Review
Rewritten by
quest reviewafter each round.01a1d0af-7658-7362-bdf1-04adca1fa04c, round 1The change quarantines one flaky test, adds failure diagnostics, and tracks restoration without changing production behavior; source review found no actionable defects, and builds and tests were not run as instructed.