Need help to make Crafty work

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

User avatar
hgm
Posts: 27788
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Need help to make Crafty work

Post by hgm »

bob wrote: Thu Jul 11, 2019 5:19 am For the record, after I type "go" and wait a couple of seconds and type "force" crafty stops the search instantly.
Did you test that instant response to 'force' on a Mac? It is conceivable that testing for pending input has some platform-dependent effects.

That being said, delaying the execution of a force command to when the thinking expires naturally is a behavior you will find in many engines. It is not even clear whether this is improper implementation of CECP; the specs are a bit vague in this respect. The description of the 'force' command doesn't say it should be executed instantly, and it is not clear whether the discussion about possible implementations in the I/O section is part of the specs or just friendly advice. For the protocol it should not matter how long execution of commands takes; this only affects timing. Obviously the 'move now' command ('?') becomes a no-op if the engine does not watch its input during thinking, but even then the 'response' is as expected: the engine will eventually print a move.

Note that 'force' and '?' can never be the same: '?' does not change the engine's idea of which color it is playing ('player state'), while 'force' will set it to 'play neither'. So after '?' + 'usermove' the engine would start thinking and moving again, (and it might ponder in between the '?' and 'usermove'), while after 'force' + 'usermove' it will remain idle.

Always printing a move after 'force' interrupts thinking is a valid implementation, and the GUI should always be prepared for handling such a move even if it wasn't, as the thinking might have terminated spontaneously between the 'force' was sent and when it arrived. In that case one should consider the move a result of the thinking, rather than a response to the 'force' command; 'force' should never result in a move when the engine is not thinking, not even when it interrupts a ponder search. (This is the same as in UCI, where 'stop' will always be answered with 'bestmove', and the GUI must decide whether it should discard the move or not.)
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Need help to make Crafty work

Post by bob »

Yes, this was on my mac. But the way Crafty handles input is quite serial. IE a chunk of text is read, and everything up to the first new line character (or ; if I remember correctly) is executed. Then the next segment of the input, again up to the new line or ; is read and executed. I don't see any way any commands can be executed out of order. IE there are not multiple threads reading input and executing commands in parallel, purely serial in this area. I personally never liked the force command. I actually had one in Cray Blitz, but the idea was (a) the program made a move and announced it; (b) you could use force to make it play a different move. When I started working on the board implementation, much of the winboard protocol of today did not exist. For example, when continuing a game, all we had was the "edit" command which was clumsy. And make it easy for humans to trick programs into repetitions. When I raised this issue with Tim (Mann), he came up with the "force" stuff that I thought was ambiguous and awkward. But it worked and solved the problem I wanted addressed. Probably 75% of the protocol came from me working with Tim to address each and every issue I encounter when playing chess on ICS, ICC, FICS, etc... Always wished we had just started over with a clean slate...
User avatar
phhnguyen
Posts: 1434
Joined: Wed Apr 21, 2010 4:58 am
Location: Australia
Full name: Nguyen Hong Pham

Re: Need help to make Crafty work

Post by phhnguyen »

I still get some difficulties to make Crafty works smoothly.

Crafty continues to puzzle me by some ambiguous messages. E.g., it doesn't like to set cores=1 by displaying an error.

Code: Select all

unable to open book file [./book.bin].
book is disabled
unable to open book file [./books.bin].

Crafty v25.3

machine has 8 processors

White(1): xboard
protover 2

tellicsnoalias set 1 Crafty v25.3 (1 cpus)
tellicsnoalias kibitz Hello from Crafty v25.3! (1 cpus)
feature ping=1 setboard=1 san=1 time=1 draw=1
feature sigint=0 sigterm=0 reuse=0 analyze=1
feature myname="Crafty-25.3" name=1
feature playother=1 colors=0 memory=1
feature smp=1
feature variants="normal,nocastle"
feature done=1
memory 128
cores 1
Warning--  xboard 'memory' option disabled
Warning--  xboard 'memory' option disabled
Warning--  xboard 'cores' option disabled
ERROR - max threads can be set to zero (0) to disable parallel search, otherwise it must be > 1.
I am not sure it is better if I follow Crafty or insist to set that (cores=1) since I think users have all rights to set up their software. Do you think cores=1 is typically accepted by other Winboard engines?

First I guess Crafty may show messages only for the above issues and it is not a serious problem. However, sometimes (not always) looking to logs as well as testing it manually I see Crafty stops for a while and may refuse to reply "ping".

Below it is a log when Crafty says "AlignedRemalloc() failed, not enough memory." and stop working. It is weird since all other engines including Crafty can play normally before and after that match. So far I did not reuse any engine for matching.

Note that I have seen those issues several times.

Any idea to solve that issue?

Code: Select all

19:24:20 banksia> 
9. Stockfish 230619 vs Crafty-25.3

19:24:20 Crafty-25.3< xboard
protover 2
19:24:20 Stockfish 230619< uci
19:24:20 Stockfish 230619> Stockfish 230619 by T. Romstad, M. Costalba, J. Kiiski, G. Linscott
19:24:20 Crafty-25.3> unable to open book file [./book.bin].
19:24:20 Crafty-25.3> book is disabled
19:24:20 Crafty-25.3> unable to open book file [./books.bin].
19:24:20 Crafty-25.3> Crafty v25.3
19:24:20 Crafty-25.3> machine has 8 processors
19:24:20 Crafty-25.3> White(1):
19:24:20 Crafty-25.3> tellicsnoalias set 1 Crafty v25.3 (1 cpus)
19:24:20 Crafty-25.3> tellicsnoalias kibitz Hello from Crafty v25.3! (1 cpus)
19:24:20 Crafty-25.3> feature ping=1 setboard=1 san=1 time=1 draw=1
19:24:20 Crafty-25.3< accepted ping
19:24:20 Crafty-25.3< accepted setboard
19:24:20 Crafty-25.3< accepted san
19:24:20 Crafty-25.3< accepted time
19:24:20 Crafty-25.3< accepted draw
19:24:20 Crafty-25.3> feature sigint=0 sigterm=0 reuse=0 analyze=1
19:24:20 Crafty-25.3< accepted sigint
19:24:20 Crafty-25.3< accepted sigterm
19:24:20 Crafty-25.3< accepted reuse
19:24:20 Crafty-25.3< accepted analyze
19:24:20 Crafty-25.3> feature myname="Crafty-25.3" name=1
19:24:20 Crafty-25.3< accepted myname
19:24:20 Crafty-25.3< accepted name
19:24:20 Crafty-25.3> feature playother=1 colors=0 memory=1
19:24:20 Crafty-25.3< accepted playother
19:24:20 Crafty-25.3< accepted colors
19:24:20 Crafty-25.3< accepted memory
19:24:20 Crafty-25.3> feature smp=1
19:24:20 Crafty-25.3< accepted smp
19:24:20 Crafty-25.3> feature variants="normal,nocastle"
19:24:20 Crafty-25.3< accepted variants
19:24:20 Crafty-25.3> feature done=1
19:24:20 Stockfish 230619> id name Stockfish 230619
19:24:20 Stockfish 230619> id author T. Romstad, M. Costalba, J. Kiiski, G. Linscott
19:24:20 Stockfish 230619> option name Debug Log File type string default
19:24:20 Stockfish 230619> option name Contempt type spin default 24 min -100 max 100
19:24:20 Stockfish 230619> option name Analysis Contempt type combo default Both var Off var White var Black var Both
19:24:20 Stockfish 230619> option name Threads type spin default 1 min 1 max 512
19:24:20 Stockfish 230619> option name Hash type spin default 16 min 1 max 2048
19:24:20 Stockfish 230619> option name Clear Hash type button
19:24:20 Stockfish 230619> option name Ponder type check default false
19:24:20 Stockfish 230619> option name MultiPV type spin default 1 min 1 max 500
19:24:20 Stockfish 230619> option name Skill Level type spin default 20 min 0 max 20
19:24:20 Stockfish 230619> option name Move Overhead type spin default 30 min 0 max 5000
19:24:20 Stockfish 230619> option name Minimum Thinking Time type spin default 20 min 0 max 5000
19:24:20 Stockfish 230619> option name Slow Mover type spin default 84 min 10 max 1000
19:24:20 Stockfish 230619> option name nodestime type spin default 0 min 0 max 10000
19:24:20 Stockfish 230619> option name UCI_Chess960 type check default false
19:24:20 Stockfish 230619> option name UCI_AnalyseMode type check default false
19:24:20 Stockfish 230619> option name SyzygyPath type string default <empty>
19:24:20 Stockfish 230619> option name SyzygyProbeDepth type spin default 1 min 1 max 100
19:24:20 Stockfish 230619> option name Syzygy50MoveRule type check default true
19:24:20 Stockfish 230619> option name SyzygyProbeLimit type spin default 7 min 0 max 7
19:24:20 Stockfish 230619> uciok
19:24:20 Stockfish 230619< setoption name Analysis Contempt value 
19:24:20 Stockfish 230619< setoption name SyzygyPath value /Users/nguyenpham/workspace/BanksiaMatch/syzygy345
19:24:20 Stockfish 230619< setoption name SyzygyProbeDepth value 1
19:24:20 Stockfish 230619< setoption name Syzygy50MoveRule value true
19:24:20 Stockfish 230619< setoption name SyzygyProbeLimit value 7
19:24:20 Stockfish 230619< isready
19:24:20 Stockfish 230619> info string Found 94 tablebases
19:24:20 Stockfish 230619> readyok
19:24:21 Crafty-25.3< memory 128
cores 1
19:24:21 Crafty-25.3> Warning--  xboard 'memory' option disabled
19:24:21 Crafty-25.3< easy
19:24:21 Crafty-25.3< post
19:24:21 Crafty-25.3< setboard r1bq1rk1/ppppbppp/3n4/4R3/8/8/PPPP1PPP/RNBQ1BK1 w - - 0 1
19:24:21 Crafty-25.3< level 40 0:6 0
19:24:21 Crafty-25.3> Warning--  xboard 'memory' option disabled
19:24:21 Crafty-25.3> AlignedRemalloc() failed, not enough memory.
19:24:21 Stockfish 230619< ucinewgame
19:24:21 Stockfish 230619> info string Found 94 tablebases
19:24:21 banksia> 9) Stockfish 230619 vs Crafty-25.3, #0, 1-0 (crash)
19:24:22 Stockfish 230619< quit
19:24:22 banksia> 

In another match (before the above match), Crafty lost by timeout because it did not reply the ping:

Code: Select all

19:19:49 banksia> 
5. Crafty-25.3 vs Komodo 10 64-bit

19:19:49 Komodo 10 64-bit< uci
19:19:49 Crafty-25.3< xboard
protover 2
19:19:50 Crafty-25.3> unable to open book file [./book.bin].
19:19:50 Crafty-25.3> book is disabled
19:19:50 Komodo 10 64-bit> Komodo 10 64-bit (C) 2016 Don Dailey, Larry Kaufman and Mark Lefler
19:19:50 Crafty-25.3> unable to open book file [./books.bin].
19:19:50 Komodo 10 64-bit> using hardware POPCNT
19:19:50 Crafty-25.3> Crafty v25.3
19:19:50 Komodo 10 64-bit> info string Licensed to Komodochess.com
19:19:50 Crafty-25.3> machine has 8 processors
19:19:50 Komodo 10 64-bit> id name Komodo 10 64-bit
19:19:50 Crafty-25.3> White(1):
19:19:50 Komodo 10 64-bit> id author Don Dailey, Larry Kaufman, Mark Lefler
19:19:50 Crafty-25.3> tellicsnoalias set 1 Crafty v25.3 (1 cpus)
19:19:50 Komodo 10 64-bit> option name Threads type spin default 1 min 1 max 64
19:19:50 Crafty-25.3> tellicsnoalias kibitz Hello from Crafty v25.3! (1 cpus)
19:19:50 Crafty-25.3> feature ping=1 setboard=1 san=1 time=1 draw=1
19:19:50 Komodo 10 64-bit> option name Ponder type check default true
19:19:50 Crafty-25.3< accepted ping
19:19:50 Komodo 10 64-bit> option name Hash type spin default 128 min 1 max 65536
19:19:50 Crafty-25.3< accepted setboard
19:19:50 Komodo 10 64-bit> option name Clear Hash type button
19:19:50 Crafty-25.3< accepted san
19:19:50 Komodo 10 64-bit> option name Table Memory type spin default 128 min 1 max 1024
19:19:50 Crafty-25.3< accepted time
19:19:50 Crafty-25.3< accepted draw
19:19:50 Komodo 10 64-bit> option name MultiPV type spin default 1 min 1 max 218
19:19:50 Crafty-25.3> feature sigint=0 sigterm=0 reuse=0 analyze=1
19:19:50 Komodo 10 64-bit> option name OwnBook type check default true
19:19:50 Crafty-25.3< accepted sigint
19:19:50 Komodo 10 64-bit> option name Book File type string default komodo.bin
19:19:50 Crafty-25.3< accepted sigterm
19:19:50 Komodo 10 64-bit> option name Best Book Line type check default false
19:19:50 Crafty-25.3< accepted reuse
19:19:50 Komodo 10 64-bit> option name Log File type string default <empty>
19:19:50 Crafty-25.3< accepted analyze
19:19:50 Komodo 10 64-bit> option name Hash File Name type string default <empty>
19:19:50 Crafty-25.3> feature myname="Crafty-25.3" name=1
19:19:50 Komodo 10 64-bit> option name Save Hash to File type button
19:19:50 Crafty-25.3< accepted myname
19:19:50 Komodo 10 64-bit> option name Load Hash from File type button
19:19:50 Crafty-25.3< accepted name
19:19:50 Komodo 10 64-bit> option name UCI_Chess960 type check default false
19:19:50 Crafty-25.3> feature playother=1 colors=0 memory=1
19:19:50 Komodo 10 64-bit> option name UCI_AnalyseMode type check default false
19:19:50 Crafty-25.3< accepted playother
19:19:50 Komodo 10 64-bit> option name Use LMR type check default true
19:19:50 Crafty-25.3< accepted colors
19:19:50 Komodo 10 64-bit> option name Null Move Pruning type check default true
19:19:50 Crafty-25.3< accepted memory
19:19:50 Komodo 10 64-bit> option name Minimal Reporting type check default false
19:19:50 Crafty-25.3> feature smp=1
19:19:50 Komodo 10 64-bit> option name Suppress type spin default 0 min 0 max 200
19:19:50 Crafty-25.3< accepted smp
19:19:50 Crafty-25.3> feature variants="normal,nocastle"
19:19:50 Komodo 10 64-bit> option name Overhead ms type spin default 30 min 0 max 10000
19:19:50 Crafty-25.3< accepted variants
19:19:50 Komodo 10 64-bit> option name Time Usage type spin default 0 min -9 max 9
19:19:50 Crafty-25.3> feature done=1
19:19:50 Komodo 10 64-bit> option name Use Syzygy type check default true
19:19:50 Komodo 10 64-bit> option name SyzygyPath type string default <empty>
19:19:50 Komodo 10 64-bit> option name Syzygy Probe Depth type spin default 2 min 0 max 99
19:19:50 Komodo 10 64-bit> option name Syzygy Probe Limit type spin default 6 min 0 max 6
19:19:50 Komodo 10 64-bit> option name Syzygy 50 Move Rule type check default true
19:19:50 Komodo 10 64-bit> option name King Safety type spin default 65 min 0 max 200
19:19:50 Komodo 10 64-bit> option name Selectivity type spin default 131 min 10 max 200
19:19:50 Komodo 10 64-bit> option name Reduction type spin default 0 min -1000 max 150
19:19:50 Komodo 10 64-bit> option name Dynamism type spin default 110 min 0 max 200
19:19:50 Komodo 10 64-bit> option name Contempt type spin default 10 min -500 max 500
19:19:50 Komodo 10 64-bit> option name White Contempt type check default false
19:19:50 Komodo 10 64-bit> option name Magnify type spin default 88 min 0 max 200
19:19:50 Komodo 10 64-bit> uciok
19:19:50 Komodo 10 64-bit< setoption name SyzygyPath value /Users/nguyenpham/workspace/BanksiaMatch/syzygy345
19:19:50 Komodo 10 64-bit< isready
19:19:50 Komodo 10 64-bit> info string Found 94 tablebases (up to 5-man).
19:19:50 Komodo 10 64-bit> info string Probing tablebases up to 5-man.
19:19:50 Komodo 10 64-bit> readyok
19:19:50 Komodo 10 64-bit< ucinewgame
19:19:50 Crafty-25.3< memory 128
cores 1
19:19:50 Crafty-25.3> Warning--  xboard 'memory' option disabled
19:19:50 Crafty-25.3< easy
19:19:50 Crafty-25.3< post
19:19:50 Crafty-25.3< setboard r1bq1rk1/ppppbppp/3n4/4R3/8/8/PPPP1PPP/RNBQ1BK1 w - - 0 1
19:19:50 Crafty-25.3< level 40 0:6 0
19:19:50 Crafty-25.3> Warning--  xboard 'memory' option disabled
19:19:50 Crafty-25.3< ping 1
19:20:00 banksia> Timeleft for Crafty-25.3: 6.00, used: 7.21, Komodo 10 64-bit: 6.00
19:20:00 Crafty-25.3< force
19:20:00 banksia> 5) Crafty-25.3 vs Komodo 10 64-bit, #0, 0-1 (timeout)
19:20:00 Komodo 10 64-bit< quit
19:20:00 Crafty-25.3< quit
Here is the result of this tournament (a typical one - I have seen similar ones many times), Crafty plays 6 matches, 4 fine, 2 crash/timeout.

Code: Select all

1. Stockfish 230619 vs Komodo 10 64-bit
1) Stockfish 230619 vs Komodo 10 64-bit, #43, 1/2-1/2 (repetition)
2. Komodo 10 64-bit vs Stockfish 230619
2) Komodo 10 64-bit vs Stockfish 230619, #209, 1/2-1/2 (fifty moves)
3. IvanHoe-Beta verzione 999966-Beta vs Komodo 10 64-bit
3) IvanHoe-Beta verzione 999966-Beta vs Komodo 10 64-bit, #134, 0-1 (mate)
4. Komodo 10 64-bit vs IvanHoe-Beta verzione 999966-Beta
4) Komodo 10 64-bit vs IvanHoe-Beta verzione 999966-Beta, #214, 0-1 (timeout)
5. Crafty-25.3 vs Komodo 10 64-bit
5) Crafty-25.3 vs Komodo 10 64-bit, #0, 0-1 (timeout)
6. Komodo 10 64-bit vs Crafty-25.3
6) Komodo 10 64-bit vs Crafty-25.3, #77, 1-0 (mate)
7. IvanHoe-Beta verzione 999966-Beta vs Stockfish 230619
7) IvanHoe-Beta verzione 999966-Beta vs Stockfish 230619, #300, 1/2-1/2 (fifty moves)
8. Stockfish 230619 vs IvanHoe-Beta verzione 999966-Beta
8) Stockfish 230619 vs IvanHoe-Beta verzione 999966-Beta, #122, 0-1 (mate)
9. Stockfish 230619 vs Crafty-25.3
9) Stockfish 230619 vs Crafty-25.3, #0, 1-0 (crash)
10. Crafty-25.3 vs Stockfish 230619
10) Crafty-25.3 vs Stockfish 230619, #194, 1/2-1/2 (repetition)
11. Crafty-25.3 vs IvanHoe-Beta verzione 999966-Beta
11) Crafty-25.3 vs IvanHoe-Beta verzione 999966-Beta, #142, 0-1 (mate)
12. IvanHoe-Beta verzione 999966-Beta vs Crafty-25.3
12) IvanHoe-Beta verzione 999966-Beta vs Crafty-25.3, #175, 1-0 (mate)

https://banksiagui.com
The most features chess GUI, based on opensource Banksia - the chess tournament manager
User avatar
MikeB
Posts: 4889
Joined: Thu Mar 09, 2006 6:34 am
Location: Pen Argyl, Pennsylvania

Re: Need help to make Crafty work

Post by MikeB »

phhnguyen wrote: Tue Jul 16, 2019 12:17 pm I still get some difficulties to make Crafty works smoothly.

Crafty continues to puzzle me by some ambiguous messages. E.g., it doesn't like to set cores=1 by displaying an error.

Code: Select all

unable to open book file [./book.bin].
book is disabled
unable to open book file [./books.bin].

Crafty v25.3

machine has 8 processors

White(1): xboard
protover 2

tellicsnoalias set 1 Crafty v25.3 (1 cpus)
tellicsnoalias kibitz Hello from Crafty v25.3! (1 cpus)
feature ping=1 setboard=1 san=1 time=1 draw=1
feature sigint=0 sigterm=0 reuse=0 analyze=1
feature myname="Crafty-25.3" name=1
feature playother=1 colors=0 memory=1
feature smp=1
feature variants="normal,nocastle"
feature done=1
memory 128
cores 1
Warning--  xboard 'memory' option disabled
Warning--  xboard 'memory' option disabled
Warning--  xboard 'cores' option disabled
ERROR - max threads can be set to zero (0) to disable parallel search, otherwise it must be > 1.
I am not sure it is better if I follow Crafty or insist to set that (cores=1) since I think users have all rights to set up their software. Do you think cores=1 is typically accepted by other Winboard engines?

First I guess Crafty may show messages only for the above issues and it is not a serious problem. However, sometimes (not always) looking to logs as well as testing it manually I see Crafty stops for a while and may refuse to reply "ping".

Below it is a log when Crafty says "AlignedRemalloc() failed, not enough memory." and stop working. It is weird since all other engines including Crafty can play normally before and after that match. So far I did not reuse any engine for matching.

Note that I have seen those issues several times.

Any idea to solve that issue?

Code: Select all

19:24:20 banksia> 
9. Stockfish 230619 vs Crafty-25.3

19:24:20 Crafty-25.3< xboard
protover 2
19:24:20 Stockfish 230619< uci
19:24:20 Stockfish 230619> Stockfish 230619 by T. Romstad, M. Costalba, J. Kiiski, G. Linscott
19:24:20 Crafty-25.3> unable to open book file [./book.bin].
19:24:20 Crafty-25.3> book is disabled
19:24:20 Crafty-25.3> unable to open book file [./books.bin].
19:24:20 Crafty-25.3> Crafty v25.3
19:24:20 Crafty-25.3> machine has 8 processors
19:24:20 Crafty-25.3> White(1):
19:24:20 Crafty-25.3> tellicsnoalias set 1 Crafty v25.3 (1 cpus)
19:24:20 Crafty-25.3> tellicsnoalias kibitz Hello from Crafty v25.3! (1 cpus)
19:24:20 Crafty-25.3> feature ping=1 setboard=1 san=1 time=1 draw=1
19:24:20 Crafty-25.3< accepted ping
19:24:20 Crafty-25.3< accepted setboard
19:24:20 Crafty-25.3< accepted san
19:24:20 Crafty-25.3< accepted time
19:24:20 Crafty-25.3< accepted draw
19:24:20 Crafty-25.3> feature sigint=0 sigterm=0 reuse=0 analyze=1
19:24:20 Crafty-25.3< accepted sigint
19:24:20 Crafty-25.3< accepted sigterm
19:24:20 Crafty-25.3< accepted reuse
19:24:20 Crafty-25.3< accepted analyze
19:24:20 Crafty-25.3> feature myname="Crafty-25.3" name=1
19:24:20 Crafty-25.3< accepted myname
19:24:20 Crafty-25.3< accepted name
19:24:20 Crafty-25.3> feature playother=1 colors=0 memory=1
19:24:20 Crafty-25.3< accepted playother
19:24:20 Crafty-25.3< accepted colors
19:24:20 Crafty-25.3< accepted memory
19:24:20 Crafty-25.3> feature smp=1
19:24:20 Crafty-25.3< accepted smp
19:24:20 Crafty-25.3> feature variants="normal,nocastle"
19:24:20 Crafty-25.3< accepted variants
19:24:20 Crafty-25.3> feature done=1
19:24:20 Stockfish 230619> id name Stockfish 230619
19:24:20 Stockfish 230619> id author T. Romstad, M. Costalba, J. Kiiski, G. Linscott
19:24:20 Stockfish 230619> option name Debug Log File type string default
19:24:20 Stockfish 230619> option name Contempt type spin default 24 min -100 max 100
19:24:20 Stockfish 230619> option name Analysis Contempt type combo default Both var Off var White var Black var Both
19:24:20 Stockfish 230619> option name Threads type spin default 1 min 1 max 512
19:24:20 Stockfish 230619> option name Hash type spin default 16 min 1 max 2048
19:24:20 Stockfish 230619> option name Clear Hash type button
19:24:20 Stockfish 230619> option name Ponder type check default false
19:24:20 Stockfish 230619> option name MultiPV type spin default 1 min 1 max 500
19:24:20 Stockfish 230619> option name Skill Level type spin default 20 min 0 max 20
19:24:20 Stockfish 230619> option name Move Overhead type spin default 30 min 0 max 5000
19:24:20 Stockfish 230619> option name Minimum Thinking Time type spin default 20 min 0 max 5000
19:24:20 Stockfish 230619> option name Slow Mover type spin default 84 min 10 max 1000
19:24:20 Stockfish 230619> option name nodestime type spin default 0 min 0 max 10000
19:24:20 Stockfish 230619> option name UCI_Chess960 type check default false
19:24:20 Stockfish 230619> option name UCI_AnalyseMode type check default false
19:24:20 Stockfish 230619> option name SyzygyPath type string default <empty>
19:24:20 Stockfish 230619> option name SyzygyProbeDepth type spin default 1 min 1 max 100
19:24:20 Stockfish 230619> option name Syzygy50MoveRule type check default true
19:24:20 Stockfish 230619> option name SyzygyProbeLimit type spin default 7 min 0 max 7
19:24:20 Stockfish 230619> uciok
19:24:20 Stockfish 230619< setoption name Analysis Contempt value 
19:24:20 Stockfish 230619< setoption name SyzygyPath value /Users/nguyenpham/workspace/BanksiaMatch/syzygy345
19:24:20 Stockfish 230619< setoption name SyzygyProbeDepth value 1
19:24:20 Stockfish 230619< setoption name Syzygy50MoveRule value true
19:24:20 Stockfish 230619< setoption name SyzygyProbeLimit value 7
19:24:20 Stockfish 230619< isready
19:24:20 Stockfish 230619> info string Found 94 tablebases
19:24:20 Stockfish 230619> readyok
19:24:21 Crafty-25.3< memory 128
cores 1
19:24:21 Crafty-25.3> Warning--  xboard 'memory' option disabled
19:24:21 Crafty-25.3< easy
19:24:21 Crafty-25.3< post
19:24:21 Crafty-25.3< setboard r1bq1rk1/ppppbppp/3n4/4R3/8/8/PPPP1PPP/RNBQ1BK1 w - - 0 1
19:24:21 Crafty-25.3< level 40 0:6 0
19:24:21 Crafty-25.3> Warning--  xboard 'memory' option disabled
19:24:21 Crafty-25.3> AlignedRemalloc() failed, not enough memory.
19:24:21 Stockfish 230619< ucinewgame
19:24:21 Stockfish 230619> info string Found 94 tablebases
19:24:21 banksia> 9) Stockfish 230619 vs Crafty-25.3, #0, 1-0 (crash)
19:24:22 Stockfish 230619< quit
19:24:22 banksia> 

In another match (before the above match), Crafty lost by timeout because it did not reply the ping:

Code: Select all

19:19:49 banksia> 
5. Crafty-25.3 vs Komodo 10 64-bit

19:19:49 Komodo 10 64-bit< uci
19:19:49 Crafty-25.3< xboard
protover 2
19:19:50 Crafty-25.3> unable to open book file [./book.bin].
19:19:50 Crafty-25.3> book is disabled
19:19:50 Komodo 10 64-bit> Komodo 10 64-bit (C) 2016 Don Dailey, Larry Kaufman and Mark Lefler
19:19:50 Crafty-25.3> unable to open book file [./books.bin].
19:19:50 Komodo 10 64-bit> using hardware POPCNT
19:19:50 Crafty-25.3> Crafty v25.3
19:19:50 Komodo 10 64-bit> info string Licensed to Komodochess.com
19:19:50 Crafty-25.3> machine has 8 processors
19:19:50 Komodo 10 64-bit> id name Komodo 10 64-bit
19:19:50 Crafty-25.3> White(1):
19:19:50 Komodo 10 64-bit> id author Don Dailey, Larry Kaufman, Mark Lefler
19:19:50 Crafty-25.3> tellicsnoalias set 1 Crafty v25.3 (1 cpus)
19:19:50 Komodo 10 64-bit> option name Threads type spin default 1 min 1 max 64
19:19:50 Crafty-25.3> tellicsnoalias kibitz Hello from Crafty v25.3! (1 cpus)
19:19:50 Crafty-25.3> feature ping=1 setboard=1 san=1 time=1 draw=1
19:19:50 Komodo 10 64-bit> option name Ponder type check default true
19:19:50 Crafty-25.3< accepted ping
19:19:50 Komodo 10 64-bit> option name Hash type spin default 128 min 1 max 65536
19:19:50 Crafty-25.3< accepted setboard
19:19:50 Komodo 10 64-bit> option name Clear Hash type button
19:19:50 Crafty-25.3< accepted san
19:19:50 Komodo 10 64-bit> option name Table Memory type spin default 128 min 1 max 1024
19:19:50 Crafty-25.3< accepted time
19:19:50 Crafty-25.3< accepted draw
19:19:50 Komodo 10 64-bit> option name MultiPV type spin default 1 min 1 max 218
19:19:50 Crafty-25.3> feature sigint=0 sigterm=0 reuse=0 analyze=1
19:19:50 Komodo 10 64-bit> option name OwnBook type check default true
19:19:50 Crafty-25.3< accepted sigint
19:19:50 Komodo 10 64-bit> option name Book File type string default komodo.bin
19:19:50 Crafty-25.3< accepted sigterm
19:19:50 Komodo 10 64-bit> option name Best Book Line type check default false
19:19:50 Crafty-25.3< accepted reuse
19:19:50 Komodo 10 64-bit> option name Log File type string default <empty>
19:19:50 Crafty-25.3< accepted analyze
19:19:50 Komodo 10 64-bit> option name Hash File Name type string default <empty>
19:19:50 Crafty-25.3> feature myname="Crafty-25.3" name=1
19:19:50 Komodo 10 64-bit> option name Save Hash to File type button
19:19:50 Crafty-25.3< accepted myname
19:19:50 Komodo 10 64-bit> option name Load Hash from File type button
19:19:50 Crafty-25.3< accepted name
19:19:50 Komodo 10 64-bit> option name UCI_Chess960 type check default false
19:19:50 Crafty-25.3> feature playother=1 colors=0 memory=1
19:19:50 Komodo 10 64-bit> option name UCI_AnalyseMode type check default false
19:19:50 Crafty-25.3< accepted playother
19:19:50 Komodo 10 64-bit> option name Use LMR type check default true
19:19:50 Crafty-25.3< accepted colors
19:19:50 Komodo 10 64-bit> option name Null Move Pruning type check default true
19:19:50 Crafty-25.3< accepted memory
19:19:50 Komodo 10 64-bit> option name Minimal Reporting type check default false
19:19:50 Crafty-25.3> feature smp=1
19:19:50 Komodo 10 64-bit> option name Suppress type spin default 0 min 0 max 200
19:19:50 Crafty-25.3< accepted smp
19:19:50 Crafty-25.3> feature variants="normal,nocastle"
19:19:50 Komodo 10 64-bit> option name Overhead ms type spin default 30 min 0 max 10000
19:19:50 Crafty-25.3< accepted variants
19:19:50 Komodo 10 64-bit> option name Time Usage type spin default 0 min -9 max 9
19:19:50 Crafty-25.3> feature done=1
19:19:50 Komodo 10 64-bit> option name Use Syzygy type check default true
19:19:50 Komodo 10 64-bit> option name SyzygyPath type string default <empty>
19:19:50 Komodo 10 64-bit> option name Syzygy Probe Depth type spin default 2 min 0 max 99
19:19:50 Komodo 10 64-bit> option name Syzygy Probe Limit type spin default 6 min 0 max 6
19:19:50 Komodo 10 64-bit> option name Syzygy 50 Move Rule type check default true
19:19:50 Komodo 10 64-bit> option name King Safety type spin default 65 min 0 max 200
19:19:50 Komodo 10 64-bit> option name Selectivity type spin default 131 min 10 max 200
19:19:50 Komodo 10 64-bit> option name Reduction type spin default 0 min -1000 max 150
19:19:50 Komodo 10 64-bit> option name Dynamism type spin default 110 min 0 max 200
19:19:50 Komodo 10 64-bit> option name Contempt type spin default 10 min -500 max 500
19:19:50 Komodo 10 64-bit> option name White Contempt type check default false
19:19:50 Komodo 10 64-bit> option name Magnify type spin default 88 min 0 max 200
19:19:50 Komodo 10 64-bit> uciok
19:19:50 Komodo 10 64-bit< setoption name SyzygyPath value /Users/nguyenpham/workspace/BanksiaMatch/syzygy345
19:19:50 Komodo 10 64-bit< isready
19:19:50 Komodo 10 64-bit> info string Found 94 tablebases (up to 5-man).
19:19:50 Komodo 10 64-bit> info string Probing tablebases up to 5-man.
19:19:50 Komodo 10 64-bit> readyok
19:19:50 Komodo 10 64-bit< ucinewgame
19:19:50 Crafty-25.3< memory 128
cores 1
19:19:50 Crafty-25.3> Warning--  xboard 'memory' option disabled
19:19:50 Crafty-25.3< easy
19:19:50 Crafty-25.3< post
19:19:50 Crafty-25.3< setboard r1bq1rk1/ppppbppp/3n4/4R3/8/8/PPPP1PPP/RNBQ1BK1 w - - 0 1
19:19:50 Crafty-25.3< level 40 0:6 0
19:19:50 Crafty-25.3> Warning--  xboard 'memory' option disabled
19:19:50 Crafty-25.3< ping 1
19:20:00 banksia> Timeleft for Crafty-25.3: 6.00, used: 7.21, Komodo 10 64-bit: 6.00
19:20:00 Crafty-25.3< force
19:20:00 banksia> 5) Crafty-25.3 vs Komodo 10 64-bit, #0, 0-1 (timeout)
19:20:00 Komodo 10 64-bit< quit
19:20:00 Crafty-25.3< quit
Here is the result of this tournament (a typical one - I have seen similar ones many times), Crafty plays 6 matches, 4 fine, 2 crash/timeout.

Code: Select all

1. Stockfish 230619 vs Komodo 10 64-bit
1) Stockfish 230619 vs Komodo 10 64-bit, #43, 1/2-1/2 (repetition)
2. Komodo 10 64-bit vs Stockfish 230619
2) Komodo 10 64-bit vs Stockfish 230619, #209, 1/2-1/2 (fifty moves)
3. IvanHoe-Beta verzione 999966-Beta vs Komodo 10 64-bit
3) IvanHoe-Beta verzione 999966-Beta vs Komodo 10 64-bit, #134, 0-1 (mate)
4. Komodo 10 64-bit vs IvanHoe-Beta verzione 999966-Beta
4) Komodo 10 64-bit vs IvanHoe-Beta verzione 999966-Beta, #214, 0-1 (timeout)
5. Crafty-25.3 vs Komodo 10 64-bit
5) Crafty-25.3 vs Komodo 10 64-bit, #0, 0-1 (timeout)
6. Komodo 10 64-bit vs Crafty-25.3
6) Komodo 10 64-bit vs Crafty-25.3, #77, 1-0 (mate)
7. IvanHoe-Beta verzione 999966-Beta vs Stockfish 230619
7) IvanHoe-Beta verzione 999966-Beta vs Stockfish 230619, #300, 1/2-1/2 (fifty moves)
8. Stockfish 230619 vs IvanHoe-Beta verzione 999966-Beta
8) Stockfish 230619 vs IvanHoe-Beta verzione 999966-Beta, #122, 0-1 (mate)
9. Stockfish 230619 vs Crafty-25.3
9) Stockfish 230619 vs Crafty-25.3, #0, 1-0 (crash)
10. Crafty-25.3 vs Stockfish 230619
10) Crafty-25.3 vs Stockfish 230619, #194, 1/2-1/2 (repetition)
11. Crafty-25.3 vs IvanHoe-Beta verzione 999966-Beta
11) Crafty-25.3 vs IvanHoe-Beta verzione 999966-Beta, #142, 0-1 (mate)
12. IvanHoe-Beta verzione 999966-Beta vs Crafty-25.3
12) IvanHoe-Beta verzione 999966-Beta vs Crafty-25.3, #175, 1-0 (mate)

crafty will always play cores=1 unless you tell otherwise - but the error means nothing here - so it seems like you are building GUI that combines UCI and xboard?? or are you building an xBoard GUI that is using a UCI to xBoard adaptor. If you turn the crafty log, it will provide more information - crafty should not crash at all under xboard - something else is going on here.
Image
User avatar
MikeB
Posts: 4889
Joined: Thu Mar 09, 2006 6:34 am
Location: Pen Argyl, Pennsylvania

Re: Need help to make Crafty work

Post by MikeB »

I would run crafty in terminal mode first using your commands with the log on, also crafty requires an 'rc' file (on mac OS ".craftyrc"

- something like this:

Code: Select all

hash 256M
hashp 16M
tbpath /Volumes/OWC960/syzygy:/Volumes/S1/Z1/z:/Volumes/S2/Z2/z:/Volumes/S3/Z3/z
egtb
mt 1
book off

draw nooffer
draw decline
#disp nomoves  (note_ this should normally be left on for debug purposes_
noise 1
ponder on
resign 0
log on
xboard
crafty log file created

Code: Select all

tellicsnoalias set 1 Crafty v25.2 (1 cpus)
tellicsnoalias kibitz Hello from Crafty v25.2! (1 cpus)

Crafty v25.2

machine has 24 processors

feature done=1
White(1): setboard r1bq1rk1/ppppbppp/3n4/4R3/8/8/PPPP1PPP/RNBQ1BK1 w - - 0 1

       +---+---+---+---+---+---+---+---+
    8  |<R>| . |<B>|<Q>|   |<R>|<K>| . |
       +---+---+---+---+---+---+---+---+
    7  |<P>|<P>|<P>|<P>|<B>|<P>|<P>|<P>|
       +---+---+---+---+---+---+---+---+
    6  |   | . |   |<N>|   | . |   | . |
       +---+---+---+---+---+---+---+---+
    5  | . |   | . |   |-R-|   | . |   |
       +---+---+---+---+---+---+---+---+
    4  |   | . |   | . |   | . |   | . |
       +---+---+---+---+---+---+---+---+
    3  | . |   | . |   | . |   | . |   |
       +---+---+---+---+---+---+---+---+
    2  |-P-|-P-|-P-|-P-|   |-P-|-P-|-P-|
       +---+---+---+---+---+---+---+---+
    1  |-R-|-N-|-B-|-Q-| . |-B-|-K-|   |
       +---+---+---+---+---+---+---+---+
         a   b   c   d   e   f   g   h

White(1): level 40 0:6 0
40 moves/6 seconds primary time control
40 moves/6 seconds secondary time control
White(1): force
White(1): go
        time surplus   0.00  time limit 0.15 (0.75)
        depth     time       score   variation (1)
         14->   0.18/0.13    -0.03   1. Nc3 Bf6 2. Re1 b6 3. Nd5 Bb7 4. Bd3 Bg5
                                     5. Qh5 g6 6. Qf3 Re8 7. Rxe8+ Qxe8 8. Nf6+
                                     Bxf6 9. Qxf6
        time=0.18(100%)  nodes=1075185(1.1M)  fh1=90%  pred=0  nps=6.0M
        chk=10.9K  qchk=13.3K  fp=379.8K  mcp=279.5K  50move=1
        LMReductions:  1/35.1K  2/22.7K  3/14.9K  4/4.9K  5/282
        null-move (R):  3/44.3K  4/2.4K  5/11
White(1): Nc3
              time used:   0.18
Black(1): Bf6 [pondering]
        time surplus   0.00  time limit 0.14 (0.70)
        depth     time       score   variation (13)
         19     1.17/0.08     0.07   1. ... (Bf6) 2. Re1 Re8 3. Rxe8+ Nxe8
                                     4. Nd5 c6 5. Nxf6+ Nxf6 6. d4 d5 7. c3 Qb6
                                     8. Bd3 Bd7 9. Bg5 Ne4 10. Bxe4 dxe4
                                     11. Qc2 f6 12. Bf4
         19->   1.23/0.08     0.07   1. ... (Bf6) 2. Re1 Re8 3. Rxe8+ Nxe8
                                     4. Nd5 c6 5. Nxf6+ Nxf6 6. d4 d5 7. c3 Qb6
                                     8. Bd3 Bd7 9. Bg5 Ne4 10. Bxe4 dxe4
                                     11. Qc2 f6 12. Bf4
         20     1.79/0.08     0.09   1. ... (Bf6) 2. Re1 Re8 3. Rxe8+ Nxe8
                                     4. Nd5 c6 5. Nxf6+ Nxf6 6. d4 d5 7. c3 Qb6
                                     8. Bd3 Bg4 9. f3 Bh5 10. Qc2 Re8 11. Bg5
                                     Bg6 12. Bxf6 Bxd3 13. Qxd3 gxf6
         20->   1.86/0.08     0.09   1. ... (Bf6) 2. Re1 Re8 3. Rxe8+ Nxe8
                                     4. Nd5 c6 5. Nxf6+ Nxf6 6. d4 d5 7. c3 Qb6
                                     8. Bd3 Bg4 9. f3 Bh5 10. Qc2 Re8 11. Bg5
                                     Bg6 12. Bxf6 Bxd3 13. Qxd3 gxf6
         21     3.00/0.08     0.03   1. ... (Bf6) 2. Re1 Re8 3. Rxe8+ Nxe8
                                     4. Nd5 c6 5. Nxf6+ Nxf6 6. d4 d5 7. c3 Bf5
                                     8. Bg5 Qd6 9. Qb3 b6 10. Re1 Ne4 11. Bd3
                                     Re8 12. f3 h6 13. Bxe4 Bxe4 14. fxe4 hxg5
         21->   3.19/0.08     0.03   1. ... (Bf6) 2. Re1 Re8 3. Rxe8+ Nxe8
                                     4. Nd5 c6 5. Nxf6+ Nxf6 6. d4 d5 7. c3 Bf5
                                     8. Bg5 Qd6 9. Qb3 b6 10. Re1 Ne4 11. Bd3
                                     Re8 12. f3 h6 13. Bxe4 Bxe4 14. fxe4 hxg5
         22     6.15/0.08     0.15   1. ... (Bf6) 2. Re1 Re8 3. Rxe8+ Nxe8
                                     4. Nd5 b6 5. Qf3 c6 6. Nxf6+ Qxf6 7. Be2
                                     d5 8. d3 Bf5 9. g4 Be6 10. g5 Qe7 11. Bf4
                                     Nd6 12. Re1 Re8 13. h4 c5
         22->   6.27/0.08     0.15   1. ... (Bf6) 2. Re1 Re8 3. Rxe8+ Nxe8
                                     4. Nd5 b6 5. Qf3 c6 6. Nxf6+ Qxf6 7. Be2
                                     d5 8. d3 Bf5 9. g4 Be6 10. g5 Qe7 11. Bf4
                                     Nd6 12. Re1 Re8 13. h4 c5
Black(1): go
        time surplus   0.00  time limit 0.14 (0.70)
        depth     time       score   variation (1)
         17->   0.12/0.08     0.15   1. ... Bf6 2. Re1 Re8 3. Rxe8+ Nxe8 4. Nd5
                                     b6 5. Qf3 c6 6. Nxf6+ Qxf6 7. Be2 d5 8. d3
                                     Bf5 9. g4 Be6 10. g5 Qe7 11. Bf4 Nd6
                                     12. Re1 Re8 13. h4 c5
        time=0.12(100%)  nodes=769722(769.7K)  fh1=91%  pred=0  nps=6.4M
        chk=8.0K  qchk=6.8K  fp=294.5K  mcp=176.6K  50move=2
        LMReductions:  1/28.5K  2/19.7K  3/15.8K  4/5.2K  5/106
        null-move (R):  3/35.4K  4/3.6K  5/98
Black(1): Bf6
              time used:   0.12
White(2): Re1 [pondering]
        time surplus   0.00  time limit 0.15 (0.75)
        depth     time       score   variation (16)
White(2): go
        time surplus   0.00  time limit 0.15 (0.75)
        depth     time       score   variation (1)
         21->   0.10/0.09     0.12   2. Re1 Re8 3. Rxe8+ Nxe8 4. Nd5 b6 5. Qf3
                                     c6 6. Nxf6+ Qxf6 7. Be2 d5 8. d3 Bf5 9. g4
                                     Be6 10. g5 Qe7 11. Bf4 Nd6 12. Re1 Re8
                                     13. h4 h6 14. gxh6 gxh6
        time=0.10(100%)  nodes=720086(720.1K)  fh1=93%  pred=0  nps=7.2M
        chk=7.4K  qchk=11.2K  fp=325.5K  mcp=134.1K  50move=3
        LMReductions:  1/22.4K  2/17.5K  3/17.8K  4/13.7K  5/3.1K  6/95
        null-move (R):  3/27.9K  4/5.5K  5/449  6/11
White(2): Re1
              time used:   0.10
Black(2): Re8 [pondering]
        time surplus   0.05  time limit 0.15 (0.75)
        depth     time       score   variation (20)
Black(2): go
        time surplus   0.05  time limit 0.15 (0.75)
        depth     time       score   variation (1)
         23->   0.48/0.09     0.06   2. ... Re8 3. Rxe8+ Nxe8 4. Nd5 b6 5. Qf3
                                     c6 6. Nxf6+ Qxf6 7. Be2 d5 8. d3 Bf5 9. g4
                                     Be6 10. g5 Qxf3 11. Bxf3 Nd6 12. Kg2 Nf5
                                     13. Bd2 Nd4 14. c3 Nxf3 15. Kxf3
        time=0.48(100%)  nodes=2932330(2.9M)  fh1=91%  pred=0  nps=6.1M
        chk=28.0K  qchk=35.2K  fp=1.2M  mcp=569.0K  50move=0
        LMReductions:  1/86.6K  2/61.3K  3/56.0K  4/26.6K  5/2.6K  6/41
        null-move (R):  3/121.9K  4/13.3K  5/771  6/41
Black(2): Re8
              time used:   0.48
White(3): Rxe8+ [pondering]
        time surplus   0.00  time limit 0.14 (0.70)
        depth     time       score   variation (22)
White(3): go
        time surplus   0.00  time limit 0.14 (0.70)
        depth     time       score   variation (1)
         22->   0.08/0.08     0.06   3. Rxe8+ Nxe8 4. Nd5 b6 5. Qf3 c6 6. Nxf6+
                                     Qxf6 7. Be2 d5 8. d3 Bf5 9. g4 Be6 10. g5
                                     Qxf3 11. Bxf3 Nd6 12. Kg2 Nf5 13. Bd2 Nd4
                                     14. c3 Nxf3 15. Kxf3
        time=0.08(100%)  nodes=458449(458.4K)  fh1=92%  pred=0  nps=5.7M
        chk=5.4K  qchk=6.2K  fp=176.7K  mcp=100.8K  50move=0
        LMReductions:  1/15.2K  2/10.7K  3/9.3K  4/3.3K  5/244  6/1
        null-move (R):  3/21.6K  4/2.2K  5/106  6/7
White(3): Rxe8+
              time used:   0.08
Black(3): Nxe8 [pondering]
        time surplus   0.00  time limit 0.14 (0.70)
        depth     time       score   variation (21)
Black(3): go
        time surplus   0.00  time limit 0.14 (0.70)
        depth     time       score   variation (1)
         22->   0.08/0.08     0.06   3. ... Nxe8 4. Nd5 b6 5. Qf3 c6 6. Nxf6+
                                     Qxf6 7. Be2 d5 8. d3 Bf5 9. g4 Be6 10. g5
                                     Qxf3 11. Bxf3 Nd6 12. Kg2 Nf5 13. Bd2 Nd4
                                     14. c3 Nxf3 15. Kxf3
        time=0.08(100%)  nodes=481506(481.5K)  fh1=91%  pred=0  nps=6.0M
        chk=2.7K  qchk=3.3K  fp=169.1K  mcp=126.9K  50move=1
        LMReductions:  1/17.2K  2/11.5K  3/9.6K  4/4.4K  5/432  6/15
        null-move (R):  3/21.4K  4/2.1K  5/221  6/12
Black(3): Nxe8
              time used:   0.08
White(4): Nd5 [pondering]
        time surplus   0.00  time limit 0.14 (0.70)
        depth     time       score   variation (21)
White(4): go
        time surplus   0.00  time limit 0.14 (0.70)
        depth     time       score   variation (1)
         22->   0.15/0.08     0.16   4. Nd5 b6 5. Qf3 c6 6. Nxf6+ Qxf6 7. Be2
                                     d5 8. d3 Bf5 9. g4 Be6 10. Qxf6 Nxf6
                                     11. g5 Ng4 12. Bf4 f6 13. gxf6 Nxf6
                                     14. Re1 Re8 15. Bf3
        time=0.15(100%)  nodes=929980(930.0K)  fh1=90%  pred=0  nps=6.2M
        chk=5.8K  qchk=6.8K  fp=331.0K  mcp=233.8K  50move=0
        LMReductions:  1/35.4K  2/24.2K  3/19.0K  4/8.4K  5/896  6/10
        null-move (R):  3/40.1K  4/3.2K  5/144  6/13
White(4): Nd5
              time used:   0.15
Black(4): b6 [pondering]
        time surplus   0.00  time limit 0.14 (0.70)
        depth     time       score   variation (21)
Black(4): go
        time surplus   0.00  time limit 0.14 (0.70)
        depth     time       score   variation (1)
         17->   0.08/0.08     0.07   4. ... c6 5. Nxf6+ Nxf6 6. d4 d5 7. Bd3
                                     Bg4 8. f3 Bh5 9. c3 Bg6 10. Bxg6 fxg6
                                     11. Be3 Qb6 12. Qb3 Re8 13. Qxb6 axb6
        time=0.08(100%)  nodes=522055(522.1K)  fh1=95%  pred=0  nps=6.5M
        chk=2.5K  qchk=2.2K  fp=182.3K  mcp=133.1K  50move=2
        LMReductions:  1/24.0K  2/19.3K  3/17.1K  4/6.5K  5/344
        null-move (R):  3/27.6K  4/3.9K  5/186
Black(4): c6
              time used:   0.08
White(5): Nxf6+ [pondering]
        time surplus   0.00  time limit 0.14 (0.70)
        depth     time       score   variation (16)
White(5): go
        time surplus   0.00  time limit 0.14 (0.70)
        depth     time       score   variation (1)
         20->   0.08/0.08     0.16   5. Nxf6+ Nxf6 6. d4 d5 7. Bd3 Bg4 8. f3
                                     Bh5 9. c3 Bg6 10. Bxg6 hxg6 11. Be3 Qd7
                                     12. Qd3 Re8 13. Re1 a6 14. b3 g5 15. c4
        time=0.08(100%)  nodes=491684(491.7K)  fh1=93%  pred=0  nps=6.1M
        chk=2.2K  qchk=1.7K  fp=188.7K  mcp=125.3K  50move=0
        LMReductions:  1/17.8K  2/13.7K  3/13.2K  4/6.4K  5/593
        null-move (R):  3/23.6K  4/2.6K  5/215  6/12
White(5): Nxf6+
              time used:   0.08
Black(5): Nxf6 [pondering]
        time surplus   0.00  time limit 0.15 (0.75)
        depth     time       score   variation (19)
Black(5): go
        time surplus   0.00  time limit 0.15 (0.75)
        depth     time       score   variation (1)
         17->   0.17/0.15     0.13   5. ... Qxf6 6. c3 d5 7. d3 Nd6 8. Qa4 Bf5
                                     9. Bf4 g5 10. Bxd6 Qxd6 11. Re1 Kg7 12. d4
                                     f6 13. Qb3 b6
        time=0.17(100%)  nodes=1101755(1.1M)  fh1=93%  pred=0  nps=6.5M
        chk=3.2K  qchk=3.4K  fp=388.3K  mcp=303.3K  50move=0
        LMReductions:  1/47.1K  2/34.6K  3/27.5K  4/10.0K  5/443
        null-move (R):  3/53.4K  4/5.0K  5/102
Black(5): Qxf6
              time used:   0.17
White(6): c3 [pondering]
        time surplus   0.00  time limit 0.14 (0.70)
        depth     time       score   variation (16)
White(6): go
        time surplus   0.00  time limit 0.14 (0.70)
        depth     time       score   variation (1)
         20->   0.14/0.08     0.23   6. c3 d5 7. d4 Nd6 8. g3 Bf5 9. Bf4 Qe7
                                     10. Qa4 a6 11. Qb4 Rd8 12. Bg2 f6 13. a3
                                     g5 14. Be3 Be4 15. Re1 Bxg2 16. Kxg2
        time=0.14(100%)  nodes=897995(898.0K)  fh1=93%  pred=0  nps=6.4M
        chk=4.0K  qchk=4.5K  fp=336.7K  mcp=225.2K  50move=0
        LMReductions:  1/38.4K  2/28.9K  3/24.0K  4/9.9K  5/912  6/1
        null-move (R):  3/42.7K  4/5.5K  5/292  6/6
White(6): c3
              time used:   0.14
Black(6): d5 [pondering]
        time surplus   0.00  time limit 0.14 (0.70)
        depth     time       score   variation (19)
Black(6): go
        time surplus   0.00  time limit 0.14 (0.70)
        depth     time       score   variation (1)
         19->   0.08/0.08     0.23   6. ... d5 7. d4 Nd6 8. g3 Bf5 9. Bf4 Qe7
                                     10. Qa4 a6 11. Qb4 Rd8 12. Bg2 f6 13. a3
                                     g5 14. Be3 Be4 15. Re1 Bxg2 16. Kxg2
        time=0.08(100%)  nodes=522865(522.9K)  fh1=93%  pred=0  nps=6.5M
        chk=2.5K  qchk=2.0K  fp=199.9K  mcp=139.1K  50move=0
        LMReductions:  1/18.8K  2/14.7K  3/11.6K  4/5.1K  5/339  6/2
        null-move (R):  3/25.7K  4/2.0K  5/89  6/3
Black(6): d5
              time used:   0.08
White(7): d4 [pondering]
        time surplus   0.06  time limit 0.15 (0.75)
        depth     time       score   variation (18)
White(7): go
        time surplus   0.06  time limit 0.15 (0.75)
        depth     time       score   variation (1)
         20->   0.09/0.09     0.30   7. d4 Nd6 8. g3 Bf5 9. Bf4 Re8 10. Qb3 b5
                                     11. Qa3 Nc8 12. Bg2 Qd8 13. h4 Qb6 14. b3
                                     f6 15. Be3 Re6 16. Re1 Nd6
        time=0.09(100%)  nodes=543676(543.7K)  fh1=93%  pred=0  nps=6.0M
        chk=2.4K  qchk=2.2K  fp=201.4K  mcp=140.4K  50move=1
        LMReductions:  1/20.3K  2/15.5K  3/13.3K  4/5.4K  5/401
        null-move (R):  3/25.4K  4/2.4K  5/149  6/7
White(7): d4
              time used:   0.09
Black(7): Nd6 [pondering]
        time surplus   0.12  time limit 0.15 (0.75)
        depth     time       score   variation (19)
Black(7): go
        time surplus   0.12  time limit 0.15 (0.75)
        depth     time       score   variation (1)
         14->   0.12/0.11     0.20   7. ... Nd6 8. Qb3 Bd7 9. g3 Ne4 10. Bf4 b6
                                     11. f3 Ng5 12. Bxg5 Qxg5 13. Re1 Re8
                                     14. Rxe8+ Bxe8
        time=0.12(100%)  nodes=746345(746.3K)  fh1=94%  pred=0  nps=6.2M
        chk=3.4K  qchk=3.4K  fp=279.7K  mcp=195.7K  50move=0
        LMReductions:  1/27.5K  2/20.8K  3/17.0K  4/6.9K  5/308
        null-move (R):  3/34.8K  4/2.5K  5/13
Black(7): Nd6
              time used:   0.12
White(8): Qb3 [pondering]
        time surplus   0.15  time limit 0.15 (0.75)
        depth     time       score   variation (13)
         18     2.06/0.18     0.22   8. (Qb3) Bd7 9. Qa3 a6 10. Bg5 Qe6 11. Bd3
                                     Re8 12. Qb4 b5 13. Qa3 Nc4 14. Bxc4 bxc4
                                     15. Be3 Rb8 16. Re1 f6 17. f3
         18->   2.11/0.18     0.22   8. (Qb3) Bd7 9. Qa3 a6 10. Bg5 Qe6 11. Bd3
                                     Re8 12. Qb4 b5 13. Qa3 Nc4 14. Bxc4 bxc4
                                     15. Be3 Rb8 16. Re1 f6 17. f3
         19     2.47/0.18     0.16   8. (Qb3) Bd7 9. Qa3 h6 10. Bd2 Ne4 11. Be3
                                     a6 12. Re1 Re8 13. Qb4 Nd6 14. Bd3 Re7
                                     15. a3 Bf5 16. Be2 Be4 17. f3 Qh4
         19->   2.56/0.16     0.16   8. (Qb3) Bd7 9. Qa3 h6 10. Bd2 Ne4 11. Be3
                                     a6 12. Re1 Re8 13. Qb4 Nd6 14. Bd3 Re7
                                     15. a3 Bf5 16. Be2 Be4 17. f3 Qh4
         20     3.35/0.16     0.31   8. (Qb3) Bd7 9. Bd2 Re8 10. f3 b6 11. Re1
                                     Rxe1 12. Bxe1 Qh6 13. Qc2 Nc4 14. Bxc4
                                     dxc4 15. Bd2 Qg6 16. Qxg6 fxg6 17. Kf2 Kf7
                                     18. Ke3
         20->   3.77/0.14     0.31   8. (Qb3) Bd7 9. Bd2 Re8 10. f3 b6 11. Re1
                                     Rxe1 12. Bxe1 Qh6 13. Qc2 Nc4 14. Bxc4
                                     dxc4 15. Bd2 Qg6 16. Qxg6 fxg6 17. Kf2 Kf7
                                     18. Ke3
         21     4.04/0.14     0.26   8. (Qb3) Bd7 9. Bd2 Re8 10. f3 b6 11. Re1
                                     Rxe1 12. Bxe1 Qh6 13. Qc2 Nc4 14. Bxc4
                                     dxc4 15. Bd2 Qg6 16. Qxg6 fxg6 17. Kf2 Kf7
                                     18. Ke3 Kf6
         21->   4.27/0.13     0.26   8. (Qb3) Bd7 9. Bd2 Re8 10. f3 b6 11. Re1
                                     Rxe1 12. Bxe1 Qh6 13. Qc2 Nc4 14. Bxc4
                                     dxc4 15. Bd2 Qg6 16. Qxg6 fxg6 17. Kf2 Kf7
                                     18. Ke3 Kf6
         22     4.57/0.13     0.27   8. (Qb3) Bd7 9. Bd2 Re8 10. f3 b6 11. Re1
                                     Rxe1 12. Bxe1 Qh6 13. Qc2 Nc4 14. Bxc4
                                     dxc4 15. Bd2 Qg6 16. Qxg6 fxg6 17. Kf2 Kf7
                                     18. Ke3 Kf6 19. Kf4 g5+ 20. Ke4
White(8): stop
Illegal move: stop
         22->   5.13/0.11     0.27   8. (Qb3) Bd7 9. Bd2 Re8 10. f3 b6 11. Re1
                                     Rxe1 12. Bxe1 Qh6 13. Qc2 Nc4 14. Bxc4
                                     dxc4 15. Bd2 Qg6 16. Qxg6 fxg6 17. Kf2 Kf7
                                     18. Ke3 Kf6 19. Kf4 g5+ 20. Ke4
         23     6.07/0.11     0.28   8. (Qb3) Bd7 9. Bd2 Re8 10. f3 h5 11. Re1
                                     Rxe1 12. Bxe1 Qh6 13. Qd1 a6 14. Bd2 Qf6
                                     15. Be2 h4 16. Qb3 g5 17. Qa3 Bf5 18. Bxg5
                                     Qxg5 19. Qxd6 Qc1+ 20. Kf2 Qxb2
         23->   7.06/0.10     0.28   8. (Qb3) Bd7 9. Bd2 Re8 10. f3 h5 11. Re1
                                     Rxe1 12. Bxe1 Qh6 13. Qd1 a6 14. Bd2 Qf6
                                     15. Be2 h4 16. Qb3 g5 17. Qa3 Bf5 18. Bxg5
                                     Qxg5 19. Qxd6 Qc1+ 20. Kf2 Qxb2
         24     7.86/0.10     0.28   8. (Qb3) Bd7 9. Bd2 Re8 10. f3 h5 11. Re1
                                     Rxe1 12. Bxe1 Qh6 13. Qd1 a6 14. Bd2 Qf6
                                     15. Be2 h4 16. Qb3 g5 17. Qa3 Bf5 18. Bxg5
                                     Qxg5 19. Qxd6 Qc1+ 20. Kf2 Qxb2
         24->   8.61/0.09     0.28   8. (Qb3) Bd7 9. Bd2 Re8 10. f3 h5 11. Re1
                                     Rxe1 12. Bxe1 Qh6 13. Qd1 a6 14. Bd2 Qf6
                                     15. Be2 h4 16. Qb3 g5 17. Qa3 Bf5 18. Bxg5
                                     Qxg5 19. Qxd6 Qc1+ 20. Kf2 Qxb2
         25    11.33/0.09     0.26   8. (Qb3) Bd7 9. Bd2 Re8 10. f3 h5 11. Re1
                                     Rxe1 12. Bxe1 Qf4 13. Qd1 h4 14. Bd2 Qf6
                                     15. Be2 a6 16. Be3 Bf5 17. a3 Nc4 18. Bxc4
                                     dxc4 19. Qd2 h3 20. Bg5 Qd6
         25->  12.72/0.09     0.26   8. (Qb3) Bd7 9. Bd2 Re8 10. f3 h5 11. Re1
                                     Rxe1 12. Bxe1 Qf4 13. Qd1 h4 14. Bd2 Qf6
                                     15. Be2 a6 16. Be3 Bf5 17. a3 Nc4 18. Bxc4
                                     dxc4 19. Qd2 h3 20. Bg5 Qd6

White(8): quit
        time=23.77(100%)  nodes=158055336(158.1M)  fh1=92%  pred=0  nps=6.6M
        chk=1.4M  qchk=1.7M  fp=63.5M  mcp=32.7M  50move=2
        LMReductions:  1/5.0M  2/3.4M  3/3.1M  4/1.5M  5/181.5K  6/6.8K  7/7
        null-move (R):  3/7.0M  4/749.1K  5/36.3K  6/1.7K  7/19


Image
User avatar
MikeB
Posts: 4889
Joined: Thu Mar 09, 2006 6:34 am
Location: Pen Argyl, Pennsylvania

Re: Need help to make Crafty work

Post by MikeB »

I just ran a 10 game crafty vs crafty with the log turned on , no crashes, no flags, at the time control you used 40 move /6 seconds -

everything ran perfect - a new instance of crafty was started for each game automatically with xBoard.

logs attached
Image
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Need help to make Crafty work

Post by bob »

cores=1 is illegal so far as Crafty is concerned. cores=0 says to disable the SMP thread stuff completely. If it accepted cores=1 it would incur some overhead that gains nothing useful at all. Has always been that way. The ideal solution would probably be to parse the cores command and if it is <= 1, then set it to zero silently, which would get rid of the error (which hurts nothing by the way).

If you want to fix this, go to option.c and look for "cores". In that block of code, you will see "if (smp_max_threads == 1) {

Delete the two Print statements that follow, leaving only the "smp_max_threads = 0;" line. The error will be gone and it will still work as it should.
User avatar
phhnguyen
Posts: 1434
Joined: Wed Apr 21, 2010 4:58 am
Location: Australia
Full name: Nguyen Hong Pham

Re: Need help to make Crafty work

Post by phhnguyen »

Thank Mike and Bob,

From Mike's game logs, I suspected my Crafty binary may cause the problem. Thus I have downloaded a new (actually it is three years old, not really new :? ) one from Mike's github - Crafty 25.2 for macOS.

- It (Mike's binary) still displays the error message when I set cores to 1
- I have run some tournaments for almost whole days, Crafty played over 100 fast games. It surprised me: none of them are crashed or timeout!!! It means I can use Crafty from now on with my interface.
bob wrote: Wed Jul 17, 2019 5:02 am ...
If you want to fix this, go to option.c and look for "cores". In that block of code, you will see "if (smp_max_threads == 1) {

Delete the two Print statements that follow, leaving only the "smp_max_threads = 0;" line. The error will be gone and it will still work as it should.
Thanks. I am willing to fix Crafty. However, I am wondering why my compiled binary of Crafty cannot run smoothly. Not sure that is caused by my broken system or Crafty has a problem with new gcc. Anyone has ideas about this issue?

BTW, in my system, Crafty created too many log/game files. Is there any way to turn them off via command line or Winboard features/options? Thanks.
https://banksiagui.com
The most features chess GUI, based on opensource Banksia - the chess tournament manager
User avatar
MikeB
Posts: 4889
Joined: Thu Mar 09, 2006 6:34 am
Location: Pen Argyl, Pennsylvania

Re: Need help to make Crafty work

Post by MikeB »

phhnguyen wrote: Wed Jul 17, 2019 11:55 am Thank Mike and Bob,

From Mike's game logs, I suspected my Crafty binary may cause the problem. Thus I have downloaded a new (actually it is three years old, not really new :? ) one from Mike's github - Crafty 25.2 for macOS.

- It (Mike's binary) still displays the error message when I set cores to 1
- I have run some tournaments for almost whole days, Crafty played over 100 fast games. It surprised me: none of them are crashed or timeout!!! It means I can use Crafty from now on with my interface.
bob wrote: Wed Jul 17, 2019 5:02 am ...
If you want to fix this, go to option.c and look for "cores". In that block of code, you will see "if (smp_max_threads == 1) {

Delete the two Print statements that follow, leaving only the "smp_max_threads = 0;" line. The error will be gone and it will still work as it should.
Thanks. I am willing to fix Crafty. However, I am wondering why my compiled binary of Crafty cannot run smoothly. Not sure that is caused by my broken system or Crafty has a problem with new gcc. Anyone has ideas about this issue?

BTW, in my system, Crafty created too many log/game files. Is there any way to turn them off via command line or Winboard features/options? Thanks.
add the line "log off" to the file ".craftyrc" , place the hidden file in the same folder as crafty.rc
Image
User avatar
hgm
Posts: 27788
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Need help to make Crafty work

Post by hgm »

Note that 'cores=1' is not CECP, but that I accidentally wrote that earlier when I meant "feature smp=1". When an engine does not understand this feature, it does not support the CECP 'cores' commans to set the number of search threads, and the GUI is not supposed to send it.