Subject says it all. Crafty just crashes suddenly when a new move comes in for analysis (I'm observing a World Cup game). Has anyone else observed something similar? I realize that's vague and can provide more details if prompted...
Thanks
Jeremy
Crafty 23.1 (JA) crashing when used for analysis ICCDasher
Moderator: Ras
-
- Posts: 588
- Joined: Sun Nov 23, 2008 11:16 pm
- Location: Berlin, Germany
-
- Posts: 2290
- Joined: Fri Jul 14, 2006 7:56 am
- Location: London, England
- Full name: Jim Ablett
Re: Crafty 23.1 (JA) crashing when used for analysis ICCDash
Hi Jeremy,sockmonkey wrote:Subject says it all. Crafty just crashes suddenly when a new move comes in for analysis (I'm observing a World Cup game). Has anyone else observed something similar? I realize that's vague and can provide more details if prompted...
Thanks
Jeremy
I've found the problem. Analysis function in latest Crafty does not initialize and reset position
before each new call to analyze() and after it has exited. This what causing problems in Dasher
and to a lesser extent in Arena where clicking on analyze button fails to make Crafty respond.
Here's my fix that corrects the problem (I'm sure Bob Hyatt will have a more elegant solution

Code: Select all
#include "chess.h"
#include "data.h"
/* last modified 01/18/09 */
/*
*******************************************************************************
* *
* Analyze() is used to handle the "analyze" command. This mode basically *
* puts Crafty into a "permanent pondering" state, where it reads a move from*
* the input stream, and then "ponders" for the opposite side. Whenever a *
* move is entered, Crafty reads this move, updates the game board, and then *
* starts "pondering" for the other side. *
* *
* The purpose of this mode is to force Crafty to follow along in a game, *
* providing analysis continually for the side on move until a move is *
* entered, advancing the game to the next position. *
* *
*******************************************************************************
*/
void Analyze() {
int i, move, back_number, readstat = 1;
TREE *const tree = block[0];
/*
************************************************************
* *
* Initialize. *
* *
************************************************************
*/
int save_swindle_mode = swindle_mode;
Initialize(); // < add this - JA
SetBoard(tree, nargs, args, 1); // < add this - JA
swindle_mode = 0;
ponder_move = 0;
analyze_mode = 1;
if (!xboard)
display_options |= 1 + 2 + 4;
printf("Analyze Mode: type "exit" to terminate.\n");
/*
************************************************************
* *
* Now loop waiting on input, searching the current *
* position continually until a move comes in. *
* *
************************************************************
*/
do {
do {
last_pv.pathd = 0;
last_pv.pathl = 0;
input_status = 0;
pondering = 1;
tree->position[1] = tree->position[0];
(void) Iterate(wtm, think, 0);
pondering = 0;
if (book_move)
moves_out_of_book = 0;
if (!xboard) {
if (wtm)
printf("analyze.White(%d): ", move_number);
else
printf("analyze.Black(%d): ", move_number);
fflush(stdout);
}
/*
************************************************************
* *
* If we get back to here, something has been typed in and *
* is in the command buffer normally, unless the search *
* terminated naturally due to finding a mate or reaching *
* the max depth allowable. *
* *
************************************************************
*/
if (!input_status)
do {
readstat = Read(1, buffer);
if (readstat < 0)
break;
nargs = ReadParse(buffer, args, " ;");
Print(128, "%s\n", buffer);
if (strstr(args[0], "timeleft") && !xboard) {
if (wtm)
printf("analyze.White(%d): ", move_number);
else
printf("analyze.Black(%d): ", move_number);
fflush(stdout);
}
} while (strstr(args[0], "timeleft"));
else
nargs = ReadParse(buffer, args, " ;");
if (readstat < 0)
break;
move = 0;
if (!strcmp(args[0], "exit"))
Initialize(); // < add this - JA
SetBoard(tree, nargs, args, 1); // < add this - JA
break;
/*
************************************************************
* *
* First, check for the special analyze command "back n" *
* and handle it if present, otherwise try Option() to see *
* if it recognizes the input as a command. *
* *
************************************************************
*/
if (OptionMatch("back", args[0])) {
if (nargs > 1)
back_number = atoi(args[1]);
else
back_number = 1;
for (i = 0; i < back_number; i++) {
wtm = Flip(wtm);
if (Flip(wtm))
move_number--;
}
if (move_number == 0) {
move_number = 1;
wtm = 1;
}
sprintf(buffer, "reset %d", move_number);
(void) Option(tree);
display = tree->pos;
} else if (Option(tree)) {
display = tree->pos;
}
/*
************************************************************
* *
* If InputMove() can recognize this as a move, make it, *
* swap sides, and return to the top of the loop to call *
* search from this new position. *
* *
************************************************************
*/
else if ((move = InputMove(tree, buffer, 0, wtm, 1, 0))) {
char *outmove = OutputMove(tree, move, 0, wtm);
if (history_file) {
fseek(history_file, ((move_number - 1) * 2 + 1 - wtm) * 10,
SEEK_SET);
fprintf(history_file, "%9s\n", outmove);
}
if (wtm)
Print(128, "White(%d): ", move_number);
else
Print(128, "Black(%d): ", move_number);
Print(128, "%s\n", outmove);
if (speech) {
char announce[64];
strcpy(announce, SPEAK);
strcat(announce, outmove);
system(announce);
}
MakeMoveRoot(tree, move, wtm);
display = tree->pos;
last_mate_score = 0;
if (log_file)
DisplayChessBoard(log_file, tree->pos);
}
/*
************************************************************
* *
* If Option() didn't handle the input, then it is illegal *
* and should be reported to the user. *
* *
************************************************************
*/
else {
pondering = 0;
if (Option(tree) == 0)
printf("illegal move: %s\n", buffer);
pondering = 1;
display = tree->pos;
}
} while (!move);
if (readstat < 0 || !strcmp(args[0], "exit"))
Initialize(); // < add this - JA
SetBoard(tree, nargs, args, 1); // < add this - JA
break;
wtm = Flip(wtm);
if (wtm)
move_number++;
} while (1);
analyze_mode = 0;
printf("analyze complete.\n");
pondering = 0;
swindle_mode = save_swindle_mode;
}
http://www.mediafire.com/?tmakdlwmya3
I will post link to 64 bit compiles later.
best Jim.
-
- Posts: 588
- Joined: Sun Nov 23, 2008 11:16 pm
- Location: Berlin, Germany
Re: Crafty 23.1 (JA) crashing when used for analysis ICCDash
Sweet. Thanks so much for looking into this.Jim Ablett wrote:I've found the problem. Analysis function in latest Crafty does not initialize and reset position
before each new call to analyze() and after it has exited. This what causing problems in Dasher
and to a lesser extent in Arena where clicking on analyze button fails to make Crafty respond.
Here's my fix that corrects the problem...
Download: (win32 Intel pgo)
http://www.mediafire.com/?tmakdlwmya3
jb
-
- Posts: 2290
- Joined: Fri Jul 14, 2006 7:56 am
- Location: London, England
- Full name: Jim Ablett
Re: Crafty 23.1 (JA) crashing when used for analysis ICCDash
Hi Jeremy,
I had a play around with analysis in Dasher. With my fixed crafty it seems
you need to toggle the computer analysis windows on/off in order for crafty to analyze each new position correctly.
Jim.
I had a play around with analysis in Dasher. With my fixed crafty it seems
you need to toggle the computer analysis windows on/off in order for crafty to analyze each new position correctly.
Jim.
-
- Posts: 588
- Joined: Sun Nov 23, 2008 11:16 pm
- Location: Berlin, Germany
Re: Crafty 23.1 (JA) crashing when used for analysis ICCDash
Oh, that's not so great, then. Maybe Bob will have another idea of how to handle this issue. I can take a look at the code, too, but I've never touched Crafty, so it's probably not something I can quickly solve in the train (without breaking it even more!).Jim Ablett wrote:Hi Jeremy,
I had a play around with analysis in Dasher. With my fixed crafty it seems
you need to toggle the computer analysis windows on/off in order for crafty to analyze each new position correctly.
Jim.
Thanks
Jeremy
-
- Posts: 20943
- Joined: Mon Feb 27, 2006 7:30 pm
- Location: Birmingham, AL
Re: Crafty 23.1 (JA) crashing when used for analysis ICCDash
This can't be a new problem since analyze.c has not been changed in a _long_ time. Is this something related to a different GUI, since analyze has been working for years???Jim Ablett wrote:Hi Jeremy,sockmonkey wrote:Subject says it all. Crafty just crashes suddenly when a new move comes in for analysis (I'm observing a World Cup game). Has anyone else observed something similar? I realize that's vague and can provide more details if prompted...
Thanks
Jeremy
I've found the problem. Analysis function in latest Crafty does not initialize and reset position
before each new call to analyze() and after it has exited. This what causing problems in Dasher
and to a lesser extent in Arena where clicking on analyze button fails to make Crafty respond.
Here's my fix that corrects the problem (I'm sure Bob Hyatt will have a more elegant solution) >
Download: (win32 Intel pgo)Code: Select all
#include "chess.h" #include "data.h" /* last modified 01/18/09 */ /* ******************************************************************************* * * * Analyze() is used to handle the "analyze" command. This mode basically * * puts Crafty into a "permanent pondering" state, where it reads a move from* * the input stream, and then "ponders" for the opposite side. Whenever a * * move is entered, Crafty reads this move, updates the game board, and then * * starts "pondering" for the other side. * * * * The purpose of this mode is to force Crafty to follow along in a game, * * providing analysis continually for the side on move until a move is * * entered, advancing the game to the next position. * * * ******************************************************************************* */ void Analyze() { int i, move, back_number, readstat = 1; TREE *const tree = block[0]; /* ************************************************************ * * * Initialize. * * * ************************************************************ */ int save_swindle_mode = swindle_mode; Initialize(); // < add this - JA SetBoard(tree, nargs, args, 1); // < add this - JA swindle_mode = 0; ponder_move = 0; analyze_mode = 1; if (!xboard) display_options |= 1 + 2 + 4; printf("Analyze Mode: type "exit" to terminate.\n"); /* ************************************************************ * * * Now loop waiting on input, searching the current * * position continually until a move comes in. * * * ************************************************************ */ do { do { last_pv.pathd = 0; last_pv.pathl = 0; input_status = 0; pondering = 1; tree->position[1] = tree->position[0]; (void) Iterate(wtm, think, 0); pondering = 0; if (book_move) moves_out_of_book = 0; if (!xboard) { if (wtm) printf("analyze.White(%d): ", move_number); else printf("analyze.Black(%d): ", move_number); fflush(stdout); } /* ************************************************************ * * * If we get back to here, something has been typed in and * * is in the command buffer normally, unless the search * * terminated naturally due to finding a mate or reaching * * the max depth allowable. * * * ************************************************************ */ if (!input_status) do { readstat = Read(1, buffer); if (readstat < 0) break; nargs = ReadParse(buffer, args, " ;"); Print(128, "%s\n", buffer); if (strstr(args[0], "timeleft") && !xboard) { if (wtm) printf("analyze.White(%d): ", move_number); else printf("analyze.Black(%d): ", move_number); fflush(stdout); } } while (strstr(args[0], "timeleft")); else nargs = ReadParse(buffer, args, " ;"); if (readstat < 0) break; move = 0; if (!strcmp(args[0], "exit")) Initialize(); // < add this - JA SetBoard(tree, nargs, args, 1); // < add this - JA break; /* ************************************************************ * * * First, check for the special analyze command "back n" * * and handle it if present, otherwise try Option() to see * * if it recognizes the input as a command. * * * ************************************************************ */ if (OptionMatch("back", args[0])) { if (nargs > 1) back_number = atoi(args[1]); else back_number = 1; for (i = 0; i < back_number; i++) { wtm = Flip(wtm); if (Flip(wtm)) move_number--; } if (move_number == 0) { move_number = 1; wtm = 1; } sprintf(buffer, "reset %d", move_number); (void) Option(tree); display = tree->pos; } else if (Option(tree)) { display = tree->pos; } /* ************************************************************ * * * If InputMove() can recognize this as a move, make it, * * swap sides, and return to the top of the loop to call * * search from this new position. * * * ************************************************************ */ else if ((move = InputMove(tree, buffer, 0, wtm, 1, 0))) { char *outmove = OutputMove(tree, move, 0, wtm); if (history_file) { fseek(history_file, ((move_number - 1) * 2 + 1 - wtm) * 10, SEEK_SET); fprintf(history_file, "%9s\n", outmove); } if (wtm) Print(128, "White(%d): ", move_number); else Print(128, "Black(%d): ", move_number); Print(128, "%s\n", outmove); if (speech) { char announce[64]; strcpy(announce, SPEAK); strcat(announce, outmove); system(announce); } MakeMoveRoot(tree, move, wtm); display = tree->pos; last_mate_score = 0; if (log_file) DisplayChessBoard(log_file, tree->pos); } /* ************************************************************ * * * If Option() didn't handle the input, then it is illegal * * and should be reported to the user. * * * ************************************************************ */ else { pondering = 0; if (Option(tree) == 0) printf("illegal move: %s\n", buffer); pondering = 1; display = tree->pos; } } while (!move); if (readstat < 0 || !strcmp(args[0], "exit")) Initialize(); // < add this - JA SetBoard(tree, nargs, args, 1); // < add this - JA break; wtm = Flip(wtm); if (wtm) move_number++; } while (1); analyze_mode = 0; printf("analyze complete.\n"); pondering = 0; swindle_mode = save_swindle_mode; }
http://www.mediafire.com/?tmakdlwmya3
I will post link to 64 bit compiles later.
best Jim.
-
- Posts: 20943
- Joined: Mon Feb 27, 2006 7:30 pm
- Location: Birmingham, AL
Re: Crafty 23.1 (JA) crashing when used for analysis ICCDash
Something sounds broken. In analysis mode are we talking about a single game, or analyzing multiple games simultaneously? I have done both for many years without any problems, so it seems that maybe there is a misunderstanding in the communication between the GUI and Crafty???Jim Ablett wrote:Hi Jeremy,
I had a play around with analysis in Dasher. With my fixed crafty it seems
you need to toggle the computer analysis windows on/off in order for crafty to analyze each new position correctly.
Jim.
Can you email me a log.nnn file from a point in time where the problem arises so I can see what is happening, and what should be happening???
-
- Posts: 2290
- Joined: Fri Jul 14, 2006 7:56 am
- Location: London, England
- Full name: Jim Ablett
Re: Crafty 23.1 (JA) crashing when used for analysis ICCDash
Hi Bob,bob wrote:Something sounds broken. In analysis mode are we talking about a single game, or analyzing multiple games simultaneously? I have done both for many years without any problems, so it seems that maybe there is a misunderstanding in the communication between the GUI and Crafty???Jim Ablett wrote:Hi Jeremy,
I had a play around with analysis in Dasher. With my fixed crafty it seems
you need to toggle the computer analysis windows on/off in order for crafty to analyze each new position correctly.
Jim.
Can you email me a log.nnn file from a point in time where the problem arises so I can see what is happening, and what should be happening???
Playing through a single game with Dasher & continously analyzing with Crafty causes a crash after about six positions/moves played. Here is the log, but it looks normal right up till engine crash. Seems like previous position becomes not entirely cleared after several setboard() calls. >
Code: Select all
hash table memory = 32M bytes.
pawn hash table memory = 16M bytes.
Crafty v23.1 JA (1 cpu)
White(1): xboard
White(1): protover 2
feature ping=1 setboard=1 san=1 time=1 draw=1
feature sigint=0 sigterm=0 reuse=1 analyze=1
feature myname="Crafty-23.1 JA" name=1
feature playother=1 colors=0
feature variants="normal,nocastle"
feature done=1
White(1): new
White(1): setboard rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1
+---+---+---+---+---+---+---+---+
8 |<R>|<N>|<B>|<Q>|<K>|<B>|<N>|<R>|
+---+---+---+---+---+---+---+---+
7 |<P>|<P>|<P>|<P>|<P>|<P>|<P>|<P>|
+---+---+---+---+---+---+---+---+
6 | | . | | . | | . | | . |
+---+---+---+---+---+---+---+---+
5 | . | | . | | . | | . | |
+---+---+---+---+---+---+---+---+
4 | | . | | . | | . | | . |
+---+---+---+---+---+---+---+---+
3 | . | | . | | . | | . | |
+---+---+---+---+---+---+---+---+
2 |-P-|-P-|-P-|-P-|-P-|-P-|-P-|-P-|
+---+---+---+---+---+---+---+---+
1 |-R-|-N-|-B-|-Q-|-K-|-B-|-N-|-R-|
+---+---+---+---+---+---+---+---+
a b c d e f g h
White(1): post
White(1): analyze
time surplus 0.00 time limit 57.00 (+27.00) (3:00)
depth time score variation (1)
12 0.61 0.23 1. Nf3 Nc6 2. e3 Nf6 3. Nc3 e5 4. Bb5
Bd6 5. O-O O-O 6. d3 Re8
12-> 1.89 0.23 1. Nf3 Nc6 2. e3 Nf6 3. Nc3 e5 4. Bb5
Bd6 5. O-O O-O 6. d3 Re8
13 2.64 0.17 1. Nf3 Nc6 2. e3 Nf6 3. Bd3 e5 4. Nc3
d5 5. Bb5 d4 6. Bxc6+ bxc6 7. exd4
exd4
13-> 4.51 0.17 1. Nf3 Nc6 2. e3 Nf6 3. Bd3 e5 4. Nc3
d5 5. Bb5 d4 6. Bxc6+ bxc6 7. exd4
exd4
White(1): setboard rnbqkbnr/pppppppp/8/8/2P5/8/PP1PPPPP/RNBQKBNR b KQkq c3 0 1
+---+---+---+---+---+---+---+---+
8 |<R>|<N>|<B>|<Q>|<K>|<B>|<N>|<R>|
+---+---+---+---+---+---+---+---+
7 |<P>|<P>|<P>|<P>|<P>|<P>|<P>|<P>|
+---+---+---+---+---+---+---+---+
6 | | . | | . | | . | | . |
+---+---+---+---+---+---+---+---+
5 | . | | . | | . | | . | |
+---+---+---+---+---+---+---+---+
4 | | . |-P-| . | | . | | . |
+---+---+---+---+---+---+---+---+
3 | . | | . | | . | | . | |
+---+---+---+---+---+---+---+---+
2 |-P-|-P-| |-P-|-P-|-P-|-P-|-P-|
+---+---+---+---+---+---+---+---+
1 |-R-|-N-|-B-|-Q-|-K-|-B-|-N-|-R-|
+---+---+---+---+---+---+---+---+
a b c d e f g h
time surplus 0.00 time limit 57.00 (+27.00) (3:00)
depth time score variation (1)
Black(0): post
Black(0): analyze
time surplus 0.00 time limit 57.00 (+27.00) (3:00)
depth time score variation (1)
12 0.46 -0.10 1. ... Nc6 2. Nc3 Nf6 3. Nf3 e6 4.
d4 Bd6 5. d5 Ne5 6. Nxe5 Bxe5 7. Be3
Bxc3+ 8. bxc3
12-> 1.53 -0.10 1. ... Nc6 2. Nc3 Nf6 3. Nf3 e6 4.
d4 Bd6 5. d5 Ne5 6. Nxe5 Bxe5 7. Be3
Bxc3+ 8. bxc3
13 2.31 -0.17 1. ... Nc6 2. Nc3 Nf6 3. d4 e6 4. d5
Ne5 5. Qd4 d6 6. Nf3 Nxf3+ 7. exf3
e5 8. Qd3
13-> 2.70 -0.17 1. ... Nc6 2. Nc3 Nf6 3. d4 e6 4. d5
Ne5 5. Qd4 d6 6. Nf3 Nxf3+ 7. exf3
e5 8. Qd3
14 4.40 -0.37 1. ... Nc6 2. Nc3 Nf6 3. d4 e6 4. d5
Ne5 5. Qd4 d6 6. Nf3 Nxf3+ 7. exf3
e5 8. Qd3 Bd7
14-> 7.14 -0.37 1. ... Nc6 2. Nc3 Nf6 3. d4 e6 4. d5
Ne5 5. Qd4 d6 6. Nf3 Nxf3+ 7. exf3
e5 8. Qd3 Bd7
Black(0): setboard rnbqkb1r/pppppppp/5n2/8/2P5/8/PP1PPPPP/RNBQKBNR w KQkq - 0 1
+---+---+---+---+---+---+---+---+
8 |<R>|<N>|<B>|<Q>|<K>|<B>| |<R>|
+---+---+---+---+---+---+---+---+
7 |<P>|<P>|<P>|<P>|<P>|<P>|<P>|<P>|
+---+---+---+---+---+---+---+---+
6 | | . | | . | |<N>| | . |
+---+---+---+---+---+---+---+---+
5 | . | | . | | . | | . | |
+---+---+---+---+---+---+---+---+
4 | | . |-P-| . | | . | | . |
+---+---+---+---+---+---+---+---+
3 | . | | . | | . | | . | |
+---+---+---+---+---+---+---+---+
2 |-P-|-P-| |-P-|-P-|-P-|-P-|-P-|
+---+---+---+---+---+---+---+---+
1 |-R-|-N-|-B-|-Q-|-K-|-B-|-N-|-R-|
+---+---+---+---+---+---+---+---+
a b c d e f g h
time surplus 0.00 time limit 57.00 (+27.00) (3:00)
depth time score variation (1)
White(1): post
White(1): analyze
time surplus 0.00 time limit 57.00 (+27.00) (3:00)
depth time score variation (1)
12 0.74 -0.37 1. Nc3 Nc6 2. d4 e6 3. d5 Ne5 4. Qd4
d6 5. Nf3 c5 6. Qh4 Bd7 7. Bg5 Rc8
<HT>
12-> 0.74 -0.37 1. Nc3 Nc6 2. d4 e6 3. d5 Ne5 4. Qd4
d6 5. Nf3 c5 6. Qh4 Bd7 7. Bg5 Rc8
<HT>
13 0.77 -0.37 1. Nc3 Nc6 2. d4 e6 3. d5 Ne5 4. Qd4
d6 5. Nf3 c5 6. Qh4 Bd7 7. Bg5 Rc8
<HT>
13 1.04 -0.36 1. Nf3 Nc6 2. Nc3 e6 3. e4 Bb4 4. Bd3
O-O 5. O-O Bc5 6. Re1 Nb4 7. Be2
13-> 1.49 -0.36 1. Nf3 Nc6 2. Nc3 e6 3. e4 Bb4 4. Bd3
O-O 5. O-O Bc5 6. Re1 Nb4 7. Be2
14 4.91 -0.15 1. Nf3 Nc6 2. Nc3 e5 3. e3 Bb4 4. Nd5
e4 5. Nxb4 Nxb4 6. Qb3 Qe7 7. a3 Nc6
14-> 6.58 -0.15 1. Nf3 Nc6 2. Nc3 e5 3. e3 Bb4 4. Nd5
e4 5. Nxb4 Nxb4 6. Qb3 Qe7 7. a3 Nc6
White(1): setboard rnbqkb1r/pppppppp/5n2/8/2P5/6P1/PP1PPP1P/RNBQKBNR b KQkq - 0 2
+---+---+---+---+---+---+---+---+
8 |<R>|<N>|<B>|<Q>|<K>|<B>| |<R>|
+---+---+---+---+---+---+---+---+
7 |<P>|<P>|<P>|<P>|<P>|<P>|<P>|<P>|
+---+---+---+---+---+---+---+---+
6 | | . | | . | |<N>| | . |
+---+---+---+---+---+---+---+---+
5 | . | | . | | . | | . | |
+---+---+---+---+---+---+---+---+
4 | | . |-P-| . | | . | | . |
+---+---+---+---+---+---+---+---+
3 | . | | . | | . | |-P-| |
+---+---+---+---+---+---+---+---+
2 |-P-|-P-| |-P-|-P-|-P-| |-P-|
+---+---+---+---+---+---+---+---+
1 |-R-|-N-|-B-|-Q-|-K-|-B-|-N-|-R-|
+---+---+---+---+---+---+---+---+
a b c d e f g h
time surplus 0.00 time limit 57.00 (+27.00) (3:00)
depth time score variation (1)
Black(0): post
Black(0): analyze
time surplus 0.00 time limit 57.00 (+27.00) (3:00)
depth time score variation (1)
10-> 0.56 -0.66 1. ... Nc6 2. Nf3 e5 3. Nc3 Bc5 4.
Na4 Be7 5. d4 Ne4 6. Nc3
11 0.85 -0.86 1. ... Nc6 2. Nf3 e5 3. Nc3 Bc5 4.
Bg2 O-O 5. O-O d5 6. Qb3 dxc4 7. Qxc4
11-> 0.92 -0.86 1. ... Nc6 2. Nf3 e5 3. Nc3 Bc5 4.
Bg2 O-O 5. O-O d5 6. Qb3 dxc4 7. Qxc4
12 1.39 -0.66 1. ... Nc6 2. Nf3 e5 3. Nc3 Bc5 4.
Bg2 O-O 5. O-O d6 6. Na4 Bb4 7. d4
12-> 1.80 -0.66 1. ... Nc6 2. Nf3 e5 3. Nc3 Bc5 4.
Bg2 O-O 5. O-O d6 6. Na4 Bb4 7. d4
13 2.56 -0.75 1. ... Nc6 2. Nf3 e5 3. Nc3 Bc5 4.
Bg2 O-O 5. O-O d6 6. d3 Bf5 7. Be3
Bxe3 8. fxe3
13-> 3.06 -0.75 1. ... Nc6 2. Nf3 e5 3. Nc3 Bc5 4.
Bg2 O-O 5. O-O d6 6. d3 Bf5 7. Be3
Bxe3 8. fxe3
14 4.22 -0.75 1. ... Nc6 2. Nf3 e5 3. Nc3 Bc5 4.
Bg2 O-O 5. O-O d6 6. d3 Bf5 7. Be3
Bxe3 8. fxe3
14-> 5.47 -0.75 1. ... Nc6 2. Nf3 e5 3. Nc3 Bc5 4.
Bg2 O-O 5. O-O d6 6. d3 Bf5 7. Be3
Bxe3 8. fxe3
Black(0): setboard rnbqkb1r/pppp1ppp/5n2/4p3/2P5/6P1/PP1PPP1P/RNBQKBNR w KQkq e6 0 2
+---+---+---+---+---+---+---+---+
8 |<R>|<N>|<B>|<Q>|<K>|<B>| |<R>|
+---+---+---+---+---+---+---+---+
7 |<P>|<P>|<P>|<P>| . |<P>|<P>|<P>|
+---+---+---+---+---+---+---+---+
6 | | . | | . | |<N>| | . |
+---+---+---+---+---+---+---+---+
5 | . | | . | |<P>| | . | |
+---+---+---+---+---+---+---+---+
4 | | . |-P-| . | | . | | . |
+---+---+---+---+---+---+---+---+
3 | . | | . | | . | |-P-| |
+---+---+---+---+---+---+---+---+
2 |-P-|-P-| |-P-|-P-|-P-| |-P-|
+---+---+---+---+---+---+---+---+
1 |-R-|-N-|-B-|-Q-|-K-|-B-|-N-|-R-|
+---+---+---+---+---+---+---+---+
a b c d e f g h
time surplus 0.00 time limit 57.00 (+27.00) (3:00)
depth time score variation (1)
White(1): post
White(1): analyze
time surplus 0.00 time limit 57.00 (+27.00) (3:00)
depth time score variation (1)
12-> 0.39 -0.63 1. Nc3 Nc6 2. Bg2 Bc5 3. Nf3 O-O 4.
O-O Re8 5. Na4 Bb4 6. a3 Bd6 7. d3
e4 <HT>
13 0.81 -0.63 1. Nc3 Nc6 2. Bg2 Bc5 3. Nf3 O-O 4.
O-O Re8 5. Na4 Bb4 6. a3 Bd6 7. d3
e4 <HT>
13-> 0.98 -0.63 1. Nc3 Nc6 2. Bg2 Bc5 3. Nf3 O-O 4.
O-O Re8 5. Na4 Bb4 6. a3 Bd6 7. d3
e4 <HT>
14 2.10 -0.63 1. Nc3 Nc6 2. Bg2 Bc5 3. Nf3 O-O 4.
O-O Re8 5. Na4 Bb4 6. a3 Bd6 7. d3
e4 <HT>
14-> 5.12 -0.63 1. Nc3 Nc6 2. Bg2 Bc5 3. Nf3 O-O 4.
O-O Re8 5. Na4 Bb4 6. a3 Bd6 7. d3
e4 <HT>
White(1): setboard rnbqkb1r/pppp1ppp/5n2/4p3/2P5/6P1/PP1PPPBP/RNBQK1NR b KQkq - 0 3
+---+---+---+---+---+---+---+---+
8 |<R>|<N>|<B>|<Q>|<K>|<B>| |<R>|
+---+---+---+---+---+---+---+---+
7 |<P>|<P>|<P>|<P>| . |<P>|<P>|<P>|
+---+---+---+---+---+---+---+---+
6 | | . | | . | |<N>| | . |
+---+---+---+---+---+---+---+---+
5 | . | | . | |<P>| | . | |
+---+---+---+---+---+---+---+---+
4 | | . |-P-| . | | . | | . |
+---+---+---+---+---+---+---+---+
3 | . | | . | | . | |-P-| |
+---+---+---+---+---+---+---+---+
2 |-P-|-P-| |-P-|-P-|-P-|-B-|-P-|
+---+---+---+---+---+---+---+---+
1 |-R-|-N-|-B-|-Q-|-K-| |-N-|-R-|
+---+---+---+---+---+---+---+---+
a b c d e f g h
time surplus 0.00 time limit 57.00 (+27.00) (3:00)
depth time score variation (1)
Black(0): post
Black(0): analyze
time surplus 0.00 time limit 57.00 (+27.00) (3:00)
depth time score variation (1)
14 1.24 -0.52 1. ... Nc6 2. Nc3 Bc5 3. Nf3 O-O 4.
O-O Re8 5. Ng5 d6 6. d3 Bf5 7. Be3
Bxe3 8. fxe3 <HT>
14-> 6.07 -0.52 1. ... Nc6 2. Nc3 Bc5 3. Nf3 O-O 4.
O-O Re8 5. Ng5 d6 6. d3 Bf5 7. Be3
Bxe3 8. fxe3 <HT>
Black(0): setboard rnbqkb1r/pp1p1ppp/2p2n2/4p3/2P5/6P1/PP1PPPBP/RNBQK1NR w KQkq - 0 3 // < Crafty crashes here - JA
-
- Posts: 867
- Joined: Thu Mar 09, 2006 4:50 pm
- Location: Austria
- Full name: Franz Huber
Re: Crafty 23.1 (JA) crashing when used for analysis ICCDash
Just a little remark from me:Jim Ablett wrote: Download: (win32 Intel pgo)
http://www.mediafire.com/?tmakdlwmya3
I've tried it in Arena 1.1 and here it's just the opposite:
your previous version works fine (with analyze mode), but this new version does not!
-
- Posts: 20943
- Joined: Mon Feb 27, 2006 7:30 pm
- Location: Birmingham, AL
Re: Crafty 23.1 (JA) crashing when used for analysis ICCDash
Thanks. I think I can cut/paste enough to recreate. But the "setboard" should be all that is needed since it sets everything required. It is possible that there is a bug in _there_ somewhere since much of this code has been modified in the elimination of the black/white stuff back in version 22.x
I'll test and fix.
I'll test and fix.