correct the record: the 2026-08-10 boot wedges were the USB-serial adapter hanging an unbounded overlapped write, NOT print-deadlock (confounded A/B, retracted); pod runbook gets the full COM1/FTDI diagnosis + remote minidump procedure
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
716e10e3fa
commit
9754fb1295
@@ -2121,9 +2121,11 @@ static unsigned long
|
||||
return token;
|
||||
}
|
||||
|
||||
// [rio] health printer (L4RIO.cpp): the serial path may only COUNT --
|
||||
// printing from it deadlocks against the PCSPAK RX thread -- so the report
|
||||
// rides this tick, which already streams [glassperf] safely every second.
|
||||
// [rio] health printer (L4RIO.cpp): the serial poll path only COUNTS (kept
|
||||
// I/O-free by design; the 2026-08-10 wedges once blamed on prints there were
|
||||
// really the USB-serial adapter hanging an unbounded overlapped write --
|
||||
// see PCSerialPacket::SendPacket); the report rides this tick, which
|
||||
// already streams [glassperf] every second.
|
||||
extern "C" void BTRioHealthReport();
|
||||
|
||||
void
|
||||
|
||||
@@ -1364,13 +1364,15 @@ Logical
|
||||
Word errors;
|
||||
|
||||
//
|
||||
// [rio] link-health TRACKING -- pure arithmetic, no I/O. ⚠ NEVER PRINT
|
||||
// FROM THIS PATH: the first version DEBUG_STREAMed here and deadlocked
|
||||
// the process against the PCSPAK RX thread within ~10 s of every
|
||||
// live-RIO boot (2026-08-10 ALPHA-MR: 0-CPU park after "RIO successfully
|
||||
// initialized", A/B-convicted by BT_RIO_LOG=0 booting clean). The
|
||||
// printer half is BTRioHealthReport() below, called from the glass tick
|
||||
// beside [glassperf] -- a proven-safe stream site.
|
||||
// [rio] link-health TRACKING -- pure arithmetic, no I/O here by design.
|
||||
// CORRECTED HISTORY (2026-08-10): the boot wedges first blamed on prints
|
||||
// from this path were actually the USB-serial adapter dropping its link
|
||||
// with a write in flight -- the unbounded GetOverlappedResult in
|
||||
// PCSerialPacket::SendPacket parked the game (minidump-proven; the
|
||||
// print-deadlock A/B was confounded by the adapter behaving that boot).
|
||||
// The count-here / print-from-the-glass-tick split stays anyway: it
|
||||
// keeps this hot polled path I/O-free and the printer at one known
|
||||
// stream site (BTRioHealthReport below, beside [glassperf]).
|
||||
//
|
||||
if (operational)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user