Files
BT411/scratchpad/night14/post157.py
T

50 lines
3.8 KiB
Python

import sys
sys.path.insert(0, r"C:\git\bt411\scratchpad\night7")
import gitea
body = (
"**VERDICT: not a crash. No process on any of the four staged machines crashed that night.** "
"The original framing of this ticket (mine: 'a crash at teardown') was wrong -- full forensics below.\n\n"
"**1. The ~23:59 event (Oracle: 'Conn Man crashed when drop ended').** Drop 2 was the 20:00 drop, "
"GO 23:41:03, clock expiry 00:01:33 -- santo's own log shows the mission running to term and the "
"teardown byte-for-byte identical to the other three machines (lamp sweep, SVGA16 dtor stats, "
"'RunMissions returned', menu relaunch). The peers' logs show his mech (5:21) alive and taking "
"zone-effect hits into the final seconds. His auto-relaunched menu booted at 00:01:33, the same "
"second as dave's and michael's, auto-brought the lobby back, and he played drops 3 AND 4 to the "
"end of the night. There is no crash, disconnect, or even a steamnet retry anywhere in his block.\n\n"
"**2. The 'Did not exit cleanly' / lastrun evidence.** The staged lastrun_steam.txt stops at the "
"00:01:33 generation while the log continues to 00:31 -- the file was captured (or opened by an "
"app holding a write lock) at ~00:02-00:09, i.e. santo was live-troubleshooting AT the drop-2 "
"boundary; later generations' appends silently no-op once the open fails. And the phrase itself "
"is our bat's sign-off talking: play_steam.bat prints 'The game has exited. If it closed "
"unexpectedly, send the operator BOTH...' after ANY end of the process chain, including a normal "
"quit. Santo did exactly what the console told him to.\n\n"
"**3. What he actually experienced: the authentic arcade round-end.** At clock expiry the mission "
"process EXITS and relaunches the menu (the 1995 pod rebooted to attract mode between rounds). "
"On a desktop, a fullscreen game vanishing to desktop at an unexpected moment reads as a crash -- "
"and santo was the newest arrival (23:35), so drop 2 was his first natural full-drop boundary of "
"the night; the veterans had each seen 3-7 of them. A likely aggravator: the relaunched menu can "
"open WITHOUT foreground (Windows denies SetForegroundWindow to a process spawned from a dying "
"background parent -- the fe calls it, but the OS may refuse; needs a local repro to confirm) "
"[T3], so his screen may genuinely have shown bare desktop until he found the window.\n\n"
"**4. The 00:31 'crash' (the last log lines).** All FOUR machines end the night with an identical "
"4-line menu stub at 00:31:2x. The steam lobby is click-driven (steamAction, btl4fe.cpp) and a "
"menu closed without any click logs exactly 4 boot lines and exits 0 -- that is four players "
"closing the between-rounds menu at bedtime, synchronized because the last drop's clock expired "
"at 00:31. The crash filter (armed before the first log line, writes a [crash] block + stack on "
"any unhandled exception) printed nothing on any machine all night.\n\n"
"**Proposed dispositions** (operator's call):\n"
"- Make the quit paths self-documenting: append 'menu closed by player -- clean exit' to "
"lastrun_<stem>.txt on the menu-quit path, so the file itself answers 'crash or quit?' next time.\n"
"- Grant foreground across the relaunch (AllowSetForegroundWindow on the child before "
"ExitProcess) so the menu reliably lands in front at round end.\n"
"- A round-end bridge ('MISSION COMPLETE -- returning to menu') -- same complaint family as #156 "
"(missing fade-to-black), which makes the cut feel even more abrupt.\n"
"- Split the OTHER half of this ticket ('lagging + missiles hitting empty space') into its own "
"issue -- that one is real, separate, and worth chasing with the same logs.\n\n"
"Leaving open for the disposition decision; there is nothing to fix on the 'crash' itself."
)
gitea.comment(157, body)
print("posted 157")