50 lines
3.8 KiB
Python
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")
|