Skip to content

test(gst): quarantine a_moqsink_restart_keeps_pads_when_caps_arrive_at_different_times - #8569

Merged
kixelated merged 2 commits into
mainfrom
test/quarantine-gst-moqsink-restart-pads
Nov 12, 2026
Merged

kixelated merged 2 commits into
mainfrom
test/quarantine-gst-moqsink-restart-pads

Conversation

@kixelated

@kixelated kixelated commented Nov 12, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

moq-gst's source::imp::session_tests::a_moqsink_restart_keeps_pads_when_caps_arrive_at_different_times failed the merge queue for #8551 (run 43250788147) at imp.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:

Per the flaky-test rule this PR:

  • Marks it #[ignore = "flaky: ...; quest/m0/test-flakes-2/gst-moqsink-restart-pads.md"].
  • Makes its generation 2 assertion print held, playing, and every (pad, stream, eos) the generation saw, so whoever reproduces it sees which pad replayed.
  • Lists it in sh/gh/test-inventory.allow under its quest.
  • Adds the child 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)

  • Quarantined rather than fixed: the cause is narrowed to three candidate paths but not confirmed, and it does not reproduce locally.
  • Kept the failure-trace message in the test, since it is the cheapest way to tell the candidate paths apart on the next reproduction.

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 check passes locally, including sh/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 review after each round.

  • Reviewer: Codex, gpt-6.1-sol, medium effort
  • Session: 01a1d0af-7658-7362-bdf1-04adca1fa04c, round 1
  • Head: 40fb1f9
  • Base: origin/main at 55a30db
  • Score: 9/10, The 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.
  • Findings: none

…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>
@kixelated
kixelated marked this pull request as ready for review November 12, 2026 16:55
@coderabbitai

coderabbitai Bot commented Nov 12, 2026 •

Copy link
Copy Markdown
Contributor

Explain Change →

No actionable comments were generated in the recent review.

Walkthrough

The 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: Minimal · up to b4306

This change quarantines a flaky test and adds diagnostics and documentation. It does not alter runtime behavior, so no merge-blocking risk remains.

Pre-merge checks: Passed 4

Check name Status Explanation
Title check Passed The title names the change: the test a_moqsink_restart_keeps_pads_when_caps_arrive_at_different_times is quarantined (marked ignored). The changeset does mark that test as ignored with a flaky-test re…
Description check Passed The description explains the change in detail: the failing merge-queue run, evidence that the failure is a flake on main unrelated to #8551, the #[ignore] annotation, the added diagnostic output in th…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Title check

Explanation

The title names the change: the test a_moqsink_restart_keeps_pads_when_caps_arrive_at_different_times is quarantined (marked ignored). The changeset does mark that test as ignored with a flaky-test reason, so the title matches the main change. It uses the conventional test(gst): prefix and is specific.

Full details: Description check

Explanation

The description explains the change in detail: the failing merge-queue run, evidence that the failure is a flake on main unrelated to #8551, the #[ignore] annotation, the added diagnostic output in the generation 2 assertion, the test-inventory allowlist entry, and the child quest document. It is directly related to the changeset, so the check passes.

Finishing Touches

Simplify code

  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

Recent review info

Run configuration

  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: ba8bca6d-af3f-47be-a7ff-78931405fe04
Commits

Reviewing files that changed from the base of the PR and between 40fb1f9 and b430670.

Files selected for processing: 2

  • quest/m0/test-flakes-2/README.md
  • sh/gh/test-inventory.allow
Files skipped from review as they are similar to previous changes: 2

  • quest/m0/test-flakes-2/README.md
  • sh/gh/test-inventory.allow

Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 0 remain after this review.

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ 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_times gains #[ignore = "flaky: ...; quest/..."], matching the existing moq-ffi quarantine's shape.
  • Failure trace added — generation 2's assertion message now prints held, playing, and a per-generation Vec<(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.allow line is required and correct: I ran test-inventory.py's packages/ignored_tests directly and it emits exactly that key from rs/moq-gst/src/source/imp.rs:6168, and no reachable lane passes --run-ignored for moq-gst (sh/rs/select.sh test adds 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 candidate Follower replay 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.

Pullfrog  | View workflow run | Using deepseek-v4.1-flash-1017 (free via Pullfrog for OSS) | 𝕏

# Conflicts:
#	quest/m0/test-flakes-2/README.md
#	sh/gh/test-inventory.allow
@kixelated
kixelated added this pull request to the merge queue Nov 12, 2026
Merged via the queue into main with commit bec81e4 Nov 12, 2026
5 checks passed
@kixelated
kixelated deleted the test/quarantine-gst-moqsink-restart-pads branch November 12, 2026 17:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant