It'd be nice if the client could report a useful error messages with details on how to find the game that caused a crash when the engine crashes.
Example from an older client:
05:48:23 C->E genmove b
error writing "file7": broken pipe
while executing
"puts $ch $msg"
(procedure "eCmd" line 5)
invoked from within
"eCmd $inout "genmove $col""
("genmove" arm line 9)
invoked from within
"switch -exact $cmd {
info {
# informational mssage from CGOS only
# -----------------------------------
log [string range $s 5..."
("while" body line 22)
invoked from within
"while {1} {
set err [catch {set sock [socket $server $port]} msg]
if { $err } {
log "Server startup return code: $err msg: $msg"
log "Ca..."
(file "/home/jhouse/housebot/0.6/cgos/lib/app-cgos3/cgos3.tcl" line 184)
invoked from within
"source /home/jhouse/housebot/0.6/cgos/lib/app-cgos3/cgos3.tcl"
("package ifneeded" script)
invoked from within
"package require app-cgos3"
(file "/home/jhouse/housebot/0.6/cgos/main.tcl" line 4)
Logged In: YES
user_id=1945927
Originator: NO
This one is easy - the game id is sent by the server with the startup command, so the client always knows which game number is being played. In fact, it's already in the log file, just not near the error message.
example:
13:05:32 S->C setup 234156 9 7.5 300000 ControlBoy(1508) FooBar-0.06(1400?)
In the example from log file 234156 is the game number. We can make it display this on crash too.