Silence routine diagnostic noise; fix a real CRLF double-submit bug
Two separate fixes, found and closed together after task 3.9/prompt-
format landed (Captain Bob: "finish the work first then we'll do
cleanup before 3.10 begins").
1. Logging noise (confirmed live via QMP screendump): three sources
were cluttering ordinary interactive console sessions.
- INFERENCE "Output validation failed, ignoring results"
(vm_runtime.c, kernel; vm_time.c, hosted mirror) and xhci "CSW
status = FAILED"/"unit not ready -- retrying" (xhci.c) were
already log_message(LOG_WARN/LOG_ERROR, ...) calls, just visible
at the default runtime LOG_WARN level -- downgraded to LOG_INFO,
all three fire routinely and self-resolve (xhci.c's own existing
comment already documents the retry as expected SCSI UNIT
ATTENTION behavior, not a driver defect).
- Stadium: dispatch cell=... (stadium.c's stadium_dispatch()) was a
genuine defect: an unconditional console_puts()/console_println()
sequence with no level gating at all, printing on every single
dispatch. Rewritten through log_message(LOG_DEBUG, ...).
2. CRLF double-submit (found while investigating why the cleaned-up
noise still didn't look like a normal single-VM session):
sk_console_readline() (repl.c) breaks on '\r' OR '\n' as independent
terminators, so a line sent as both bytes submits twice -- the real
line, then an immediate empty-line submit on the second byte, each
printing its own " ok". Pre-dates Stage D entirely, not an async-
relay artifact. Fixed with a single non-blocking peek-and-discard
for the paired byte right where the line terminates.
Verified live on all three architectures for both fixes: zero UNKNOWN
WORD, dict_hash identical to every prior acceptance run in this
document (both changes are display/interaction-only).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
5c07745c18
commit
d4f8a568ee
+7
-1
@@ -674,7 +674,13 @@ void vm_tick_inference_engine(VM* vm)
|
||||
/* 3. Validate outputs */
|
||||
if (!inference_outputs_validate(vm->last_inference_outputs))
|
||||
{
|
||||
log_message(LOG_WARN,
|
||||
/* 2026-09-22: downgraded from LOG_WARN, matching the kernel
|
||||
* copy of this logic (src/starkernel/vm/vm_runtime.c) --
|
||||
* fires routinely during normal operation and the runtime
|
||||
* self-recovers every time (the whole point of "ignoring
|
||||
* results"), so it does not warrant default-visible
|
||||
* attention. Still available with --log-level=info/debug. */
|
||||
log_message(LOG_INFO,
|
||||
"INFERENCE: Output validation failed, ignoring results");
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user