From df21e5727213426ae4ceb73b3fd77ae3b2701176 Mon Sep 17 00:00:00 2001 From: Luke Curley Date: Fri, 6 Nov 2026 12:06:20 -0800 Subject: [PATCH 1/3] chore(quest): claim quest/m0/nightly/miri.md Quest-Claim: 1d9b08c9cf9e248e From bfe897105af9ef998ea360612fc5106db7bfafa9 Mon Sep 17 00:00:00 2001 From: Luke Curley Date: Fri, 6 Nov 2026 12:06:32 -0800 Subject: [PATCH 2/3] quest: record the 2026-11-06 Miri build break and its fix Co-Authored-By: Claude Opus 5.5 --- quest/m0/nightly/miri.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/quest/m0/nightly/miri.md b/quest/m0/nightly/miri.md index 7bbb439376b..06d9d4f6368 100644 --- a/quest/m0/nightly/miri.md +++ b/quest/m0/nightly/miri.md @@ -56,6 +56,18 @@ on 2026-11-05, passed `Tests (rs miri)` with both passes: `debt_sheds_the_front_but_not_the_newest_frame` from four 1 MiB pseudo-random frames to four 1 KiB frames; shedding counts frames, not bytes. +The scheduled run on 2026-11-06, +[run 42236107954](https://github.com/moq-dev/moq/actions/runs/42236107954/job/127954016784) +at fbef872bdc, before #7997 merged, failed `Tests (rs miri)` before any test +ran: the Miri selection (`-p kio -p moq-net --lib`) builds `moq-net` without +its `async` feature, and a resume-model test helper in `model/track.rs` called +the `async`-only `group::Consumer::read_frame`. The merge gate never saw it, +since workspace feature unification turns `async` on there. +[moq-dev/moq#7995](https://github.com/moq-dev/moq/pull/7995) since gated those +helpers on `async`: `cargo test --locked -p kio -p moq-net --lib --no-run` +reproduces the error at fbef872bdc and builds on 1ae5c5f808. That native build +is the cheap local check for this class of break. + Remaining: confirm on the next scheduled Nightly that neither pass has a SLOW test (strict pass included, since its slowest sits near 200 s), then delete this quest. If the job nears 60 minutes, split the strict and epoch passes From 9b8a3473b4653e8c47f7554410f707350fda481e Mon Sep 17 00:00:00 2001 From: Luke Curley Date: Sat, 7 Nov 2026 14:45:54 -0800 Subject: [PATCH 3/3] quest: delete the Miri quest after Nightly run 42377867523 passed Co-Authored-By: Claude Opus 5.5 --- quest/m0/nightly/README.md | 1 - quest/m0/nightly/miri.md | 77 -------------------------------------- 2 files changed, 78 deletions(-) delete mode 100644 quest/m0/nightly/miri.md diff --git a/quest/m0/nightly/README.md b/quest/m0/nightly/README.md index db98c7f8a48..7baee25f60d 100644 --- a/quest/m0/nightly/README.md +++ b/quest/m0/nightly/README.md @@ -42,5 +42,4 @@ Public API: none. Wire: none. ## Required -- [Nightly's Miri job stays inside its time budget](/quest/m0/nightly/miri.md) - both Miri passes go green, with ARM timings inside the 60-minute job and 15-minute-per-test budgets - [Nightly's macOS platform job passes](/quest/m0/nightly/macos.md) - `moq-audio`'s tests compile on macOS again and the websocket version test's timeout is fixed if it recurs diff --git a/quest/m0/nightly/miri.md b/quest/m0/nightly/miri.md deleted file mode 100644 index 06d9d4f6368..00000000000 --- a/quest/m0/nightly/miri.md +++ /dev/null @@ -1,77 +0,0 @@ -# [XS] Nightly's Miri job stays inside its time budget - -## Goal - -Nightly's `Tests (rs miri)` entry passes and finishes well inside the job's -60-minute timeout on the 4-core ARM runner, and no single Miri test comes near -nextest's 15-minute `miri` profile cap, with headroom recorded from a real -Nightly run. - -## Plan - -Decided 2026-10-31 (user, /quest-plan of the follow-ups from the 2026-10-31 /quest-complete run), from [moq-dev/moq#7315](https://github.com/moq-dev/moq/pull/7315) -(merged), which finished the Miri for in-memory unsafe quest. - -Decided 2026-11-03 (maintainer, /quest-plan of the follow-ups from [moq-dev/moq#7667](https://github.com/moq-dev/moq/pull/7667)): -moved under [Nightly passes on main](/quest/m0/nightly/README.md), since the -Miri job keeps the m0 Nightly red. Do not dispatch Nightly by hand for the -timings. - -The first scheduled run with `rust-src` ([moq-dev/moq#7812](https://github.com/moq-dev/moq/pull/7812)), -[run 41852517544](https://github.com/moq-dev/moq/actions/runs/41852517544/job/126652295876) -on 2026-11-04, ran only the strict pass: two kio `task::` tests failed, and -`sh/rs/miri.sh` stops before the epoch pass when one fails. -[moq-dev/moq#7895](https://github.com/moq-dev/moq/pull/7895) fixed them and -shrank the slowest Miri workloads. What that run recorded: - -- Job 19 min 22 s; tests start 6 min in (toolchain, cache, a 2 min 20 s build). -- Strict pass: 228 tests in 800 s (13.3 min). Slowest - `model::frame::tests::a_delivery_attaching_mid_write_publishes_one_payload` - 372 s (SLOW at 300 s; about half was its payload fill, now cheap), then kio's - `clock::sim::tests::a_large_task_set_counts_each_child_alone` 212 s (now one - child past the 4096 Ready limit instead of 10,000: 56 s locally, from 280 s) - and `task::tests::concurrent_wakes_are_never_lost` 188 s, against the 900 s cap. -- All 17 `model::frame::` tests ran and passed, including the two - single-delivery tests from [moq-dev/moq#7508](https://github.com/moq-dev/moq/pull/7508); - the selection needs no change. - -The epoch pass has no ARM timing yet. On a loaded 24-core desktop it took 370 s -for 97 tests, with `model::group::test::a_group_has_no_frame_cap` (10,000 -writes at about 30 ms each under Miri) past SLOW; #7895 ignores that test under -Miri, since it still runs natively in the merge gate. - -The first scheduled run after #7895 merged, -[run 42050683248](https://github.com/moq-dev/moq/actions/runs/42050683248) -on 2026-11-05, passed `Tests (rs miri)` with both passes: - -- Job 31 min 26 s, inside the 60-minute timeout. -- Strict pass: 228 tests in 688 s. Slowest - `model::frame::tests::a_delivery_attaching_mid_write_publishes_one_payload` - 192 s, then kio's `task::tests::concurrent_wakes_are_never_lost` 183 s. -- Epoch pass: 97 tests in 832 s, one SLOW: - `model::group::test::debt_sheds_the_front_but_not_the_newest_frame` 335.8 s, - past the 300 s SLOW mark and inside the 900 s cap. - -[moq-dev/moq#7997](https://github.com/moq-dev/moq/pull/7997) shrank -`debt_sheds_the_front_but_not_the_newest_frame` from four 1 MiB pseudo-random -frames to four 1 KiB frames; shedding counts frames, not bytes. - -The scheduled run on 2026-11-06, -[run 42236107954](https://github.com/moq-dev/moq/actions/runs/42236107954/job/127954016784) -at fbef872bdc, before #7997 merged, failed `Tests (rs miri)` before any test -ran: the Miri selection (`-p kio -p moq-net --lib`) builds `moq-net` without -its `async` feature, and a resume-model test helper in `model/track.rs` called -the `async`-only `group::Consumer::read_frame`. The merge gate never saw it, -since workspace feature unification turns `async` on there. -[moq-dev/moq#7995](https://github.com/moq-dev/moq/pull/7995) since gated those -helpers on `async`: `cargo test --locked -p kio -p moq-net --lib --no-run` -reproduces the error at fbef872bdc and builds on 1ae5c5f808. That native build -is the cheap local check for this class of break. - -Remaining: confirm on the next scheduled Nightly that neither pass has a SLOW -test (strict pass included, since its slowest sits near 200 s), then delete -this quest. If the job nears 60 minutes, split the strict and epoch passes -into separate matrix entries rather than raising the timeout, and keep -nextest's 15-minute per-test cap. - -Public API: none. Wire: none.