Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: The timed-out Crafty - Ban game

Author: Robert Hyatt

Date: 06:55:45 11/06/99

Go up one level in this thread


On November 06, 1999 at 00:52:32, Bruce Moreland wrote:

>On November 06, 1999 at 00:16:20, Robert Hyatt wrote:
>
>>If you only knew 1/2 as much as you _think_ you know.  I could easily post
>>the end of the log file so you could see why it hung, but that isn't the
>>point.
>
>You have the log for that game?  Why did it hang?
>
>bruce


I have three 'modes' in EGTB endings:

(1)  if the position is a mate, I stop the search quickly once I find a move
that mates at least one move sooner than the move from the last real move played
in the game.  Pretty normal.

(2)  if the position is "mated" it used to do a 60 ply search every time,
even though it is forced.  This produced great big log files, and was _not_
what I had intended.  But it was the way it worked.

(3) swindle mode where if the side on move is ahead, it will search to avoid
making stupid moves that draw, even though the root position is drawn.

The bug had to do with mode (3), and problem (2).  I fixed (2) but managed to
screw up swindle mode, so that in rare cases, the search would stop in a way
that crafty thought meant that it was time to read in a move, but the move had
been read already.  So it just stopped, and did a read().  And nothing was
coming in as the move was already read.  It hung again, but I was watching,
killed it, and found the problem.  Vs "ban" I wasn't on at the time and didn't
see it.

That is why I run with the -reuseChessProgram false as it is possible for this
kind of bug to hang it permanently.  With the reuse option as above, when a game
ends, xboard actually 'kills' the process and starts a brand new one.  Which
kills the hung engine and starts Crafty again.


It was a 'simple fix' that didn't quite work as this code is way too complex
now, with "swindle mode" plus the mode "I don't have all the promotion
databases, but I do have the "p" database, so don't screw it up..."  This plus
the ability to find a move to ponder by searching for the other side (puzzle
mode) leaves a lot of potential for breaking something, since timing can be
critical when reading moves, aborting the search, etc...



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.