It appears that the connect software and the wired network connections can NOT be the source of the problem. Next most likely cause is the chess engine.
I was using mayhemduck, since it ran on several of my machines. I had some problems getting FSFDuck compiled and working on two new machines.
I was able to get a linux version of TJchessDuck recently, and tried that instead of mayhemduck. It worked fine, and I finally completed a five game match with NO errors.
Duck Chess
Moderator: Ras
-
- Posts: 121
- Joined: Sat Dec 03, 2022 9:28 pm
- Full name: Rick Groszkiewicz
Re: Duck Chess
Retired actuary and software developer. I love chess, coffee, wine and food
-
- Posts: 121
- Joined: Sat Dec 03, 2022 9:28 pm
- Full name: Rick Groszkiewicz
Re: Duck Chess
I decided to use a version of FSFDuck that I previously compiled on one of my older laptops (since it ran on the newer machines). I started a five game match, and it got through two games with NO errors.
But I had a connection problem on the kde machine in the third game. This produced 976 MB of debug output!


But I had a connection problem on the kde machine in the third game. This produced 976 MB of debug output!


Retired actuary and software developer. I love chess, coffee, wine and food
-
- Posts: 121
- Joined: Sat Dec 03, 2022 9:28 pm
- Full name: Rick Groszkiewicz
Re: Duck Chess
I decided to use an "official" version of FSFDuck from February 2023. This was included in Duck.zip from https://filehorst.de/d/etcBsCHx
I started a five game match, and it got through two games with NO errors.
But I had a connection problem on the fedora machine in the third game. This produced a debug output larger than 1 GB!
I started a five game match, and it got through two games with NO errors.
But I had a connection problem on the fedora machine in the third game. This produced a debug output larger than 1 GB!
Retired actuary and software developer. I love chess, coffee, wine and food
-
- Posts: 121
- Joined: Sat Dec 03, 2022 9:28 pm
- Full name: Rick Groszkiewicz
Re: Duck Chess
My final test yesterday was another match using TJchessDuck on both my kde and fedora machines
All five games finished fine, with no errors. My conclusion is that I will NOT have success with mayhemduck or FSFDuck.
All five games finished fine, with no errors. My conclusion is that I will NOT have success with mayhemduck or FSFDuck.
Retired actuary and software developer. I love chess, coffee, wine and food
-
- Posts: 28353
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Duck Chess
I would not worry on the 'impossible move' message. As you can see in the log Mayhemduck sends a large chunk of numbers (presumably the internal representation of the board) before it starts thinking, and XBoard apparently interprets that as 'thinking output' from the engine, and then tries to parse the following PV (which of course there isn't).
The debug log you posted ends at the point where the connect that you are using on the GUI machine reports that it was not able to connect. One possible reason for this could be that the connect on the engine side was not ready to accept a new connection yet, because it was still busy handling the termination of the engine from the previous game. As you can see from the time stamps the attempt to reconnect is logged only 76ms after the previous 'quit'. Perhaps you should increase the 'Pause between games' in the Tournament Options dialog (-matchPause).
The debug log you posted ends at the point where the connect that you are using on the GUI machine reports that it was not able to connect. One possible reason for this could be that the connect on the engine side was not ready to accept a new connection yet, because it was still busy handling the termination of the engine from the previous game. As you can see from the time stamps the attempt to reconnect is logged only 76ms after the previous 'quit'. Perhaps you should increase the 'Pause between games' in the Tournament Options dialog (-matchPause).
-
- Posts: 121
- Joined: Sat Dec 03, 2022 9:28 pm
- Full name: Rick Groszkiewicz
Re: Duck Chess
I checked, and the pause is defined as 10,000 msec. That seems to be the default.
Retired actuary and software developer. I love chess, coffee, wine and food
-
- Posts: 121
- Joined: Sat Dec 03, 2022 9:28 pm
- Full name: Rick Groszkiewicz
Re: Duck Chess
I decided to try running some tournaments, to see if they showed different behavior than a match. Today, they both worked fine. I used FSFDuck-M780 engine (compiled on mint-780 machine):
Five game tournament between kde and fedora - no errors
Five game tournament between open-suse and mint-780 - no errors
Five game match between kde and fedora - no errors
Then I tried running a larger tournament between all five computers. The engines crashed on a couple of the computers - and I could not get xboard to continue the tournament (maybe already finished?) Here is the trn file:
-participants {FSFDuck-M780 (duck)
connect-kde
connect-fedora
connect-suse
connect-mint-780
}
-seedBase 320289162
-tourneyType 0
-tourneyCycles 1
-defaultMatchGames 5
-syncAfterRound false
-syncAfterCycle true
-saveGameFile ""
-loadGameFile ""
-loadGameIndex 0
-loadPositionFile ""
-loadPositionIndex 1
-rewindIndex 0
-usePolyglotBook false
-polyglotBook ""
-bookDepth 12
-bookVariation 50
-discourageOwnBooks false
-defaultHashSize 512
-defaultCacheSizeEGTB 4
-ponderNextMove true
-smpCores 1
-mps 40
-tc 3
-inc 2.00
-results "-++-+++--------* "

Five game tournament between kde and fedora - no errors
Five game tournament between open-suse and mint-780 - no errors
Five game match between kde and fedora - no errors
Then I tried running a larger tournament between all five computers. The engines crashed on a couple of the computers - and I could not get xboard to continue the tournament (maybe already finished?) Here is the trn file:
-participants {FSFDuck-M780 (duck)
connect-kde
connect-fedora
connect-suse
connect-mint-780
}
-seedBase 320289162
-tourneyType 0
-tourneyCycles 1
-defaultMatchGames 5
-syncAfterRound false
-syncAfterCycle true
-saveGameFile ""
-loadGameFile ""
-loadGameIndex 0
-loadPositionFile ""
-loadPositionIndex 1
-rewindIndex 0
-usePolyglotBook false
-polyglotBook ""
-bookDepth 12
-bookVariation 50
-discourageOwnBooks false
-defaultHashSize 512
-defaultCacheSizeEGTB 4
-ponderNextMove true
-smpCores 1
-mps 40
-tc 3
-inc 2.00
-results "-++-+++--------* "

Retired actuary and software developer. I love chess, coffee, wine and food
-
- Posts: 121
- Joined: Sat Dec 03, 2022 9:28 pm
- Full name: Rick Groszkiewicz
Re: Duck Chess
No, that previous tournament did not finish completely.
I tried again, with only four remote PCs running FSFDuck-M780. The engines stopped MANY times, but it finally finished after 24 hours, with numerous restarts. Here is the resulting .trn file:
-participants {connect-kde
connect-fedora
connect-suse
connect-mint-780
}
-seedBase -1542105711
-tourneyType 0
-tourneyCycles 1
-defaultMatchGames 5
-syncAfterRound true
-syncAfterCycle true
-saveGameFile "all4-06-10.pgn"
-loadGameFile ""
-loadGameIndex 0
-loadPositionFile ""
-loadPositionIndex 1
-rewindIndex 0
-usePolyglotBook false
-polyglotBook ""
-bookDepth 12
-bookVariation 50
-discourageOwnBooks false
-defaultHashSize 512
-defaultCacheSizeEGTB 4
-ponderNextMove true
-smpCores 1
-mps 40
-tc 3
-inc 2.00
-results "--++=+-++=++=+----++*+--+---=+"
I tried again, with only four remote PCs running FSFDuck-M780. The engines stopped MANY times, but it finally finished after 24 hours, with numerous restarts. Here is the resulting .trn file:
-participants {connect-kde
connect-fedora
connect-suse
connect-mint-780
}
-seedBase -1542105711
-tourneyType 0
-tourneyCycles 1
-defaultMatchGames 5
-syncAfterRound true
-syncAfterCycle true
-saveGameFile "all4-06-10.pgn"
-loadGameFile ""
-loadGameIndex 0
-loadPositionFile ""
-loadPositionIndex 1
-rewindIndex 0
-usePolyglotBook false
-polyglotBook ""
-bookDepth 12
-bookVariation 50
-discourageOwnBooks false
-defaultHashSize 512
-defaultCacheSizeEGTB 4
-ponderNextMove true
-smpCores 1
-mps 40
-tc 3
-inc 2.00
-results "--++=+-++=++=+----++*+--+---=+"
Retired actuary and software developer. I love chess, coffee, wine and food
-
- Posts: 121
- Joined: Sat Dec 03, 2022 9:28 pm
- Full name: Rick Groszkiewicz
Re: Duck Chess
I am now trying to use FSFDuck for a linux chess match across my network. My prior match used the version without the NNUE file, but the results were not useful. FSFDuck tends to makes frequent "silly moves" without the neural network file.
I tried to compile FSF Duck on several machines to include the duck chess NNUE file. Unfortunately, the file that gets included by default is the wrong one, based on the xboard.debug:
14888 <first : feature option="Use NNUE -check 1"
14889 >first : accepted option
14889 <first : feature option="EvalFile -string nn-3475407dc199.nnue"
Using xboard to play FSFDuck locally, I can specify the correct NNUE file in the options for the engine. But I can not get your connect program to work when I specify the duck chess NNUE file:
connect -ec 'stockfish EvalFile=/usr/games/duck-ba21f91f5d81.nnue' -p 27025
As soon as I start a game between two remote machines, I get an endless series of error messages. Here is the resulting xboard.debug output:
locale = en_US.UTF-8
recognized 'normal' (-1) as variant normal
recognized 'normal' (-1) as variant normal
recognized 'normal' (-1) as variant normal
shuffleOpenings = 0
shuffleOpenings = 0
Version: xboard 4.9.1 + fairymax ()
Reset(1, 0) from gameMode 0
recognized 'normal' (-1) as variant normal
GameEnds(0, (null), 2)
shuffleOpenings = 0
StartChildProcess (dir=".") fairymax
233 >first : xboard
protover 2
282 <first : tellics say Fairy-Max 5.0b
283 <first : tellics say by H.G. Muller
283 <first : feature myname="Fairy-Max 5.0b"
283 >first : accepted myname
283 <first : feature memory=1 exclude=1
283 >first : accepted memory
283 >first : accepted exclude
283 <first : feature setboard=0 xedit=1 ping=1 done=0
283 >first : accepted setboard
283 >first : accepted xedit
283 >first : accepted ping
283 >first : accepted done
283 <first : feature variants="normal,nocastle,shatranj,asean,makruk,cambodian,ai-wok,courier,knightmate,capablanca,gothic,janus,falcon,cylinder,berolina,super,seirawan,spartan,great,light-brigade,king-of-the-hill,bifurcator,team-mate,los-alamos,ciccolini,mexican,grande-acedrex,roman,almost-wildebeest,fairy"
283 >first : accepted variants
283 <first : feature option="Resign -check 0"
283 >first : accepted option
283 <first : feature option="Resign Threshold -spin 800 200 1200"
283 >first : accepted option
283 <first : feature option="Claim draw after -spin 50 0 200"
283 >first : accepted option
283 <first : feature option="Ini File -file /usr/share/games/fairymax/fmax.ini"
283 >first : accepted option
283 <first : feature option="Multi-PV Margin -spin 0 0 1000"
283 >first : accepted option
283 <first : feature option="Variant fairy selects -combo FIDE-Clobberers /// Clobberers-FIDE /// FIDE-Nutters /// Nutters-FIDE /// Clobberers-Nutters /// Nutters-Clobberers /// FIDE-Rookies /// Rookies-FIDE /// Clobberers-Rookies /// Rookies-Clobberers /// Nutters-Rookies /// Rookies-Nutters"
283 >first : accepted option
283 <first : feature option="Makruk rules -combo makruk /// Cambodian /// Ai-wok"
283 >first : accepted option
283 <first : feature option="Dummy Slider Example -slider 20 0 100"
283 >first : accepted option
283 <first : feature option="Dummy String Example -string happy birthday!"
283 >first : accepted option
283 <first : feature option="Dummy Path Example -path ."
283 >first : accepted option
283 <first : feature option="Automatic persistent-hash dialog -check 0"
283 >first : accepted option
283 <first : feature option="Info -button"
283 >first : accepted option
283 <first : feature option="Save in hash file -button"
283 >first : accepted option
283 <first : feature option="Clear Hash -button"
283 >first : accepted option
283 <first : feature done=1
283 >first : accepted done
284 >first : memory 516
284 >first : new
random
284 >first : level 0 3 2
284 >first : post
284 >first : hard
284 >first : ping 1
Impossible move , type = 0
507 <first : pong 1
39166 >first : quit
Unload first
StartChildProcess (dir=".") connect -p 27025 10.0.0.38
39185 >first : xboard
protover 2
Reset(1, 1) from gameMode 0
recognized 'normal' (-1) as variant normal
GameEnds(0, (null), 2)
39186 >first : force
shuffleOpenings = 0
39189 >first : new
random
39189 >first : level 0 3 2
39189 >first : post
39189 >first : hard
Impossible move , type = 0
39190 <first : # waiting to connect
39288 <first : host = 10.0.0.38, port = 27025
39288 <first : Password required
39289 <first : hallo Welcome to p2p 0.3
39305 <first : Fairy-Stockfish 140623 by Fabian Fichter
39387 <first : # connected
39387 <first : feature debug=1 sigint=0 sigterm=0
39387 >first : accepted debug
39387 >first : accepted sigint
39387 >first : accepted sigterm
39477 <first : Unknown command: EvalFile=/usr/games/duck-ba21f91f5d81.nnue
39481 <first : # Process died
39482 <first : # Process died
39482 <first : # Process died
39482 <first : # Process died
39482 <first : # Process died
39482 <first : # Process died
39482 <first : # Process died
39482 <first : # Process died
39482 <first : # Process died
39482 <first : # Process died
39482 <first : # Process died
39482 <first : # Process died
39482 <first : # Process died
39482 <first : # Process died
39482 <first : # Process died
39482 <first : # Process died
39482 <first : # Process died
.
.
.
.
41866 <first : # Process died
41866 <first : # Process died
41866 <first : # Process died
41866 <first : # Process died
41866 <first : # Process died
GameEnds(30, xboard exit, 2)
41867 >first : result * {xboard exit}
41867 >first : force
41867 >first : quit
I tried to compile FSF Duck on several machines to include the duck chess NNUE file. Unfortunately, the file that gets included by default is the wrong one, based on the xboard.debug:
14888 <first : feature option="Use NNUE -check 1"
14889 >first : accepted option
14889 <first : feature option="EvalFile -string nn-3475407dc199.nnue"
Using xboard to play FSFDuck locally, I can specify the correct NNUE file in the options for the engine. But I can not get your connect program to work when I specify the duck chess NNUE file:
connect -ec 'stockfish EvalFile=/usr/games/duck-ba21f91f5d81.nnue' -p 27025
As soon as I start a game between two remote machines, I get an endless series of error messages. Here is the resulting xboard.debug output:
locale = en_US.UTF-8
recognized 'normal' (-1) as variant normal
recognized 'normal' (-1) as variant normal
recognized 'normal' (-1) as variant normal
shuffleOpenings = 0
shuffleOpenings = 0
Version: xboard 4.9.1 + fairymax ()
Reset(1, 0) from gameMode 0
recognized 'normal' (-1) as variant normal
GameEnds(0, (null), 2)
shuffleOpenings = 0
StartChildProcess (dir=".") fairymax
233 >first : xboard
protover 2
282 <first : tellics say Fairy-Max 5.0b
283 <first : tellics say by H.G. Muller
283 <first : feature myname="Fairy-Max 5.0b"
283 >first : accepted myname
283 <first : feature memory=1 exclude=1
283 >first : accepted memory
283 >first : accepted exclude
283 <first : feature setboard=0 xedit=1 ping=1 done=0
283 >first : accepted setboard
283 >first : accepted xedit
283 >first : accepted ping
283 >first : accepted done
283 <first : feature variants="normal,nocastle,shatranj,asean,makruk,cambodian,ai-wok,courier,knightmate,capablanca,gothic,janus,falcon,cylinder,berolina,super,seirawan,spartan,great,light-brigade,king-of-the-hill,bifurcator,team-mate,los-alamos,ciccolini,mexican,grande-acedrex,roman,almost-wildebeest,fairy"
283 >first : accepted variants
283 <first : feature option="Resign -check 0"
283 >first : accepted option
283 <first : feature option="Resign Threshold -spin 800 200 1200"
283 >first : accepted option
283 <first : feature option="Claim draw after -spin 50 0 200"
283 >first : accepted option
283 <first : feature option="Ini File -file /usr/share/games/fairymax/fmax.ini"
283 >first : accepted option
283 <first : feature option="Multi-PV Margin -spin 0 0 1000"
283 >first : accepted option
283 <first : feature option="Variant fairy selects -combo FIDE-Clobberers /// Clobberers-FIDE /// FIDE-Nutters /// Nutters-FIDE /// Clobberers-Nutters /// Nutters-Clobberers /// FIDE-Rookies /// Rookies-FIDE /// Clobberers-Rookies /// Rookies-Clobberers /// Nutters-Rookies /// Rookies-Nutters"
283 >first : accepted option
283 <first : feature option="Makruk rules -combo makruk /// Cambodian /// Ai-wok"
283 >first : accepted option
283 <first : feature option="Dummy Slider Example -slider 20 0 100"
283 >first : accepted option
283 <first : feature option="Dummy String Example -string happy birthday!"
283 >first : accepted option
283 <first : feature option="Dummy Path Example -path ."
283 >first : accepted option
283 <first : feature option="Automatic persistent-hash dialog -check 0"
283 >first : accepted option
283 <first : feature option="Info -button"
283 >first : accepted option
283 <first : feature option="Save in hash file -button"
283 >first : accepted option
283 <first : feature option="Clear Hash -button"
283 >first : accepted option
283 <first : feature done=1
283 >first : accepted done
284 >first : memory 516
284 >first : new
random
284 >first : level 0 3 2
284 >first : post
284 >first : hard
284 >first : ping 1
Impossible move , type = 0
507 <first : pong 1
39166 >first : quit
Unload first
StartChildProcess (dir=".") connect -p 27025 10.0.0.38
39185 >first : xboard
protover 2
Reset(1, 1) from gameMode 0
recognized 'normal' (-1) as variant normal
GameEnds(0, (null), 2)
39186 >first : force
shuffleOpenings = 0
39189 >first : new
random
39189 >first : level 0 3 2
39189 >first : post
39189 >first : hard
Impossible move , type = 0
39190 <first : # waiting to connect
39288 <first : host = 10.0.0.38, port = 27025
39288 <first : Password required
39289 <first : hallo Welcome to p2p 0.3
39305 <first : Fairy-Stockfish 140623 by Fabian Fichter
39387 <first : # connected
39387 <first : feature debug=1 sigint=0 sigterm=0
39387 >first : accepted debug
39387 >first : accepted sigint
39387 >first : accepted sigterm
39477 <first : Unknown command: EvalFile=/usr/games/duck-ba21f91f5d81.nnue
39481 <first : # Process died
39482 <first : # Process died
39482 <first : # Process died
39482 <first : # Process died
39482 <first : # Process died
39482 <first : # Process died
39482 <first : # Process died
39482 <first : # Process died
39482 <first : # Process died
39482 <first : # Process died
39482 <first : # Process died
39482 <first : # Process died
39482 <first : # Process died
39482 <first : # Process died
39482 <first : # Process died
39482 <first : # Process died
39482 <first : # Process died
.
.
.
.
41866 <first : # Process died
41866 <first : # Process died
41866 <first : # Process died
41866 <first : # Process died
41866 <first : # Process died
GameEnds(30, xboard exit, 2)
41867 >first : result * {xboard exit}
41867 >first : force
41867 >first : quit
Retired actuary and software developer. I love chess, coffee, wine and food
-
- Posts: 121
- Joined: Sat Dec 03, 2022 9:28 pm
- Full name: Rick Groszkiewicz
Re: Duck Chess
The solution is to change the nnue/net options in the make command. After I built FSFDuck this way, I successfully used it across the network on a remote PC:rgrosz789 wrote: ↑Fri Jun 16, 2023 8:37 pm I tried to compile FSF Duck on several machines to include the duck chess NNUE file. Unfortunately, the file that gets included by default is the wrong one, based on the xboard.debug:
14888 <first : feature option="Use NNUE -check 1"
14889 >first : accepted option
14889 <first : feature option="EvalFile -string nn-3475407dc199.nnue"
make clean
make -j build ARCH=x86-64 nnue=yes load_net=duck-ba21f91f5d81.nnue all=yes
sudo cp stockfish /usr/local/bin/FSFDuck
Retired actuary and software developer. I love chess, coffee, wine and food