Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
status: open
kind: defect
opened: 2026-09-29
---

# `hda_client_stall` reads one resume on the T14 where its judge wants two

The T14 run of `wt/toyos-metaljudges` at `6737a442` reds the row with:

```
FAIL hda_client_stall: soundd resumed 0 time(s) — the second stream did not find a suspended daemon, so nothing here tests a resume:
```

The job itself exits 0 and prints `stalled 8 then 2 times, soundd survived`.
Its cause is not measured; whether the judge or soundd is wrong is open.

## Measured

The `testcases` boot's log, from the job's spawn to its end, in order:

```
{… 6.275 soundd} soundd: client 0 removed (closed)
[… 6.276 cpu6] spawn: /system/bin/test_rs_hda_client_stall pid=9 …
{… 6.276 soundd} soundd: wakes=662 … clients=0 …
{… 6.333 tid=1 soundd} soundd: opening stream: 44100Hz 2ch fmt=0
{… 6.333 soundd} soundd: client 0 connected (id=1)
{… 8.565 soundd} soundd: client 1 removed (closed)
{… 8.565 soundd} soundd: wakes=126 … clients=0 …
{… 8.585 soundd} soundd: suspended
{… 8.836 tid=1 soundd} soundd: opening stream: 44100Hz 2ch fmt=0
{… 8.836 soundd} soundd: client 0 connected (id=2)
{… 8.836 soundd} soundd: resumed
{… 9.755 soundd} soundd: wakes=480 … clients=0 …
{… 9.780 soundd} soundd: suspended
```

- The window `tests/common/audio.rs`'s `job_window` cut for two sessions ends
at the `8.565` stats line: the `clients=0` stats line at `6.276`, after the
spawn and before the first stream opens, is counted as the first session's
end. The printed window carries no `soundd: resumed`.
- Across the job's whole span the log carries one `soundd: resumed`, at the
second stream. The first stream opens with no `soundd: suspended` between
the previous client's removal at `6.275` and its open at `6.333`, so
`client_stall_on_metal`'s `resumes < 2` reds on that span too.

## Exit condition

`hda_client_stall` PASS on the orchestrator's T14 run of the head that lands
the fix, and this file is deleted.
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
status: open
kind: defect
opened: 2026-09-29
---

# `hda_tone` reads underruns on the T14 where its judge wants none

The T14 run of `wt/toyos-metaljudges` at `f5c80264f` reds the row with:

```
FAIL hda_tone: soundd filled 104 period(s) the tone client had not covered, on a client that keeps its ring full:
```

The job itself exits 0 and prints `tone done`. Its cause is not measured;
whether the judge or soundd is wrong is open.

The T14 run of `main` at `7e151819` reddened the row earlier, on `the
testcases's log carried no kernel output at all`.

## Measured

The `testcases` boot's log over the window the judge printed, selected lines in
order:

```
{… 3.021 tid=1 soundd} soundd: opening stream: 44100Hz 2ch fmt=0
{… 3.021 soundd} soundd: client 0 connected (id=0)
{… 3.021 soundd} soundd: resumed
{… 5.024 soundd} soundd: wakes=984 completions=689 submitted=697 underruns=0 drains=0 … clients=1 …
[… 6.252 cpu0 tid=1] exit: test_rs_audio_tone tid=1 code=0 cpu=12ms (after 48 like it suppressed)
{… 6.252 pid=8 test-runner} tone done
{… 6.252 test-runner} ===TEST_END test_rs_audio_tone exit=0===
{… 6.252 test-runner} ===TEST_START test_rs_hda_client_stall===
[… 6.253 cpu7] spawn: /system/bin/test_rs_hda_client_stall pid=9 …
{… 6.254 tid=1 soundd} soundd: opening stream: 44100Hz 2ch fmt=0
{… 6.254 soundd} soundd: client 1 connected (id=1)
{… 6.258 soundd} soundd: client 0 removed (closed)
{… 7.024 soundd} soundd: wakes=989 completions=688 submitted=688 underruns=39 drains=0 … clients=1 …
{… 8.412 soundd} soundd: client 1 removed (closed)
{… 8.418 soundd} soundd: wakes=741 completions=479 submitted=479 underruns=65 drains=0 … clients=0 …
```

The printed window carries three stats lines, with `underruns=0`, `underruns=39`
and `underruns=65`, which sum to the 104 the row names.

## Exit condition

`hda_tone` PASS on the orchestrator's T14 run of the head that lands the fix,
and this file is deleted.

This file was deleted.

3 changes: 1 addition & 2 deletions issues/build/a-metal-only-row-cannot-be-disabled.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,7 @@ row before any boot.

## Measured

`hda_tone` and `hda_client_stall` red on the T14 run of `main` at `7e151819`
(`issues/build/a-readbacks-kernel-records-never-count-as-kernel-output.md`).
`hda_tone` and `hda_client_stall` red on the T14 run of `main` at `7e151819`.
Only the code reading is verified: `check_redlist` tests `schedule.contains`, and
the metal branch filters `METAL` rows through the same `keep`. Running
`--known-red hda_tone` and `--list` against a tree with such a row is owed and
Expand Down

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
status: open
kind: tooling
opened: 2026-09-29
---

# `allocator_stress` expects a 16 GiB reservation to fail, which a machine with more memory grants

`test_oom_graceful` (`tests/toyos-rust-tests/src/bin/allocator_stress.rs`)
asserts `try_reserve(16 * 1024 * 1024 * 1024)` is refused as "way more than
available RAM". That is a guest's size, as the total-memory range beside it
was: the shared metal boot runs the same binary on the T14, which reports
`mem_total=16777216000` (main's T14 run at `7e151819`, boot `shared`), 384 MiB
short of the reservation. A machine with more than 16 GiB free grants it and
reds the test.

## Exit condition

The refused size derives from the total `sysinfo` reports rather than from a
constant.

This file was deleted.

This file was deleted.

This file was deleted.

Loading
Loading