Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Most obscure bug *ever*

Author: Heiner Marxen

Date: 14:38:16 10/24/02

Go up one level in this thread


On October 23, 2002 at 17:57:17, Robert Hyatt wrote:

>On October 23, 2002 at 15:25:04, Colin Frayn wrote:
[snip]
>>How annoying is that?  :)
>>Can anyone beat this story?

A friend of mine, some 20 years ago on a mainframe, had to search a bug,
which was very spurious.  It killed some batches run over the weekend.
In the end it turned out, that the system clock was read out unintended,
and the value was used in such a way, that the error would exhibit only
Sunday night, from 00:00 until 03:59.

He could not reproduce the problem until he extended his debugging sessions
into that time, and watched it come, and then go away again.
Imagine his mood all over the week since the last weekend.


>>Cheers,
>>Col
>
>
>You really need a function like Crafty's "Validate()".  It checks _everything_
>that is of
>interest, all the bitmaps, hash signatures, etc.  It has saved me a world of
>grief as anytime
>I see a spurious problem, I re-compile with -DDEBUG which calls that function
>anytime
>something interesting is updated, and it generally pinpoints the problem
>immediately...

In Chest I have it compiled in unconditionally, and activate it by a runtime
option from the command line.  That way I use the exact same executable
to search the error as the one that first exhibited the error, with no
chance of changed data or code alignment or whatever.
I do not remember the details any more, but I _had_ bugs which went away
when adding some additional diagnostic printf()s and recompiling.

And yes, it has saved me a _lot_ of otherwise hard to find errors.
The verification function, called before and after every move, was there
from the very start.

Cheers,
Heiner



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.