Repository navigation
issues: close the load-only records whose tests are deleted - #1171
Conversation
Review of #1171 at
|
Intermittent records that name a deleted test are gone through. Eleven of them were seen only on a loaded host and have no defect a remaining test can reach. They are closed, each for this reason: - a-netcase-boot-under-host-load-said-nothing-past-the-firmwares-screen-clears: netstack_socket_churn is gone. A boot that fell silent under load, with no mechanism found. - a-shared-boot-stopped-answering-and-no-capture-says-why: port_poll_churn and the 12-wide TCG shared tier are gone, and the stop was never seen again. - consent-prompts-click-on-an-open-launchers-row-made-no-launch: consent_prompt is gone. Seen once, at host load 34 to 47. - consent-prompts-skip-lost-its-prompt-and-the-hostile-window-at-host-load-100: consent_prompt is gone. Seen once, at host load 100. - log-reserve-window-negative-times-out-beside-other-guests: the test is gone. A boot timeout beside other guests. - metal-job-reboot-drained-no-kernel-output-beside-other-guests: the test is gone. Red on main and branch alike, every run beside other worktrees' load. - smp-ap-hole-and-log-reserve-window-red-under-a-loaded-host: both tests are gone. One WouldBlock while two other suites shared the host. - stdio-buffering-saw-one-long-line-arrive-as-two: 90_stdio_buffering is gone. One split line beside other guests. - syscall-window-nmi-shortfalls-on-a-contended-host: syscall_window_nmi is gone. A sampling shortfall on a contended host. - the-console-loses-typed-keystrokes-under-host-load: screen_console_scroll is gone. Its mechanism, keys typed through QMP lost under host load, is tracked in a-command-typed-through-qmp-arrives-truncated-under-host-load. - a-syscall-panic-reset-the-guest-announced-and-qemu-never-saw: syscall_panic_halts is gone with the reset_now path it drove. Red once, at a 2.96x liveness width on a loaded host, and nothing measured reproduces it. Metal has no QEMU SHUTDOWN event, so no planned test could retire it. Records that cited these files now carry what they took from them: parallel-tests-red-under-other-suites, guest-tests-a-loaded-host-can-turn-red, two-amdvi-boots-in-a-kvm-suite-wrote-not-one-byte, two-processes-started-at-an-entry-point-nothing-had-mapped (with the commits that deleted log_reserve_window), and one doc line in tests/toyos.rs. Records of real defects that no remaining test reaches stay open, and say which commit deleted their test: so-cache-refusals-saw-the-kernel-refuse- nothing-once (4505f87) and a-double-panic-at-boots-edge-says-nothing-but- its-name (ad6dc07). The double panic's owner is whoever holds the K4 stage of the-kernel-still-creates-threads, open as #1165, and its reproduction recipe goes with its test. a-holders-queued-line-can-reach-the-console-after-the-last-word cites that stage by path, quotes what it states and names that track's holder as owner. libc-childrens-tty-interrupt-can-stall-at-the-nested-shells-line gains its 2026-11-04 sighting at the nightly's shape, with #1166's evidence. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Orchestrator verification of
The suggestions were taken, including the amdvi line wrap. Every r0 blocker is resolved. |
…rland driver's The small-kernel track's K4 and K6, by the owner's ruling that the kernel creates no thread but each CPU's idle loop. `klogd`, the one kernel thread, was the console's writer. It is gone, and so is every provision kernel threads had: `sched/kthread.rs` and its row table, `is_kernel_task` and `current_is_kernel_thread`, quiesce's exemption, the scheduler's zero baseline, `kernel_start`, `Start::Kernel`, a kernel stack without a user area, `Runs::Kernel`, the kernel address space object with its reserved PCID and ASID, `ElfInfo::none` and an `Option` on every task's image. The console UART - The kernel writes the UART only where no process can: inline as each record commits until `log::console::hand_over`, before userland runs; from the machine's stop, once userland is stopped; and on every fatal path. - Between them it is `/system/bin/uart`'s, which holds a `uart` claim (a new device class: COM1's ports and IRQ 4 on x86, as an `isa` row; the SPCR's PL011 frame and its level SPI on AArch64, which needed SPI routing to a row) and carries the log `logkeeper` feeds it on `log-wire`, as the virtio console's driver carries it on `log-carrier`: one carrier serving in logkeeper, two channels. The UART is quiet while the port carries, says so on itself, and is fed again when the port goes, stalls or the machine stops. - The kernel and logkeeper share one word: the newest stamp the console has spoken (`SYS_LOG_SPOKEN`, which replaces `SYS_CONSOLE_CARRIED`). The inline drain sets it; logkeeper advances it as a channel delivers whole rounds. The UART's driver starts after it, so the UART carries the boot once; the stop and a fatal path put every record after it on the UART. - The kernel's console object is gone with its queue: the supervisor makes the console's input a pipe, whose read end is every program's stdin and whose write end the UART's driver writes what the UART receives into. Its read waits on the pipe's readiness, not a 10 ms repoll. - Without a thread to post it, the log's readiness is owed by `emit` and posted at the next syscall's end or scheduler pass. Thread lifecycle - `SYS_YIELD`, and std's `yield_now` on it. - A detached thread's place goes as it ends (`proclife::leave_detached`), and `SYS_THREAD_EXIT`'s detached form releases its stack once the thread no longer runs on it; std's and libc's `REAPED` lists are gone. Deleted with the thread: `log/handoff.rs`, `kernel::carrier`, the sleep lock (its one user was `klogd`), the wire-holding actuators and their tests, the loom models of the handoff, the log waiter and the sleep lock, and their negative controls. Rebased onto main 2c2f957: #1171 added an owner and a citation of K4 (this change, then #1165) to issues/a-holders-queued-line-can-reach-the-console-after-the-last-word.md, which this change deletes. The record stays deleted: the kernel's holders' queue and klogd's drain it describes are gone, so no holder's queued line exists to follow the last word; the residual it named, a holder the stop did not stop, is the stop's shortfall, which its record reports by name. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Problem
Intermittent records named tests that have since been deleted. A record whose only reproduction is gone, and that was seen only on a loaded host, tracks nothing; others still describe a real defect but point at a test that no longer exists.
Change
Records only, plus one doc line in
tests/toyos.rsthat cited a closed record.a-netcase-boot-under-host-load-…,a-shared-boot-stopped-answering-…, bothconsent-prompts-…,log-reserve-window-negative-…,metal-job-reboot-drained-…,smp-ap-hole-and-log-reserve-window-…,stdio-buffering-saw-one-long-line-…,syscall-window-nmi-shortfalls-…,the-console-loses-typed-keystrokes-under-host-load(its mechanism stays tracked ina-command-typed-through-qmp-arrives-truncated-under-host-load), anda-syscall-panic-reset-the-guest-announced-and-qemu-never-saw(red once on a loaded host, itsreset_nowpath gone, nothing reproduces it, and metal has no QEMU reset event to retire it).parallel-tests-red-under-other-suites,guest-tests-a-loaded-host-can-turn-red,two-amdvi-boots-in-a-kvm-suite-wrote-not-one-byte,two-processes-started-at-an-entry-point-nothing-had-mapped.so-cache-refusals-…(4505f872d) anda-double-panic-at-boots-edge-…(ad6dc0781). The double panic's owner is whoever holds the K4 stage ofissues/the-kernel-still-creates-threads.md, open as kernel: no kernel thread but the idle loop; the console UART is a userland driver's (K4, K6) #1165, and its stale reproduction recipe goes.a-holders-queued-line-can-reach-the-console-after-the-last-wordcites that K4 stage by path, says only what K4 states (klogd goes, the console moves to logd, one wire's driver stays in the kernel), notes kernel: no kernel thread but the idle loop; the console UART is a userland driver's (K4, K6) #1165, and names the track's holder as its owner.libc-childrens-tty-interrupt-can-stall-at-the-nested-shells-linegains its 2026-11-04 sighting at the nightly's shape (tests: a guest runs only where the host has a CPU for each of its vCPUs #1166's head arm, 207 s): it did not wait for host CPUs; host load was not recorded; with tests: a guest runs only where the host has a CPU for each of its vCPUs #1166's evidence link.Checks
No build: records plus one
///line on a test function.git grepfor each deleted record's slug at the head finds nothing.🤖 Generated with Claude Code