From 27a6c823fc7aafe0beec57672b3a98f296a9a885 Mon Sep 17 00:00:00 2001 From: japabu Date: Mon, 28 Sep 2026 09:38:31 +0200 Subject: [PATCH 1/2] Disable log_ring_keeps_the_owners_slots behind its filed defect issues/kernel/a-log-rings-owner-is-named-only-when-logd-reads-its-registration.md already recorded 2 red of 13 on origin/main, each red the same failure. The orchestrator's Fast-tier run of PR #563 at d6716fc7 on 2026-09-28 hit it again: /log carried no "===TEST_END test_rs_log_flood exit=0===" because the child's flood took the ring's slots the parent's own line needed (1917 flood lines in /log). A flaky test is disabled at once, never re-run. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01W6rME2DoqwjcYFStYHHY4j --- ...gs-owner-is-named-only-when-logd-reads-its-registration.md | 3 ++- src/redlist.rs | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/issues/kernel/a-log-rings-owner-is-named-only-when-logd-reads-its-registration.md b/issues/kernel/a-log-rings-owner-is-named-only-when-logd-reads-its-registration.md index 0579384cef..23ac7dbda9 100644 --- a/issues/kernel/a-log-rings-owner-is-named-only-when-logd-reads-its-registration.md +++ b/issues/kernel/a-log-rings-owner-is-named-only-when-logd-reads-its-registration.md @@ -1,5 +1,5 @@ --- -status: open +status: expected-red kind: defect opened: 2026-09-27 --- @@ -28,6 +28,7 @@ log_`, interleaved per round against `origin/main`'s kernel and tests: began; 0 of 5 after); - `origin/main`: 2 red of 13 (0 of 8 at 1ce71831, 2 of 5 at 16d2e645). Each red was this failure. The race is on `main`. +Also red on the orchestrator's Fast tier for PR #563 at `d6716fc7`, 2026-09-28: the same failure, `563r4-fast.log`. Disabled for this reason in `src/redlist.rs`. The fix belongs where the owner is decided: - init names the owner itself, after the spawn and before the frame. That diff --git a/src/redlist.rs b/src/redlist.rs index 301519afaf..8fb71e1968 100644 --- a/src/redlist.rs +++ b/src/redlist.rs @@ -51,6 +51,10 @@ pub const DISABLED: &[Disabled] = &[ issue: "issues/build/a-swaps-redial-races-a-hard-dial-ceiling-against-an-unbounded-guest-gap.md", }, Disabled { test: "latency_wake", issue: "issues/build/latency-wake-reds-on-the-dev-host-at-a-rate.md" }, + Disabled { + test: "log_ring_keeps_the_owners_slots", + issue: "issues/kernel/a-log-rings-owner-is-named-only-when-logd-reads-its-registration.md", + }, Disabled { test: "partition_claim_departure", issue: "issues/boot-media/partition-claim-departure-exits-clean-with-none-of-its-refusals-said.md", From a6fa8bc3ecd76bfa07129a11136197bfdc930d2d Mon Sep 17 00:00:00 2001 From: japabu Date: Mon, 28 Sep 2026 09:58:48 +0200 Subject: [PATCH 2/2] Review r2 fixes: name the log-ring owner, fold in the untested-mutations note, cut a scratchpad log name The disable's issue named no holder; it now reads "Owner: `toyos/src/log/region.rs`'s `Ring::push`; held by the orchestrator", matching the sibling expected-red issues' form. Its Exit line folds in the reviewer's finding that no test exercises the owner decision today: `let keep = 0;` in `Ring::push` or a deleted `ring.own(pid)` each pass every test in the tree, so the exit's test must turn both mutations red. Drops a scratchpad log name that resolves nowhere on main, a redundant date and a sentence the row and `status: expected-red` already say, in the issue and in the PR body. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01W6rME2DoqwjcYFStYHHY4j --- ...wner-is-named-only-when-logd-reads-its-registration.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/issues/kernel/a-log-rings-owner-is-named-only-when-logd-reads-its-registration.md b/issues/kernel/a-log-rings-owner-is-named-only-when-logd-reads-its-registration.md index 23ac7dbda9..c759e91b59 100644 --- a/issues/kernel/a-log-rings-owner-is-named-only-when-logd-reads-its-registration.md +++ b/issues/kernel/a-log-rings-owner-is-named-only-when-logd-reads-its-registration.md @@ -28,7 +28,7 @@ log_`, interleaved per round against `origin/main`'s kernel and tests: began; 0 of 5 after); - `origin/main`: 2 red of 13 (0 of 8 at 1ce71831, 2 of 5 at 16d2e645). Each red was this failure. The race is on `main`. -Also red on the orchestrator's Fast tier for PR #563 at `d6716fc7`, 2026-09-28: the same failure, `563r4-fast.log`. Disabled for this reason in `src/redlist.rs`. +Also red on the orchestrator's Fast tier for PR #563 at `d6716fc7`: the same failure. The fix belongs where the owner is decided: - init names the owner itself, after the spawn and before the frame. That @@ -38,3 +38,9 @@ The fix belongs where the owner is decided: **Exit**: a child writing before the ring's owner is named cannot take the slots the owner is kept, shown by a test that makes it write in that window. +No test today covers that owner decision in `Ring::push` +(`toyos/src/log/region.rs:202`) or logd's `ring.own(pid)` +(`userland/logd/src/origin.rs:176`); `let keep = 0;` there, or deleting +`ring.own(pid)`, passes every test in the tree, so the exit's test must turn +both mutations red. Owner: `toyos/src/log/region.rs`'s `Ring::push`; held by +the orchestrator.