fix(repl): the bring-up build's prompt waits for a line instead of answering itself without end
Built with EMERGENCY_CONSOLE_ENABLED=1 and booted with no identity logged
in, the prompt printed "ok> ok" without end, 1.4 million times in 200
seconds (logs/20261013-210442). sk_console_readline() gave up at once
whenever no identity was present. The production build answers that by
going silent until a login; the bring-up build, which needs no login,
took it as an empty line and asked again. The give-up is now the
production build's only.
Found rehearsing boards/BRINGUP.md; it predates the console change of
c9519173 (the image built from the commit before that did the same).
The riscv64 bring-up build, no thumbdrive, three lines typed
(logs/20261013-235129): one prompt that waits, and 3, 56 and 81.
Acceptance of the production build, one QEMU at a time: amd64
(-235255), aarch64 (-235411), riscv64 (-235620) to the zuse prompt, no
unknown word, hash 0x08873e0f44b7cb2a on all three.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
c95191736e
commit
9772ee8b68
+8
-9
@@ -71,22 +71,21 @@ port, `kernel/src/arch/armv7` (entry, MMU, GIC, private timer); and the four fil
|
||||
`__int128` or have no ARMv7 branch (`boards/zynq7020/README.md` names them). It is the host for
|
||||
the v4 mesh, so it also waits on A6.
|
||||
|
||||
### 1.6 Found in rehearsal, 2026-10-13: the bring-up build floods its prompt
|
||||
### 1.6 Found in rehearsal, and fixed, 2026-10-13: the bring-up build flooded its prompt
|
||||
|
||||
Built with `EMERGENCY_CONSOLE_ENABLED=1` and booted with nothing typed, the Mars image prints
|
||||
`ok> ok` without end: 1.4 million times in 200 seconds, through U-Boot in QEMU. Under the
|
||||
usual QEMU firmware the first prompt waits, a typed line is answered, and then the same flood
|
||||
begins. The image built from the commit before the console change does the same, so it is
|
||||
not the serial line. **Not found yet, and it blocks a usable prompt on every board's bring-up
|
||||
build.** The production build, which waits for a login, does not show it: the three-ISA
|
||||
acceptance boots reach one `zuse@Hera` prompt and stop there.
|
||||
Built with `EMERGENCY_CONSOLE_ENABLED=1` and booted with no thumbdrive, the prompt printed
|
||||
`ok> ok` without end: 1.4 million times in 200 seconds. The line reader
|
||||
(`kernel/src/repl.c`, `sk_console_readline()`) gave up at once whenever no identity was logged
|
||||
in, which the production build answers by going silent; the bring-up build took it as an
|
||||
empty line and asked again. It now gives up only in the production build. Rehearsed on
|
||||
riscv64 (`logs/20261013-235129`): one prompt, which waits, and three typed lines answered.
|
||||
|
||||
### 1.7 What I would close before the bench day
|
||||
|
||||
In this order, each as a design for approval first:
|
||||
|
||||
1. ~~R1 and M1: a console that finds its UART from the devicetree, and does nothing when
|
||||
there is none.~~ Done 2026-10-13. Then 1.6, the flood.
|
||||
there is none.~~ Done 2026-10-13, and 1.6, the flood.
|
||||
2. A6: the v4 switch in the board images. The v4 node needs only a console to reach a prompt;
|
||||
it has no login, no fleet and no disk to wait for, so it is the shorter road to a first
|
||||
prompt on each board.
|
||||
|
||||
Reference in New Issue
Block a user