[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [gnugo-devel] Jago and GNU Go

From: Dave Denholm
Subject: Re: [gnugo-devel] Jago and GNU Go
Date: 12 Jun 2002 17:59:57 +0100

Arend Bayer <address@hidden> writes:

> Rene Grothmann posted a link on rgg to a 9-stone game he played against
> GNU Go 3.2 (and that he won with 115 pts).
> (
> I wanted to look at that game a little, but a couple of issues turned
> up.

> * The game contained some duplicate moves, causing GNU Go to crash when
>   loading the .sgf-file (we already got a similar bug report and should of
>   course fix that). Rene looked at it and it turned out
>   that GNU Go submitted these moves twice via GMP (Jago had sent an OK
>   in between). I have attached a GMP log file generated by jago of a
>   9x9-match where GNU Go also sends a few moves twice, the first time at
>   lines 37/40.  Does anyone more familiar with GMP have an idea where to
>   start looking for the problem?

I think I did once understand the GMP protocol.

It designed for lossy modems, so it is quite reasonable for either end
to send a message twice if the ack. did not arrive in time.

However, there is a one bit sequence "number" which should allow the
recipient to distinguish a bogus resend (because the ack. got lost)
from a new message. Basically, sender toggles the bit for each new
message, and if recipient gets a message with the same bit as
the last one, it is a resend.

I think you forgot to attach the log.

Where did the log come from ? Was it from either jago or gnugo, or
from snooping the pipe ?

If it's jago's log, that only confirms that jago intended sending it,
not that it actually left its output buffers, traversed the connection
and arrived in user mode in gnugo. So the resend could legitimately
have been before gnugo sent the ack.

I can't remember what the ack messages use for the sequence bit.
Would be reasonable for it to be the one from the message it is
acknowledging, but I don't recall for sure.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]