Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Problems with winboard protocol (Crafty 17.10 vs Yace)

Author: Robert Hyatt

Date: 11:45:03 06/10/00

Go up one level in this thread


On June 10, 2000 at 11:54:56, Dieter Buerssner wrote:

>I sent a similar message to the winboard forum, and it was suggested
>to ask here.
>
>I do have some problems with the winboard protocol.
>Sometimes, Crafty 17.10 and Yace get out of sync after Crafty
>lost a game. Until now, I deal with the commands received by
>winboard in a strong serializing manner. But that doesn't seem
>to be enough. When crafty resigns, it gives a move and then resigns.
>I receive the move and answer with my move. Then I receive the
>result command (which I ignore) and then the setup commands
>for the new game. Crafty receives my answer move, after
>it has already setup it's new game. So, they sometimes get out of
>sync. I append two examples in the debug log, in one the programs
>get in sync again, in the other they don't. If you find this post
>too long, you may want to look at the bottom and at my question
>at the top.
>
>If Crafty would just resign, without giving a move back,
>no problems would arise.
>
>So, my question: any suggestions, how to deal with this situation?

There are multiple timing issues in the winboard protocol.  The real problem
is that winboard is not a "referee" it is a "facilitator".  IE it doesn't end
games, or anything...  it depends on the engines to tell it what is going on,
which can cause a problem here and there.




>
>And a very stupid question as well. Crafty says result 1/2-1/2
>{Draw by 3-fold repetition} after it made a move. Somehow I
>had the feeling, that you have to say this, when it's your
>turn, and not when you just moved.

there is no specification concerning this.  Crafty sends the "result"
command when it notices that the game has ended due to checkmate or
draw for some reason...

I follow the idea that you first make the move, and then claim the draw or
whatever.




>
>Best wishes,
>Dieter
>
>(The more interesting example is at the bottom.)
>Commented snippets of winboard debug log, crafty is first:
>
>9030410 [I everywhere see interrupting second, but no interrupting first, why?]
>Interrupting second
>9030410 >second: time 135495
>otim 76000
>[I receive Crafty's move, which I "handle"]
>9030410 >second: e4d3
>9030580 [And now, it resigns]
>9030580 9030580 >first : result 1-0 {Black resigns}
>Interrupting second
>[I receive the result later]
>9030580 >second: result 1-0 {Black resigns}
>9030580 >first : force
>9030580 >second: force
>[My posting]
>9030580 [...]
>9036460 [Setup new game for Crafty]
>9040580 >first : new [...]
>[Setup new game for Yace]
>9040630 >second: log black.log
>new [...]
>9040630 >first : black
>9040630 >first : time 360000
>otim 360000
>9040630 >first : white
>9040630 >first : go
>[..., Crafty sends the first move]
>9041510 9041510 >second: time 360000
>otim 360000
>9041510 >second: f2f4
>9041510 >second: black
>9041510 >second: go
>[I am still thinking about an answer for the move in the last game]
>9058370 [...]
>9060570 9060570 >first : time 360000
>otim 358100
>9060570 >first : b5a5
>9060570 9060570 [Crafty of course doesn't like my answer]
>9060620 [now, I deal with new, etc. ... and give my answer. Everything in sync
>again]
>9060840 And the second example, where the programs get out of sync.
>
>15407040 Interrupting second
>15407040 >second: time 51096
>otim 32296
>15407040 >second: d2c2
>[I am searching]
>15407210 15407210 15407210 15407210 >first : result 0-1 {White resigns}
>Interrupting second
>15407210 >second: result 0-1 {White resigns}
>15407210 >first : force
>15407210 >second: force
>[Still searching]
>15407370 [...]
>15417260 >first : new
>[...]
>15417480 >second: log black.log
>new [...]
>15417480 >second: white
>15417480 >second: go
>15417700 [..., telling my answer to crafty's last move]
>15419840 15419840 >first : time 360000
>otim 359797
>15419840 >first : g5g2
>15419840 >first : black
>15419840 >first : go
>15419900 15419900 [Crafty complains]
>15419900 [Yace setting up new game, and reporting first move]
>15420230 15420230 >first : time 359967
>otim 359791
>15420230 >first : e2e4
>15420390 [... Crafty's answer]
>15511290 Interrupting second
>15511290 >second: time 359791
>otim 350899
>[... Yace's second move, after this only the line length is truncated
>no other snips]
>15511570 15511570 >first : time 350899
>otim 359709
>15511570 >first : g1f3
>15511790 [lines are actuall longer]
>15515250 15517390 15520080 15526560 15542880 15570780 15599720 [Huch? 1. e4 e5
>2. Nf3 e4!!!!]
>Interrupting second
>15599720 >second: time 359709
>otim 342094
>15599720 >second: e5e4
>15599830 [line break inserted]
>invalid move (illegal move): e5e4



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.