Versions after Winboard 8.0 can't play Fisher random in FICS

Discussions about Winboard/Xboard. News about engines or programs to use with these GUIs (e.g. tournament managers or adapters) belong in this sub forum.

Moderator: Andres Valverde

Versions after Winboard 8.0 can't play Fisher random in FICS

Postby lantonov » 05 Aug 2019, 19:05

Sorry, read versions after Winboard 4.8.0 (e.g. 4.9.x). When I am white in FRC in FICS engine does not move and I have to abort. Winboard 4.8.0 starts and plays normally in this variant.
lantonov
 
Posts: 62
Joined: 28 Feb 2014, 08:43

Re: Versions after Winboard 8.0 can't play Fisher random in

Postby H.G.Muller » 06 Aug 2019, 21:33

What engine are you using? And if it is UCI, are you using Polyglot or UCI2WB as adapter?
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: Versions after Winboard 8.0 can't play Fisher random in

Postby lantonov » 07 Aug 2019, 08:48

I use Stockfish latest development version (UCI) with Polyglot adaptor.
The starting batch file is:
start winboard[version] -fcp "polyglot stockfish.ini" -fd C:\WinBoard /fNoOwnBookUCI /sNoOwnBookUCI /firstOptions {Syzygy50MoveRule=true,SyzygyProbeDepth=10,SyzygyProbeLimit=5} /zp /ics /icshost freechess.org /icsport=5000 /icshelper=timeseal.exe /icslogon=ics-fishtest.ini /zippyAcceptOnly lantonov /zippyAbort True /zippyGameStart="say [...]" /zippyGameEnd "say [...]"
lantonov
 
Posts: 62
Joined: 28 Feb 2014, 08:43

Re: Versions after Winboard 8.0 can't play Fisher random in

Postby H.G.Muller » 07 Aug 2019, 09:01

OK. That makes it rather strange. I am not aware I changed anything specific to FRC between 4.8.0 and 4.9.0; the difference was mostly better piece-graphics handling in the XBoard front-end, which is why I did not even release it as a new WinBoard. I did release the development version as the WinBoard-AA beta package, though, where it uses UCI2WB rather than Polyglot as UCI adapter. And it would be quite possible that UCI2WB is defective for FRC. But if you use Polyglot this can be ruled out.

Could you make a debug log of a case where the engine refuses to start, by running WinBoard with the extra option -debug, and then posting the winboard.debug file that will be created here?
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: Versions after Winboard 8.0 can't play Fisher random in

Postby lantonov » 07 Aug 2019, 09:04

Sure, I will do it right away.
Now I started it like this:
start winboard-7dda741 -debug -fcp "polyglot stockfish.ini" -fd C:\WinBoard [...]
Started normally this time (?) but in the chat window it wrote as if I have asked a draw at the start:
Issuing: FishTest (2982) exeComp (2500) rated wild 3 0 Loaded from wild/fr.
--** exeComp is a computer **--
Your wild rating will change: Win: +2, Draw: -17, Loss: -36
Your new RD will be 82.3
fics%
exeComp accepts the match offer.

Creating: exeComp (2500) FishTest (2982) rated wild/fr 3 0
{Game 77 (exeComp vs. FishTest) Creating rated wild/fr match.}

Game 77: A disconnection will be considered a forfeit.
fics% (told exeComp, who is playing)
fics% Draw request sent.
fics%
exeComp declines the draw request.
fics% {Game 77 (exeComp vs. FishTest) exeComp checkmated} 0-1

Such draw request does not appear with WB 4.8.0. Next is the beginning of the debug file (too long for the window to accept all):
recognized 'normal' (-1) as variant normal
shuffleOpenings = 0
Version: WinBoard 4.9.1 + polyglot
Reset(1, 0) from gameMode 0
recognized 'normal' (-1) as variant normal
GameEnds(0, (null), 2)
shuffleOpenings = 0
StartChildProcess (dir="C:\WinBoard") polyglot stockfish.ini
586 >first : xboard
protover 2
602 <first : PolyGlot 2.0.4 by Fabien Letouzey.
617 <first : feature done=0
617 >first : accepted done
617 <first : feature analyze=1
617 >first : accepted analyze
617 <first : feature exclude=1
624 >first : accepted exclude
624 <first : feature colors=0
624 >first : accepted colors
624 <first : feature draw=1
624 >first : accepted draw
624 <first : feature ics=1
624 >first : accepted ics
624 <first : feature myname="Stockfish 010819 64 BMI2"
624 >first : accepted myname
624 <first : feature name=1
624 >first : accepted name
624 <first : feature pause=0
624 >first : accepted pause
624 <first : feature ping=1
624 >first : accepted ping
624 <first : feature playother=1
624 >first : accepted playother
624 <first : feature sigint=1
624 >first : accepted sigint
624 <first : feature reuse=1
624 >first : accepted reuse
624 <first : feature san=0
624 >first : accepted san
624 <first : feature setboard=1
624 >first : accepted setboard
624 <first : feature sigint=0
624 >first : accepted sigint
624 <first : feature sigterm=0
624 >first : accepted sigterm
624 <first : feature time=1
624 >first : accepted time
624 <first : feature usermove=1
640 >first : accepted usermove
640 <first : feature nps=1
640 >first : accepted nps
640 <first : feature memory=1
640 >first : accepted memory
640 <first : feature smp=1
640 >first : accepted smp
640 <first : feature egt="syzygy"
640 >first : accepted egt
640 <first : feature variants="normal,fischerandom"
640 >first : accepted variants
640 <first : feature option="Debug Log File -file <empty>"
640 >first : accepted option
640 <first : feature option="Contempt -spin 24 -100 100"
640 >first : accepted option
640 <first : feature option="Analysis Contempt -combo Off /// White /// Black /// *Both"
640 >first : accepted option
640 <first : feature option="Clear Hash -button"
640 >first : accepted option
640 <first : feature option="MultiPV -spin 1 1 500"
640 >first : accepted option
640 <first : feature option="Skill Level -spin 20 0 20"
640 >first : accepted option
640 <first : feature option="Move Overhead -spin 30 0 5000"
640 >first : accepted option
640 <first : feature option="Minimum Thinking Time -spin 20 0 5000"
640 >first : accepted option
640 <first : feature option="Slow Mover -spin 84 10 1000"
640 >first : accepted option
640 <first : feature option="nodestime -spin 0 0 10000"
640 >first : accepted option
640 <first : feature option="UCI_LimitStrength -check 0"
640 >first : accepted option
640 <first : feature option="UCI_Elo -spin 1350 1350 2850"
640 >first : accepted option
640 <first : feature option="SyzygyProbeDepth -spin 10 1 100"
640 >first : accepted option
640 >first : option SyzygyProbeDepth=10
640 <first : feature option="Syzygy50MoveRule -check 0"
640 >first : accepted option
640 >first : option Syzygy50MoveRule=true
640 <first : feature option="SyzygyProbeLimit -spin 5 0 7"
640 >first : accepted option
640 >first : option SyzygyProbeLimit=5
640 <first : feature option="Polyglot exclude move -string "
640 >first : accepted option
640 <first : feature option="Polyglot SettingsFile -file stockfish.ini"
640 >first : accepted option
640 <first : feature option="Polyglot Log -check 0"
640 >first : accepted option
640 <first : feature option="Polyglot LogFile -file polyglot.log"
640 >first : accepted option
640 <first : feature option="Polyglot Resign -check 0"
640 >first : accepted option
640 <first : feature option="Polyglot ResignMoves -spin 3 0 10000"
640 >first : accepted option
640 <first : feature option="Polyglot QueenNeverResigns -check 1"
640 >first : accepted option
640 <first : feature option="Polyglot ResignScore -spin 600 0 10000"
640 >first : accepted option
640 <first : feature option="Polyglot Handledraws -check 0"
640 >first : accepted option
640 <first : feature option="Polyglot ContemptScore -spin 30 0 10000"
640 >first : accepted option
640 <first : feature option="Polyglot Book -check 1"
640 >first : accepted option
640 <first : feature option="Polyglot BookFile -file C:\Winboard\Cerebellum_Light_Poly.bin"
655 >first : accepted option
655 <first : feature option="Polyglot BookRandom -check 0"
655 >first : accepted option
655 <first : feature option="Polyglot BookDepth -spin 256 0 256"
655 >first : accepted option
655 <first : feature option="Polyglot ShowTbHits -check 1"
655 >first : accepted option
655 <first : feature option="Polyglot STFudge -spin 0 0 1000"
655 >first : accepted option
655 <first : feature option="Polyglot SyncStop -check 1"
655 >first : accepted option
655 <first : feature option="Polyglot Save -save"
655 >first : accepted option
655 <first : feature done=1
655 >first : accepted done
671 >first : memory 516
671 >first : egtpath syzygy C:\Winboard\syzygy
671 >first : cores 3
671 >first : new
random
671 >first : ics freechess.org
671 >first : post
671 >first : hard
671 >first : ping 1
724 <first : pong 1
StartChildProcess (dir="") timeseal.exe freechess.org 5000
<ICS: \012\015 _ __ __ __ \012\015 | | / /__ / /________ ____ ___ ___ / /_____ \012\015 | | /| / / _ \/ / ___/ __ \/ __ `__ \/ _ \ / __/ __ \\012\015 | |/ |/ / __/ / /__/ /_/ / / / / / / __/ / /_/ /_/ /\012\015 |__/|__/\___/_/\___/\____/_/ /_/ /_/\___/ \__/\____/ \012\015 ^^__ _____________________ _ _ _ \012\015 / - \_ / ____/ _/ ____/ ___/ _ | || || |\012\015 <| __< / /_ / // / \__ \ (_) |_______|\012\015 <| \ / __/ _/ // /___ ___/ / _ \__ ___ /\012\015 <| \ /_/ /___/\____//____/ (_) |___|_|\012\015 <|______\ |_|___|\012\015 _|____|_ ====================================== |___|_|\012\015 (________) freechess.org ---- 167.114.65.195 (_______)\012\015 /________\ =============================
ics input 0, castling = 7 0 4 7 0 4
ics_type 2
<ICS: ========= /_______\ \012\015 (Login screen designed by Alefith)\012\015\012\015 ****** Welcome to the Free Internet Chess Server at freechess.org ******\012\015\012\015Webpage: http://www.freechess.org\012\015Head admin : mattuc Complaints to : complaints@freechess.org\012\015Server location: freechess.org Server version : 1.25.20\012\015\012\015 If you are not a registered player, enter guest or a unique ID.\012\015 (If your return key does not work, use cntrl-J)\012\015\012\015login:
ics input 0, castling = 7 0 4 7 0 4
ics_type 2
ics_type 2
ics_type 2
ics_type 2
>ICS: FishTest\012
>ICS: password\012
<ICS: \377\373\001\012\015"FishTest" is a registered name. If it is yours, type the password.\012\015If not, just hit return to try another name.\012\015\012\015password:
ics input 0, castling = 7 0 4 7 0 4

<WILL ECHO <ICS: \377\374\001\012\015\012\015**** Starting FICS session as FishTest(C) ****\012\015\012\015\ -----------------------------------------\012\015\ -------------------------------------\012\015 *** Message Of The \012\015\ Day ***\012\015\012\015\012\015Today's Scheduled Events:\012\015 0730: The Daily 5 0\012\015 1500: Suicide at 15:00\012\015 1615: CBW - Wednesday's Challenge Blitz\012\015 2200: The Nightly 5 0\012\015\012\015\012\015To join a scheduled tournament, join channel\012\015\ 49 (+channel 49)\012\015And be there for the scheduled start.\012\015\012\015For a complete tournament schedule, type "td\012\015\ help schedule"\012\015Regular tournaments are run all day, "td set\012\015\ tourneyinfo on" to see them.\012\015\012\015All times are server times.\012\015To check the current server time, use \012\015\ "date".\012\015\012\015\ =========================================\012\015\ =====================================\012\015FICS web page: http://www.freechess.org - \012\015\ add a link to FICS from your page\012\015\012\015\ =========================================\012\015\ =====================================\012\015\012\015\012\015Index o
ics input 0, castling = 7 0 4 7 0 4

<WONT ECHO ics_type 2
<ICS: f new news items:\012\0151586 (Sat, Nov 19) Relay Operators Wanted! Here's an opportunity to help out on FICS!\012\0151590 (Fri, Dec 30) RoyRogersC(*) and knubbel(*)\012\0151595 (Fri, Apr 14) FICS is now on Twitter!\012\0151600 (Thu, Jun 29) Email Address Problems - Update\012\0151608 (Sat, Mar 3) Donations Disclaimer\012\0151611 (Wed, Mar 14) New Donation Method!\012\0151624 (Tue, Aug 28) Mattuc new Head Admin\012\0151627 (Fri, Nov 30) GM Magnus Carlsen successfully defended his World Chess Champion title!\012\0151630 (Sun, Mar 3) Happy 24th Birthday FICS!\012\0151633 (Tue, Apr 2) Chess for Android app can now connect to FICS.\012\015("news <n>" will display item number 'n')\012\015\012\015\012\015You have 20 messages (0 unread).\012\015Use "messages u" to view unread messages and "clearmessages *" to clear all.\012\015\012\015Present company includes: JMM.\012\015\012\015Your arrival was noted by: stayalive.\012\015fics%
ics input 0, castling = 7 0 4 7 0 4
>ICS: alias $ @\012$set interface WinBoard 4.9.1 + Stockfish 010819 64 BMI2\012$iset startpos 1\012$iset ms 1\012$iset nohighlight 1\012$iset lock 1\012$style 12\012
>ICS: set width 45\012
<ICS: Alias $ replaced.\012\015fics% fics% startpos set.\012\015fics%
ics input 0, castling = 7 0 4 7 0 4
<ICS: ms set.\012\015fics% nohighlight set.\012\015fics% lock set.\012\015fics% Style 12 set.\012\015fics% Width set to 45.\012\015fics%
ics input 0, castling = 7 0 4 7 0 4
<ICS: \012\015Analysisbot(TD) c-shouts: Observe or examine\012\015\ a game and "tell AnalysisBot obsme" to \012\015\ get real-time computer analysis. "tell \012\015\ AnalysisBot annotate [history game \012\015\ number]" to get a computer annotation of\012\015\ your history game. "tell AnalysisBot \012\015\ help" for more info.\012\015fics%
ics input 0, castling = 7 0 4 7 0 4
silence
silence
>ICS: match execomp 3 0 wild fr\012
<ICS: Issuing: FishTest (2982) exeComp (2500) rated wild 3 0 Loaded from wild/fr.\012\015--** exeComp is a computer **--\012\015Your wild rating will change: Win: +2, Draw: -17, Loss: -36\012\015Your new RD will be 82.3\012\015fics%
ics input 0, castling = 7 0 4 7 0 4
<ICS: \012\015exeComp accepts the match offer.\012\015\012\015Creating: exeComp (2500) FishTest (2982) rated wild/fr 3 0\012\015{Game 77 (exeComp vs. FishTest) Creating rated wild/fr match.}\012\015\012\015<12> rnbbqknr pppppppp -------- -------- -------- -------- PPPPPPPP RNBBQKNR W -1 1 1 1 1 0 77 exeComp FishTest -1 3 0 39 39 180000 180000 1 none (0:00.000) none 1 0 0\012\015fics% \012\015Game 77: A disconnection will be considered a forfeit.\012\015fics%
ics input 0, castling = 7 0 4 7 0 4
Ratings from 'Creating:' exeComp 2500, FishTest 2982
recognized 'rated wild/fr match.' (-1) as variant fischerandom
Switch board from normal to fischerandom
shuffleOpenings = 1
>ICS: say You play against a strong engine which can make you feel humiliated if you are a human or a weak engine. In such cases, please 'abort' immediately
>ICS: \012
Parsing board: rnbbqknr pppppppp -------- -------- -------- -------- PPPPPPPP RNBBQKNR W -1 1 1 1 1 0 77 exeComp FishTest -1 3 0 39 39 180000 180000 1 none (0:00.000) none 1 0 0

recognized 'ICS rated wild/fr match' (-1) as variant fischerandom
ParseBoard says variant = 'ICS rated wild/fr match'
recognized as fischerandom
Remembered ratings: W 2500, B 2982
load 8x8 board
44639 >first : variant fischerandom
44639 >first : force
write FEN 50-move: 0 0 0
e0. p=-6
44639 >first : setboard rnbbqknr/pppppppp/8/8/8/8/PPPPPPPP/RNBBQKNR w HAha - 157+0 0 1
44639 >first : level 0 3 0
44639 >first : computer
44639 >first : name exeComp
44639 >first : rating 2982 2500
44639 >first : time 18000
44639 >first : otim 18000
44639 >first : playother
Display title 'exeComp(39) FishTest(39) {3 0 w4}, gameInfo.variant = 4'
44639 <first : 1/2-1/2 {Draw by fifty-move rule}
GameEnds(28, Draw by fifty-move rule, 5)
>ICS: $
>ICS: draw\012
<ICS: (told exeComp, who is playing)\012\015fics%
ics input 0, castling = 7 0 5 7 0 5
<ICS: Draw request sent.\012\015fics%
ics input 0, castling = 7 0 5 7 0 5
<ICS: \012\015exeComp declines the draw request.\012\015fics% \012\015<12> rnbbqknr pppppppp -------- -------- -----P-- -------- PPPPP-PP RNBBQKNR B 5 1 1 1 1 0 77 exeComp FishTest 1 3 0 39 39 180000 180000 1 P/f2-f4 (0:00.000) f4 1 0 0\012\015fics%
ics input 0, castling = 7 0 5 7 0 5
Parsing board: rnbbqknr pppppppp -------- -------- -----P-- -------- PPPPP-PP RNBBQKNR B 5 1 1 1 1 0 77 exeComp FishTest 1 3 0 39 39 180000 180000 1 P/f2-f4 (0:00.000) f4 1 0 0

load 8x8 board
parseboard 1, castling = 7 0 5 7 0 5
accepted move f4 from ICS, parse it.
moveNum = 1
board = 0-8 x 8
FRC castling, 7 0 5 7 0 5
FRC castling, 7 0 5 7 0 5
Move parsed to 'f4 (0:00.000)'
53588 >first : time 18000
53588 >first : otim 18000
book hit = (NULL)
53588 >first : usermove 53588 >first : f2f4
Display title 'exeComp(39) FishTest(39) {3 0 w4}, gameInfo.variant = 4'
silence
53604 <first : 1 +100 0 49 1 12 0 e5
53619 <first : 2 +192 0 104 2 26 0 e5 fxe5
53619 <first : 3 +261 0 168 3 42 0 e5 fxe5 Qxe5
53619 <first : 4 +145 1 403 4 81 0 d6 d3 e5 e3
53619 <first : 5 +31 1 2463 5 246 0 e5 e4 d6 d3 exf4 Bxf4
53619 <first : 6 +31 1 3273 6 298 0 e5 e4 d6 d3 exf4 Bxf4
53619 <first : 7 +57 1 4184 7 322 0 e5 e4 exf4 d3 Bf6 Bxf4
[...]
Last edited by lantonov on 07 Aug 2019, 11:29, edited 1 time in total.
lantonov
 
Posts: 62
Joined: 28 Feb 2014, 08:43

Re: Versions after Winboard 8.0 can't play Fisher random in

Postby lantonov » 07 Aug 2019, 09:53

For comparison, here is the debug file with WB 4.8.0 (no draw request sent):
recognized 'normal' (-1) as variant normal
shuffleOpenings = 0
Version: WinBoard 4.8.0b + polyglot
Reset(1, 0) from gameMode 0
recognized 'normal' (-1) as variant normal
GameEnds(0, (null), 2)
shuffleOpenings = 0
StartChildProcess (dir="C:\WinBoard") polyglot stockfish.ini
586 >first : xboard
protover 2
617 <first : PolyGlot 2.0.4 by Fabien Letouzey.
617 <first : feature done=0
617 >first : accepted done
617 <first : feature analyze=1
632 >first : accepted analyze
632 <first : feature exclude=1
632 >first : accepted exclude
632 <first : feature colors=0
632 >first : accepted colors
632 <first : feature draw=1
632 >first : accepted draw
632 <first : feature ics=1
632 >first : accepted ics
632 <first : feature myname="Stockfish 010819 64 BMI2"
632 >first : accepted myname
632 <first : feature name=1
632 >first : accepted name
632 <first : feature pause=0
632 >first : accepted pause
632 <first : feature ping=1
632 >first : accepted ping
632 <first : feature playother=1
632 >first : accepted playother
632 <first : feature sigint=1
632 >first : accepted sigint
632 <first : feature reuse=1
632 >first : accepted reuse
632 <first : feature san=0
632 >first : accepted san
632 <first : feature setboard=1
632 >first : accepted setboard
632 <first : feature sigint=0
632 >first : accepted sigint
632 <first : feature sigterm=0
632 >first : accepted sigterm
632 <first : feature time=1
632 >first : accepted time
632 <first : feature usermove=1
632 >first : accepted usermove
632 <first : feature nps=1
632 >first : accepted nps
632 <first : feature memory=1
632 >first : accepted memory
632 <first : feature smp=1
632 >first : accepted smp
632 <first : feature egt="syzygy"
632 >first : accepted egt
632 <first : feature variants="normal,fischerandom"
632 >first : accepted variants
632 <first : feature option="Debug Log File -file <empty>"
632 >first : accepted option
648 <first : feature option="Contempt -spin 24 -100 100"
648 >first : accepted option
648 <first : feature option="Analysis Contempt -combo Off /// White /// Black /// *Both"
648 >first : accepted option
648 <first : feature option="Clear Hash -button"
648 >first : accepted option
648 <first : feature option="MultiPV -spin 1 1 500"
648 >first : accepted option
648 <first : feature option="Skill Level -spin 20 0 20"
648 >first : accepted option
648 <first : feature option="Move Overhead -spin 30 0 5000"
648 >first : accepted option
648 <first : feature option="Minimum Thinking Time -spin 20 0 5000"
648 >first : accepted option
648 <first : feature option="Slow Mover -spin 84 10 1000"
648 >first : accepted option
648 <first : feature option="nodestime -spin 0 0 10000"
648 >first : accepted option
648 <first : feature option="UCI_LimitStrength -check 0"
648 >first : accepted option
648 <first : feature option="UCI_Elo -spin 1350 1350 2850"
648 >first : accepted option
648 <first : feature option="SyzygyProbeDepth -spin 10 1 100"
648 >first : accepted option
648 >first : option SyzygyProbeDepth=10
648 <first : feature option="Syzygy50MoveRule -check 0"
648 >first : accepted option
648 >first : option Syzygy50MoveRule=true
648 <first : feature option="SyzygyProbeLimit -spin 5 0 7"
648 >first : accepted option
648 >first : option SyzygyProbeLimit=5
648 <first : feature option="Polyglot exclude move -string "
648 >first : accepted option
648 <first : feature option="Polyglot SettingsFile -file stockfish.ini"
648 >first : accepted option
648 <first : feature option="Polyglot Log -check 0"
648 >first : accepted option
648 <first : feature option="Polyglot LogFile -file polyglot.log"
648 >first : accepted option
648 <first : feature option="Polyglot Resign -check 0"
648 >first : accepted option
648 <first : feature option="Polyglot ResignMoves -spin 3 0 10000"
648 >first : accepted option
648 <first : feature option="Polyglot QueenNeverResigns -check 1"
648 >first : accepted option
648 <first : feature option="Polyglot ResignScore -spin 600 0 10000"
648 >first : accepted option
664 <first : feature option="Polyglot Handledraws -check 0"
664 >first : accepted option
664 <first : feature option="Polyglot ContemptScore -spin 30 0 10000"
664 >first : accepted option
664 <first : feature option="Polyglot Book -check 1"
664 >first : accepted option
664 <first : feature option="Polyglot BookFile -file C:\Winboard\Cerebellum_Light_Poly.bin"
664 >first : accepted option
664 <first : feature option="Polyglot BookRandom -check 0"
664 >first : accepted option
664 <first : feature option="Polyglot BookDepth -spin 256 0 256"
664 >first : accepted option
664 <first : feature option="Polyglot ShowTbHits -check 1"
664 >first : accepted option
664 <first : feature option="Polyglot STFudge -spin 0 0 1000"
664 >first : accepted option
664 <first : feature option="Polyglot SyncStop -check 1"
664 >first : accepted option
664 <first : feature option="Polyglot Save -save"
664 >first : accepted option
664 <first : feature done=1
664 >first : accepted done
686 >first : memory 516
686 >first : egtpath syzygy C:\Winboard\syzygy
686 >first : cores 3
686 >first : new
random
686 >first : ics freechess.org
686 >first : post
686 >first : hard
686 >first : ping 1
733 <first : pong 1
StartChildProcess (dir="") timeseal.exe freechess.org 5000
<ICS: \012\015 _ __ __ __ \012\015 | | / /__ / /________ ____ ___ ___ / /_____ \012\015 | | /| / / _ \/ / ___/ __ \/ __ `__ \/ _ \ / __/ __ \\012\015 | |/ |/ / __/ / /__/ /_/ / / / / / / __/ / /_/ /_/ /\012\015 |__/|__/\___/_/\___/\____/_/ /_/ /_/\___/ \__/\____/ \012\015 ^^__ _____________________ _ _ _ \012\015 / - \_ / ____/ _/ ____/ ___/ _ | || || |\012\015 <| __< / /_ / // / \__ \ (_) |_______|\012\015 <| \ / __/ _/ // /___ ___/ / _ \__ ___ /\012\015 <| \ /_/ /___/\____//____/ (_) |___|_|\012\015 <|______\ |_|___|\012\015 _|____|_ ====================================== |___|_|\012\015 (________) freechess.org ---- 167.114.65.195 (_______)\012\015 /________\ =============================
ics input 0, castling = 7 0 4 7 0 4
ics_type 2
<ICS: ========= /_______\ \012\015 (Login screen designed by Alefith)\012\015\012\015 ****** Welcome to the Free Internet Chess Server at freechess.org ******\012\015\012\015Webpage: http://www.freechess.org\012\015Head admin : mattuc Complaints to : complaints@freechess.org\012\015Server location: freechess.org Server version : 1.25.20\012\015\012\015 If you are not a registered player, enter guest or a unique ID.\012\015 (If your return key does not work, use cntrl-J)\012\015\012\015login:
ics input 0, castling = 7 0 4 7 0 4
ics_type 2
ics_type 2
ics_type 2
ics_type 2
>ICS: FishTest\012
>ICS: password\012
<ICS: \377\373\001\012\015"FishTest" is a registered name. If it is yours, type the password.\012\015If not, just hit return to try another name.\012\015\012\015password:
ics input 0, castling = 7 0 4 7 0 4

<WILL ECHO <ICS: \377\374\001\012\015\012\015**** Starting FICS session as FishTest(C) ****\012\015\012\015\ -----------------------------------------\012\015\ -------------------------------------\012\015 *** Message Of The \012\015\ Day ***\012\015\012\015\012\015Today's Scheduled Events:\012\015 0730: The Daily 5 0\012\015 1500: Suicide at 15:00\012\015 1615: CBW - Wednesday's Challenge Blitz\012\015 2200: The Nightly 5 0\012\015\012\015\012\015To join a scheduled tournament, join channel\012\015\ 49 (+channel 49)\012\015And be there for the scheduled start.\012\015\012\015For a complete tournament schedule, type "td\012\015\ help schedule"\012\015Regular tournaments are run all day, "td set\012\015\ tourneyinfo on" to see them.\012\015\012\015All times are server times.\012\015To check the current server time, use \012\015\ "date".\012\015\012\015\ =========================================\012\015\ =====================================\012\015FICS web page: http://www.freechess.org - \012\015\ add a link to FICS from your page\012\015\012\015\ =========================================\012\015\ =====================================\012\015\012\015\012\015Index o
ics input 0, castling = 7 0 4 7 0 4

<WONT ECHO ics_type 2
<ICS: f new news items:\012\0151586 (Sat, Nov 19) Relay Operators Wanted! Here's an opportunity to help out on FICS!\012\0151590 (Fri, Dec 30) RoyRogersC(*) and knubbel(*)\012\0151595 (Fri, Apr 14) FICS is now on Twitter!\012\0151600 (Thu, Jun 29) Email Address Problems - Update\012\0151608 (Sat, Mar 3) Donations Disclaimer\012\0151611 (Wed, Mar 14) New Donation Method!\012\0151624 (Tue, Aug 28) Mattuc new Head Admin\012\0151627 (Fri, Nov 30) GM Magnus Carlsen successfully defended his World Chess Champion title!\012\0151630 (Sun, Mar 3) Happy 24th Birthday FICS!\012\0151633 (Tue, Apr 2) Chess for Android app can now connect to FICS.\012\015("news <n>" will display item number 'n')\012\015\012\015\012\015You have 20 messages (0 unread).\012\015Use "messages u" to view unread messages and "clearmessages *" to clear all.\012\015\012\015Present company includes: JMM.\012\015\012\015Your arrival was noted by: stayalive.\012\015fics%
ics input 0, castling = 7 0 4 7 0 4
>ICS: alias $ @\012$set interface WinBoard 4.8.0b + Stockfish 010819 64 BMI2\012$iset startpos 1\012$iset ms 1\012$iset nohighlight 1\012$iset lock 1\012$style 12\012
>ICS: set width 45\012
<ICS: Alias $ replaced.\012\015fics% fics% startpos set.\012\015fics%
ics input 0, castling = 7 0 4 7 0 4
<ICS: ms set.\012\015fics% nohighlight set.\012\015fics% lock set.\012\015fics% Style 12 set.\012\015fics% Width set to 45.\012\015fics%
ics input 0, castling = 7 0 4 7 0 4
>ICS: match execomp 3 0 wild fr\012
<ICS: Issuing: FishTest (2984) exeComp (2498) rated wild 3 0 Loaded from wild/fr.\012\015--** exeComp is a computer **--\012\015Your wild rating will change: Win: +2, Draw: -16, Loss: -35\012\015Your new RD will be 81.7\012\015fics%
ics input 0, castling = 7 0 4 7 0 4
<ICS: \012\015exeComp accepts the match offer.\012\015\012\015Creating: exeComp (2498) FishTest (2984) rated wild/fr 3 0\012\015{Game 86 (exeComp vs. FishTest) Creating rated wild/fr match.}\012\015\012\015<12> rbbknnqr pppppppp -------- -------- -------- -------- PPPPPPPP RBBKNNQR W -1 1 1 1 1 0 86 exeComp FishTest -1 3 0 39 39 180000 180000 1 none (0:00.000) none 1 0 0\012\015fics% \012\015Game 86: A disconnection will be considered a forfeit.\012\015fics%
ics input 0, castling = 7 0 4 7 0 4
Ratings from 'Creating:' exeComp 2498, FishTest 2984
recognized 'rated wild/fr match.' (-1) as variant fischerandom
Switch board from normal to fischerandom
shuffleOpenings = 1
>ICS: say You play against a strong engine which can make you feel humiliated if you are a human or a weak engine. In such cases, please 'abort' immediately
>ICS: \012
Parsing board: rbbknnqr pppppppp -------- -------- -------- -------- PPPPPPPP RBBKNNQR W -1 1 1 1 1 0 86 exeComp FishTest -1 3 0 39 39 180000 180000 1 none (0:00.000) none 1 0 0

recognized 'ICS rated wild/fr match' (-1) as variant fischerandom
ParseBoard says variant = 'ICS rated wild/fr match'
recognized as fischerandom
Remembered ratings: W 2498, B 2984
load 8x8 board
54585 >first : variant fischerandom
54585 >first : force
write FEN 50-move: 0 0 0
e0. p=-6
54585 >first : setboard rbbknnqr/pppppppp/8/8/8/8/PPPPPPPP/RBBKNNQR w HAha - 0 1
54586 >first : level 0 3 0
54586 >first : computer
54586 >first : name exeComp
54586 >first : rating 2984 2498
54586 >first : time 18000
54586 >first : otim 18000
54586 >first : playother
Display title 'exeComp(39) FishTest(39) {3 0 w4}, gameInfo.variant = 4'
<ICS: (told exeComp, who is playing)\012\015fics%
ics input 0, castling = 7 0 3 7 0 3
<ICS: \012\015<12> rbbknnqr pppppppp -------- -------- ----P--- -------- PPPP-PPP RBBKNNQR B 4 1 1 1 1 0 86 exeComp FishTest 1 3 0 39 39 180000 180000 1 P/e2-e4 (0:00.000) e4 1 0 0\012\015fics%
ics input 0, castling = 7 0 3 7 0 3
Parsing board: rbbknnqr pppppppp -------- -------- ----P--- -------- PPPP-PPP RBBKNNQR B 4 1 1 1 1 0 86 exeComp FishTest 1 3 0 39 39 180000 180000 1 P/e2-e4 (0:00.000) e4 1 0 0

load 8x8 board
parseboard 1, castling = 7 0 3 7 0 3
accepted move e4 from ICS, parse it.
moveNum = 1
board = 0-8 x 8
FRC castling, 7 0 3 7 0 3
FRC castling, 7 0 3 7 0 3
Move parsed to 'e4 (0:00.000)'
61036 >first : time 18000
61036 >first : otim 18000
book hit = (NULL)
61036 >first : usermove 61036 >first : e2e4
Display title 'exeComp(39) FishTest(39) {3 0 w4}, gameInfo.variant = 4'
silence
61068 <first : 1 +47 0 66 1 22 0 c6
61083 <first : 2 +46 0 176 2 59 0 c6 b3
61090 <first : 3 +23 0 431 3 144 0 d6 d3 c6
61090 <first : 4 +46 0 908 4 227 0 Ne6 c3 c6
61090 <first : 5 +41 0 1246 5 312 0 c5 c3 Ne6 d3
61090 <first : 6 +22 1 2490 6 498 0 e5 c3 Ne6 Bc2 c6 Ne3
61090 <first : 7 -37 2 14027 10 877 0 c6 c3 e5 Nf3 d5 d4 exd4
61090 <first : 8 -36 2 19140 11 957 0 c6 c3 e5 d4 exd4 cxd4 d5 exd5 cxd5 Ne3
lantonov
 
Posts: 62
Joined: 28 Feb 2014, 08:43

Re: Versions after Winboard 8.0 can't play Fisher random in

Postby lantonov » 07 Aug 2019, 11:26

The game started because the other computer (execomp) was white. It doesn't start when my computer is white.
Looking at the debug file, I found also a difference in how the fens are set up:
In 4.9.1 - 44639 >first : setboard rnbbqknr/pppppppp/8/8/8/8/PPPPPPPP/RNBBQKNR w HAha - 157+0 0 1
In 4.8.0 - 54585 >first : setboard rbbknnqr/pppppppp/8/8/8/8/PPPPPPPP/RBBKNNQR w HAha - 0 1
This problem also occurred before with Stockfish and asmFish but maybe I posted it in the wrong section:
viewtopic.php?f=19&t=53936
lantonov
 
Posts: 62
Joined: 28 Feb 2014, 08:43

Re: Versions after Winboard 8.0 can't play Fisher random in

Postby H.G.Muller » 07 Aug 2019, 12:23

OK, I see. The fishy part of the debug was:
Code: Select all
44639 >first : playother
Display title 'exeComp(39) FishTest(39) {3 0 w4}, gameInfo.variant = 4'
44639 <first : 1/2-1/2 {Draw by fifty-move rule}
GameEnds(28, Draw by fifty-move rule, 5)
>ICS: $
>ICS: draw\012
<ICS: (told exeComp, who is playing)\012\015fics%
ics input 0, castling = 7 0 5 7 0 5
<ICS: Draw request sent.\012\015fics%

Here Polyglot immediately claims a 50-move draw with the 1/2-1/2 command, and then refuses to play on.

But as you pointed out, this is not Polyglot's fault, but the consequence of Polyglot receiving a faulty FEN. The 157+0 field should not have been there, but now that it is Polyglot interprets it as the 50-move counter. It also explains why it does work with black: the opponent will almost always start with a Pawn move, which resets the counter no matter how large it initially was.

This FEN field should only have been present in variant 3checks, where it indicates the number of checks each side still needs to win. (So for a starting position it would say 3+3.) That it is also sent for FRC is indeed a WinBoard bug. And I probably added that field recently, when Stockfish learned to play 3checks.

Thanks for reporting this!
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: Versions after Winboard 8.0 can't play Fisher random in

Postby lantonov » 07 Aug 2019, 12:40

Thanks for being always so kind and helpful.
I suspect the problematic patch is from 13 Jan 2017
Implement check-count field in FENs
lantonov
 
Posts: 62
Joined: 28 Feb 2014, 08:43

Re: Versions after Winboard 8.0 can't play Fisher random in

Postby lantonov » 09 Aug 2019, 06:44

This works (although not very elegant):
backend.c below line 18700
Code: Select all
    i = boards[move][CHECK_COUNT];
    if(i && gameInfo.variant == Variant3Check) {
   sprintf(p, "%d+%d ", i&255, i>>8);
   while(*p) p++;
    }
lantonov
 
Posts: 62
Joined: 28 Feb 2014, 08:43

Re: Versions after Winboard 8.0 can't play Fisher random in

Postby H.G.Muller » 09 Aug 2019, 09:00

Indeed, that would solve the problem with the FEN. But there could be other problems. The underlying reason for all this is that the CHECK_COUNT variable in the game state is not initialized when you start an ICS game. In local games InitPosition() would take care of that, and only initialize it to a non-zero value for the initial position of 3check. But in ICS games the flow of information is different: the ICS will send a board to WinBoard after every move, and the new position is obtained by parsing this board, rather than derived from the previous position by applying the move. Applying the move updates the CHECK_COUNT in 3checks. But the board sent by the ICS does not contain any info regarding the number of checks; you would have to deduce that from the game history. This also applies for the initial position; it is just a position received from the ICS like any other position. The current ParseBoard12() leaves CHECK_COUNT undefined. (And it uses a local variable as temporary to build the board, which has undefined starting values for every board element.)

I had a similar problem in Crazyhouse, where the ICS board doesn't show whether a piece is a promoted Pawn or not (which I want to show in WinBoard). I had to add code in the ParseBoard12() to extract that info from WinBoards record of the previous position. For FRC castling rights too, btw. Something similar will have to be done for the check count, or it might revert to a random value after every move even if the initial position set it right. And apart from the FEN sent to the engine the value might affect adjudication in 3check. So 3check might be broken even more than FRC, in ICS games.

Unfortunately I have little time now, as my plane to Macau leaves this afternoon. I will take a look at it after the Computer Olympiad.
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL


Return to Winboard and related Topics

Who is online

Users browsing this forum: No registered users and 14 guests