[Top][All Lists]

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

Re: [gnugo-devel] Replacement patterns

From: Trevor Morris
Subject: Re: [gnugo-devel] Replacement patterns
Date: Tue, 02 Apr 2002 14:10:57 -0500

At 08:39 AM 4/2/2002 -0800, address@hidden wrote:

>I got a crash in a game which I tracked down to a pattern that was
>not written as intended. It is now fixed in the CVS by the patch
>at the end of this message.
>The actual crash was caused by this assertion in add_replacement_moves:
>  /* First check for an incompatible redistribution rule. */
>  if (replacement_map[from] != NO_MOVE) {
>    int dd = replacement_map[from];
>    /* Crash if the old rule isn't compatible with the new one. */
>    ASSERT1(dd == to || to == replacement_map[dd], from);
>    /* There already is a compatible redistribution in effect so we
>     * have nothing more to do.
>     */
>    return;
>  }
>This seems rather dangerous to me. For this to be correct
>we need to know that no two patterns can propose different
>replacements. It is difficult to verify this.
>Perhaps we should leave this in for now but when we've finished
>stress testing by playing about 1000 games we should take it
>out and not have this assertion in GNU Go 3.2.

Perhaps this would be a good reason to implement GG_FULL_ASSERT?


reply via email to

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