by H.G.Muller » 21 Mar 2012, 09:20
The 0-1 is for the next game (with no moves yet). In Zippy mode XBoard always starts a new game as soon as the old one finishes. The result of the GNU Chess game (1-0) was properly sent to Arasan before. (That makes you wonder why the crash is adjudicated as 0-1, as it is at this point not clear which color the engine will play. So XBoard is neither in the mode IcsPlayingWhite or IcsPlayingBlack, but just at BeginningOfGame. Games without moves are never saved, however, so this is a moot point.)
Obviously no commands can be send to a dead process at all, and XBoard doesn't really attempt that, as the detection of the crash (by an EOF on the input thread for the engine) that triggered GameEnds has already closed down the output channel (to prevent recursion of errors producing an avalanche of error popups). The commands normally sent in the process of terminating a game by GameEnds still go into the debug file, though. Apparently the testing if the output is still open is done after the write to the debug file.
I don't consider this harmful in any way. It can in fact be helpful to diagnose problems in XBoard caused by the engine crash. Which is the primary purpose of the debug file in the first place.