From 0693ff178e90766a802d9409499a7ea79ecbe0d2 Mon Sep 17 00:00:00 2001 From: Marco Costalba Date: Sun, 2 Jan 2011 11:21:37 +0100 Subject: [PATCH 1/1] Fix old Glaurung bug related to search logging When we log best and ponder move to a file before to return from think we change the position. If position is then not resended by GUI, as for manual user input we got an error: justinb@malibu:~$ stockfish Stockfish 2.0 JA 64bit by Tord Romstad, Marco Costalba, Joona Kiiski setoption name Use Search Log value true go depth 1 info depth 1 info depth 1 seldepth 1 multipv 1 score cp 72 time 59 nodes 20 nps 338 pv g1f3 info depth 2 info depth 2 seldepth 2 multipv 1 score cp 12 time 59 nodes 44 nps 745 pv g1f3 g8f6 info nodes 84 nps 1423 time 59 bestmove g1f3 ponder g8f6 go depth 1 info depth 1 score mate 0 info nodes 87 nps 0 time 0 bestmove (none) ponder (none) Bug spotted and fixed by UncombedCoconut. No functional change. Signed-off-by: Marco Costalba --- src/search.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/search.cpp b/src/search.cpp index d93fbdf7..0e249705 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -513,6 +513,9 @@ bool think(Position& pos, bool infinite, bool ponder, int time[], int increment[ << move_to_san(pos, ponderMove) // Works also with MOVE_NONE << endl; + // Return from think() with unchanged position + pos.undo_move(bestMove); + LogFile.close(); } -- 2.39.2