Author: Robert Hyatt
Date: 13:21:21 02/05/98
Go up one level in this thread
On February 05, 1998 at 15:08:01, Bert Seifriz wrote: >As all know Crafty had a bumpy start at Komputer Kup II, due to a >(let us call it) bug in the opening book. But in my view the real >problem lies somewhere else: >Bob is by no means the only programmer who would start at a world >championship with a program which is 5 minutes old. I saw >it myself that programmers made 3 overnight changes during a >5 day tournament, when they would have definitely better taken >a 6 month old version which had proved bug free so far. > >And I saw Fedex overnight express delivery of opening books >during world championships which contained opening lines at the >end of which the program would have lost a QUEEN for nothing. >To make it short: it is certainly better taking a well tested >program to a championship than making changes until the last minute! >Bert I never do this. The "book trouble" in KKUP II was caused by the desire to release a static version of crafty and the opening books, so that all operators would use the same identical code, and anyone wanting to watch and confirm that nothing fishy was going on could also use the exact same chess engine and opening books. What went wrong was that I build crafty with gcc under linux. I then built the opening book with that code. I compiled (using DJGPP) a dos version of Crafty to test the book on, and all worked perfectly. Jason actually compiles the dos/windows versions using MSVC because DGJPP is not compatible with winboard. MSVC treats structures differently than gcc. My book position structure has 2 long long integers and one float. GCC calls that 20 bytes in sizeof(BOOK_POSITION). MSVC calls that 24. All this means is that a book created by the MSVC version can't be read properly by the gcc version and vice-versa. I'd never encountered this before, and don't really see how any amount of planning could have caught it. It was my mistake. But it wasn't caused by last minute changes. Everyone is still going to play using the same engine that we started with. I simply had jason use the MSVC version he had already compiled for the KUP, and create a book with that version. It works perfectly... No changes to the crafty source, no changes to the book pgn source either. Just an ugly incompatibility between the two compilers being used here... The version of "crafty" we are using has been running on several servers for a couple of weeks. It has played about 2,000 games on my machine alone, mostly against IM and GM players. So "crafty" was ok. It was something totally unexpected that caused the glitch. I *never* try to supply a binary book file due to things like big-endian/little-endian machine differences, but incorrectly assumed that since both compilers were made for the intel platform, they were equivalent. not the case at all, as I found out. I've also seen programmers madly modifying code at every ACM and WCCC event I have attended. I *never* do this. The likelihood of adding new bugs is much greater than the chance of correcting existing bugs...
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.