What steps will reproduce the problem?
1. Play a game with stockfish (other UCI engines should theoretically do the
same
thing if the moves are played quick enough) as the hint analyzer and make a few
quick moves
What is the expected output? What do you see instead?
Hints are not shown anymore.
Stockfish seems to be a comparatively reserved chess engine that takes likes
to take a few seconds and think before outputting a 'bestmove' command.
As a result, if a few quick moves are played and stockfish gets sent a
stop-position-go command set, and then another stop-position-go command set
before stockfish can reply with a 'bestmove' reply for the first
stop-position-go
command set, then afterwards stockfish will continue to send invalid analysis
lines that apply to the last board rather than the current board.
At the very end of the page at http://wbec-ridderkerk.nl/html/UCIProtocol.html
in the GUI <-> Engine communication example, it says:
// the engine has finished searching and is sending the bestmove command
// which is needed for every "go" command sent to tell the GUI
// that the engine is ready again
bestmove g1f3 ponder d8f6
The following summary/sampling taken from a PyChess Information Window
displaying
a stockfish analysis-mode log shows this happening. A quick exchange Nd4xc6
b7xc6
is done and stockfish gets sent a second stop-position-go before it can reply
with a
'bestmove' for the first one. Afterwards, stockfish's analysis gets stuck on
the last board rather than the current one:
20:29:53
------------------------------------------------------------
stop
position fen r1bqk2r/pppp1ppp/2N2n2/2b5/2P5/2N5/PP2PPPP/R1BQKB1R b KQkq - 0 6
go infinite
info currmove c3b5 currmovenumber 11
20:29:54
------------------------------------------------------------
info currmove d1d3 currmovenumber 15
stop
position fen r1bqk2r/p1pp1ppp/2p2n2/2b5/2P5/2N5/PP2PPPP/R1BQKB1R w KQkq - 0 7
go infinite
20:29:56
------------------------------------------------------------
bestmove d4c6 ponder b7c6
20:30:21
------------------------------------------------------------
info depth 15 score cp 28 time 25756 nodes 4001901 nps 155377 pv b7c6 e2e3 e8g8
f1e2 d7d5 e1g1 c8e6 a2a3 a7a5
d1a4 d8d6 c4d5 c6d5 c1d2 f8b8
info currmove d7c6 currmovenumber 2
Ignored (b7c6 e2e3 e8g8 f1e2 d7d5 e1g1 c8e6 a2a3 a7a5 d1a4 d8d6 c4d5 c6d5 c1d2
f8b8) from analyzer:
ParsingError('b7c6', 'Validation',
'r1bqk2r/p1pp1ppp/2p2n2/2b5/2P5/2N5/PP2PPPP/R1BQKB1R w KQkq - 0 7')
20:33:40
------------------------------------------------------------
info depth 19 score cp 0 time 224583 nodes 145461335 nps 647695 pv b7c6 g2g3
a7a5 f1g2 c8a6 b2b3 f6g4 c3e4 c5b4
c1d2 e8g8 e1g1 d8e7 d2g5 f7f6 g5f4 g4e5 f4e3 e5g4 e3f4
info currmove d7c6 currmovenumber 2
Ignored (b7c6 g2g3 a7a5 f1g2 c8a6 b2b3 f6g4 c3e4 c5b4 c1d2 e8g8 e1g1 d8e7 d2g5
f7f6 g5f4 g4e5 f4e3 e5g4 e3f4)
from analyzer: ParsingError('b7c6', 'Validation',
'r1bqk2r/p1pp1ppp/2p2n2/2b5/2P5/2N5/PP2PPPP/R1BQKB1R w KQkq -
0 7')
info nodes 145467012 nps 647106 time 224796 hashfull 1000
The patch is an ongoing work and part of the patch/work attached to issue 550.
Original issue reported on code.google.com by mattgatto on 5 Apr 2010 at 2:58
Original issue reported on code.google.com by
mattgatto
on 5 Apr 2010 at 2:58Attachments: