Page 3 of 5

Re: Demolito 20181029 released

Posted: Wed Nov 07, 2018 10:16 am
by Gabor Szots
Thanks Lucas.

However...

I have an Intel i5 4690K (Haswell). I have tried Demolito under 3 GUI's. It does not move or analyze under Arena, it displays 'waiting for engine' under Shredder 13 then does not move. Under Fritz 15 it is OK.

From the command line: initially it seems OK but when I issue 'go depth 15' it exits. If I issue 'ucinewgame' first then 'go depth 15' it displays its analysis but comes up with the move a1d2.

Re: Demolito 20181029 released

Posted: Wed Nov 07, 2018 1:12 pm
by lucasart
Gabor Szots wrote: Wed Nov 07, 2018 10:16 am Thanks Lucas.

However...

I have an Intel i5 4690K (Haswell). I have tried Demolito under 3 GUI's. It does not move or analyze under Arena, it displays 'waiting for engine' under Shredder 13 then does not move. Under Fritz 15 it is OK.

From the command line: initially it seems OK but when I issue 'go depth 15' it exits. If I issue 'ucinewgame' first then 'go depth 15' it displays its analysis but comes up with the move a1d2.
Can you try this compile?

Please test the following:

Bench from command line

Code: Select all

demolito.exe search 12 1
UCI simple test

Code: Select all

$ demolito.exe
> position startpos
> ucinewgame
> isready
readyok
> go depth 12
info depth 1 score cp 48 time 10 nodes 21 pv e2e4
info depth 2 score cp 6 time 10 nodes 151 pv e2e4 g8f6
info depth 3 score cp 37 time 11 nodes 321 pv e2e4 e7e6 b1c3
info depth 4 score cp 8 time 11 nodes 643 pv b1c3 e7e6 e2e3 b8c6
info depth 5 score cp 37 time 11 nodes 1207 pv b1c3 b8c6 e2e3 e7e6 d2d4
info depth 6 score cp 35 time 12 nodes 2458 pv b1c3 e7e5 e2e4 f8e7 d1g4 g7g6
info depth 7 score cp 34 time 16 nodes 6589 pv b1c3 b8c6 d2d4 d7d5 g1f3 c8f5 c1f4
info depth 8 score cp 28 time 20 nodes 12562 pv b1c3 b8c6 d2d4 d7d5 g1f3 c8f5 c1f4 g8f6 f3e5 c6e5
info depth 9 score cp 28 time 22 nodes 14934 pv b1c3 b8c6 d2d4 d7d5 g1f3 c8f5 c1f4 g8f6 f3e5 c6e5
info depth 10 score cp 28 time 47 nodes 29089 pv b1c3 b8c6 d2d4 d7d5 c1f4 e7e6 g1f3 f8d6 f3e5 c6e5 d4e5
info depth 11 score cp 16 time 227 nodes 165759 pv b1c3 d7d5 e2e3 e7e6 d2d4 g8f6 f1e2 f8b4 c1d2 e8g8 e1f1
info depth 12 score cp 24 time 317 nodes 242233 pv b1c3 d7d5 e2e3 g8f6 d2d4 b8d7 g1f3 c7c6 f1d3 e7e6 e1g1 f8d6 c1d2 e8g8
bestmove b1c3 ponder d7d5
> quit

Re: Demolito 20181029 released

Posted: Wed Nov 07, 2018 2:19 pm
by Gabor Szots
Now I have tried the new compile and the original one and they seem to behave identically from the command line, just as your attached outputs show.

Previously I did not issue the position startpos command.

Re: Demolito 20181029 released

Posted: Wed Nov 07, 2018 3:12 pm
by lucasart
Gabor Szots wrote: Wed Nov 07, 2018 2:19 pm Now I have tried the new compile and the original one and they seem to behave identically from the command line, just as your attached outputs show.

Previously I did not issue the position startpos command.
Thanks. So it works by hand but not in the GUI?

Re: Demolito 20181029 released

Posted: Wed Nov 07, 2018 3:39 pm
by Gabor Szots
lucasart wrote: Wed Nov 07, 2018 3:12 pm
Gabor Szots wrote: Wed Nov 07, 2018 2:19 pm Now I have tried the new compile and the original one and they seem to behave identically from the command line, just as your attached outputs show.

Previously I did not issue the position startpos command.
Thanks. So it works by hand but not in the GUI?
Seems so. And upon checking again I found that even under F15 it can analyze but does not move. Can it be the order of commands the GUI sends to the engine?

Re: Demolito 20181029 released

Posted: Thu Nov 08, 2018 2:42 am
by tpoppins
It's a compiler issue. If I build under MSYS2 with MinGW and GCC 8.2.0 I get no compiler errors, just a couple of warnings, but no bench results at the end and the resulting exec crashes. Removing "-flto" and "-m" flags and lowering "-O" to 2 did not help.

Under Cygwin and GCC 7.3.0 everything is hunky-dory, but you need cygwin1.dll to run the execs. Here are two: one will run on any CPU with SSE3 (P4/Athlon 64 or later), the POPCNT one needs a Nehalem/Phenom or later. The required Cygwin1.dll is included

demolito_20181029-tp.zip

Re: Demolito 20181029 released

Posted: Thu Nov 08, 2018 3:15 am
by lucasart
tpoppins wrote: Thu Nov 08, 2018 2:42 am It's a compiler issue. If I build under MSYS2 with MinGW and GCC 8.2.0 I get no compiler errors, just a couple of warnings, but no bench results at the end and the resulting exec crashes. Removing "-flto" and "-m" flags and lowering "-O" to 2 did not help.

Under Cygwin and GCC 7.3.0 everything is hunky-dory, but you need cygwin1.dll to run the execs. Here are two: one will run on any CPU with SSE3 (P4/Athlon 64 or later), the POPCNT one needs a Nehalem/Phenom or later. The required Cygwin1.dll is included

demolito_20181029-tp.zip
Thank you so much!

Indeed a compiler issue is the only explanation left. My guess would be a libc issue actually.

The first indicator that something is broken in the mingw-w64-gcc compiler (from Arch Linux AUR) is the size of the executable. My exe were built with -static, so should be self contained, and yet they are extremely small only 70kB or so). This problem didn't happen with the Ubuntu package.

The second indication is that nothing changed in the UCI code since last time, where mingw cross compiles worked flawlessly.

In fact, the mingw packages were removed from Arch official repos and moved to AUR, precisely because they were unmaintained and broken. That will teach me to rely on unmaintained and broken software :-(

Re: Demolito 20181029 released

Posted: Thu Nov 08, 2018 11:31 am
by Guenther
tpoppins wrote: Thu Nov 08, 2018 2:42 am It's a compiler issue. If I build under MSYS2 with MinGW and GCC 8.2.0 I get no compiler errors, just a couple of warnings, but no bench results at the end and the resulting exec crashes. Removing "-flto" and "-m" flags and lowering "-O" to 2 did not help.

Under Cygwin and GCC 7.3.0 everything is hunky-dory, but you need cygwin1.dll to run the execs. Here are two: one will run on any CPU with SSE3 (P4/Athlon 64 or later), the POPCNT one needs a Nehalem/Phenom or later. The required Cygwin1.dll is included

demolito_20181029-tp.zip
Thanks! This one works on my old quadcore w/o popcount, but there are some interesting glitches with it.

1. It runs with 837 kn/s in the 'search 12 1' test given by Lucas, which is around 20 faster than before
2. I had no problem to do a test game/match in cutechess-cli

[pgn][Event "Test_2018"] [Site "RWBC::CAPPUCCINO_Q8200"] [Date "2018.11.08"] [Round "1"] [White "Demolito_181029-64"] [Black "Ethereal_1055-64"] [Result "1/2-1/2"] [ECO "A82"] [GameDuration "00:05:13"] [GameEndTime "2018-11-08T10:43:52.008 Mitteleuropäische Zeit"] [GameStartTime "2018-11-08T10:38:38.213 Mitteleuropäische Zeit"] [Opening "Dutch"] [PlyCount "108"] [TimeControl "40/120"] [Variation "Staunton gambit"] 1. d4 {book} f5 {book} 2. e4 {book} fxe4 {book} 3. Nc3 {book} g6 {book} 4. Nxe4 {+0.28/15 3.8s} d5 {-0.57/19 3.3s} 5. Ng5 {+0.26/15 3.9s} Bg7 {-0.23/18 5.2s} 6. Bd3 {+0.51/15 3.7s} Nc6 {+0.02/19 3.1s} 7. N1f3 {+0.29/14 4.0s} Qd6 {-0.18/20 2.9s} 8. c4 {-0.02/14 4.0s} Bg4 {-0.08/19 2.8s} 9. Qb3 {+0.11/14 3.9s} Qb4+ {-0.53/18 5.0s} 10. Qc3 {+0.29/16 3.4s} Bxf3 {-0.40/19 2.9s} 11. Nxf3 {+0.53/16 3.5s} Nf6 {-0.41/21 4.4s} 12. a3 {+0.39/14 3.8s} Qd6 {-0.22/20 3.9s} 13. Be3 {+0.39/14 3.8s} O-O-O {-0.39/21 3.4s} 14. Rd1 {+0.46/14 3.8s} Rhf8 {-0.07/20 3.1s} 15. c5 {+0.37/15 3.5s} Qe6 {0.00/21 3.3s} 16. O-O {+0.46/15 3.5s} Ne4 {-0.27/20 2.1s} 17. Qe1 {+0.42/15 3.5s} a6 {-0.47/19 3.3s} 18. b4 {+0.72/16 3.1s} Qf6 {-0.52/20 6.0s} 19. Bc2 {+0.68/14 3.6s} Qf7 {-0.92/19 4.7s} 20. Ne5 {+0.44/16 3.2s} Nxe5 {-0.66/22 2.7s} 21. dxe5 {+0.34/18 2.7s} Bxe5 {-0.51/23 2.2s} 22. Bh6 {+0.31/18 2.8s} Bg7 {-0.44/23 1.9s} 23. Bxg7 {+0.43/18 2.9s} Qxg7 {-0.36/24 1.8s} 24. Bxe4 {+0.52/18 2.7s} dxe4 {-0.51/23 2.1s} 25. Qxe4 {+0.48/18 2.8s} Qf6 {-0.50/23 2.1s} 26. f3 {+0.45/18 2.8s} Rxd1 {-0.52/22 2.4s} 27. Rxd1 {+0.39/19 2.6s} Rd8 {-0.43/24 2.0s} 28. Rxd8+ {+0.41/18 2.7s} Kxd8 {-0.25/20 2.7s} 29. Kf2 {+0.34/19 2.7s} c6 {0.00/20 1.9s} 30. Kg3 {+0.39/17 2.7s} Qc3 {0.00/23 2.6s} 31. Qf4 {+0.09/17 2.8s} Ke8 {0.00/24 2.4s} 32. Kh3 {0.00/17 2.9s} a5 {0.00/25 2.8s} 33. Qb8+ {-0.10/19 2.8s} Kf7 {0.00/26 2.9s} 34. Qxb7 {-0.10/21 2.3s} Qe5 {0.00/27 4.3s} 35. Qxc6 {-0.10/22 2.5s} Qh5+ {0.00/25 1.9s} 36. Kg3 {-0.10/24 2.6s} Qg5+ {0.00/26 1.8s} 37. Kf2 {-0.10/24 2.9s} Qd2+ {0.00/28 2.5s} 38. Kf1 {-0.10/24 2.3s} Qd3+ {0.00/23 2.4s} 39. Ke1 {-0.10/22 2.9s} Qe3+ {0.00/24 2.3s} 40. Kd1 {-0.10/23 3.7s} Qd3+ {0.00/25 2.1s} 41. Kc1 {-0.10/22 2.7s} Qxa3+ {0.00/23 3.3s} 42. Kc2 {-0.10/22 2.8s} Qa2+ {0.00/23 3.3s} 43. Kc3 {-0.10/22 2.8s} Qa1+ {0.00/24 5.1s} 44. Kc4 {-0.10/22 2.8s} Qf1+ {0.00/23 2.4s} 45. Kd4 {-0.10/23 2.7s} Qf2+ {0.00/24 2.5s} 46. Kc3 {-0.10/22 2.7s} Qe1+ {0.00/22 2.6s} 47. Kc2 {-0.10/23 2.7s} Qe2+ {0.00/23 3.0s} 48. Kb3 {-0.10/25 2.7s} Qd1+ {0.00/26 3.8s} 49. Kc4 {-0.10/26 2.6s} Qe2+ {0.00/26 2.8s} 50. Kc3 {-0.10/25 2.7s} Qe1+ {0.00/26 5.7s} 51. Kc2 {-0.10/26 2.7s} Qe2+ {0.00/26 5.6s} 52. Kb3 {-0.10/28 2.6s} Qd1+ {0.00/28 3.9s} 53. Kc4 {-0.10/27 2.6s} Qe2+ {0.00/28 2.1s} 54. Kc3 {-0.10/27 2.7s} Qe1+ {0.00/29 2.4s, Draw by 3-fold repetition} 1/2-1/2[/pgn]



3. It has weird problems in WB!
a) it does not run with Polyglot at all
b) with WB2UCI it triggers 'false stalemate claims' early in the game

After enabling the WB2UCI log to see what causes this (ofc an uci program cannot make false stalemate claims),
I see that it sometimes adds 'ponder 0000' to a move, which makes WB2UCI choke and it translates this to a false stalemate claim.

Code: Select all

recognized 'normal' (-1) as variant normal
recognized 'normal' (-1) as variant normal
shuffleOpenings = 0
Version: WinBoard 4.9.182601 + Demolito_181029-64
Reset(1, 0) from gameMode 0
recognized 'normal' (-1) as variant normal
GameEnds(0, (null), 2)
shuffleOpenings = 0
StartChildProcess (dir="") UCI2WB Demolito_181029-64 C:\Engines\UCI\Demolito_181029-64
nice engine proc to 10
600 >first : xboard
protover 2
610 <first : feature setboard=1 usermove=1 debug=1 ping=1 name=1 reuse=0 exclude=1 pause=1 sigint=0 sigterm=0 done=0
610 >first : accepted setboard
620 >first : accepted usermove
620 >first : accepted debug
620 >first : accepted ping
620 >first : accepted name
620 >first : accepted reuse
620 >first : accepted exclude
620 >first : accepted pause
620 >first : accepted sigint
620 >first : accepted sigterm
620 >first : accepted done
620 <first : feature option="UCI2WB debug output -check 0"
620 >first : accepted option
620 >first : option UCI2WB debug output=1
620 <first : feature myname="Demolito 2018-10-29 (UCI2WB)"
620 >first : accepted myname
620 <first : feature option="Contempt -spin 10 -100 100"
620 >first : accepted option
620 <first : feature option="Time Buffer -spin 60 0 1000"
620 >first : accepted option
620 <first : feature oocastle=0
620 >first : accepted oocastle
620 <first : feature variants="normal,xiangqi,normal,fischerandom"
620 >first : accepted variants
620 <first : feature smp=1 memory=1 done=1
620 >first : accepted smp
620 >first : accepted memory
620 >first : accepted done
620 <first : # backlog: # 'accepted' think=0 pause=0 log=0 sent=0
620 <first : # 'accepted' think=0 pause=0 log=0 sent=0
620 <first : # 'accepted' think=0 pause=0 log=0 sent=0
620 <first : # 'accepted' think=0 pause=0 log=0 sent=0
620 <first : # 'accepted' think=0 pause=0 log=0 sent=0
620 <first : # 'accepted' think=0 pause=0 log=0 sent=0
620 <first : # 'accepted' think=0 pause=0 log=0 sent=0
620 <first : # 'accepted' think=0 pause=0 log=0 sent=0
630 >first : memory 544
630 >first : cores 1
630 >first : new
random
630 >first : level 40 0:30 0
630 >first : post
630 >first : hard
630 >first : easy
630 >first : ping 1
Impossible move , type = 0
630 <first : # 'memory' think=0 pause=0 log=0 sent=0
630 <first : # 'cores' think=0 pause=0 log=0 sent=0
630 <first : # setoption name Threads value 1
630 <first : # 'new' think=0 pause=0 log=0 sent=0
630 <first : # setoption name Hash value 544
630 <first : # isready
630 <first : # engine said: readyok
630 <first : # ucinewgame
630 <first : # 'random' think=0 pause=0 log=0 sent=0
630 <first : # 'level' think=0 pause=0 log=0 sent=0
630 <first : # 'post' think=0 pause=0 log=0 sent=0
630 <first : # 'hard' think=0 pause=0 log=0 sent=0
630 <first : # 'easy' think=0 pause=0 log=0 sent=0
630 <first : # 'ping' think=0 pause=0 log=0 sent=0
630 <first : pong 1
3030 >first : force
StartChildProcess (dir="") UCI2WB Xiphos_04-64 C:\Engines\UCI\Xiphos_04-64
nice engine proc to 10
3540 >second: xboard
protover 2
3540 <first : # 'force' think=0 pause=0 log=0 sent=0
3540 <second: feature setboard=1 usermove=1 debug=1 ping=1 name=1 reuse=0 exclude=1 pause=1 sigint=0 sigterm=0 done=0
3540 >second: accepted setboard
3540 >second: accepted usermove
3540 >second: accepted debug
3540 >second: accepted ping
3540 >second: accepted name
3540 >second: accepted reuse
3540 >second: accepted exclude
3540 >second: accepted pause
3540 >second: accepted sigint
3540 >second: accepted sigterm
3540 >second: accepted done
3540 <second: feature option="UCI2WB debug output -check 0"
3540 >second: accepted option
3540 <second: feature myname="Xiphos 0.4 NO-POPCNT (UCI2WB)"
3540 >second: accepted myname
3540 <second: feature variants="normal,xiangqi"
3540 >second: accepted variants
3540 <second: feature smp=1 memory=1 done=1
3540 >second: accepted smp
3540 >second: accepted memory
3540 >second: accepted done
3550 >second: memory 544
3550 >second: cores 1
3550 >second: new
random
3550 >second: level 40 0:30 0
3550 >second: post
3550 >second: hard
3550 >second: easy
3550 >second: ping 1
Impossible move , type = 0
3550 >second: force
3980 <second: pong 1
New game (0): Demolito 2018-10-29 (UCI2WB)-Xiphos 0.4 NO-POPCNT (UCI2WB) (w)
3990 >first : computer
3990 >first : name Xiphos 0.4 NO-POPCNT (UCI2WB)
3990 >second: computer
3990 >second: name Demolito 2018-10-29 (UCI2WB)
3990 >first : black
3990 >first : time 3000
3990 >first : otim 3000
3990 >first : white
book hit = (NULL)
3990 >first : go
nps: w=-1, b=-1
3990 <first : # 'computer' think=0 pause=0 log=0 sent=0
3990 <first : # 'name' think=0 pause=0 log=0 sent=0
3990 <first : # 'black' think=0 pause=0 log=0 sent=0
3990 <first : # 'time' think=0 pause=0 log=0 sent=0
3990 <first : # 'otim' think=0 pause=0 log=0 sent=0
3990 <first : # 'white' think=0 pause=0 log=0 sent=0
3990 <first : # 'go' think=0 pause=0 log=0 sent=0
3990 <first : # start search
3990 <first : # position startpos moves
3990 <first : # go btime 30000 wtime 30000 movestogo 40
3990 <first : # engine said: info depth 1 score cp 48 time 1 nodes 21 pv e2e4
3990 <first :   1      48      0         21 e2e4
4000 <first : # engine said: info depth 2 score cp 6 time 1 nodes 151 pv e2e4 g8f6
4000 <first :   2       6      0        151 e2e4 g8f6
4000 <first : # engine said: info depth 3 score cp 37 time 1 nodes 321 pv e2e4 e7e6 b1c3
4000 <first :   3      37      0        321 e2e4 e7e6 b1c3
4000 <first : # engine said: info depth 4 score cp 8 time 2 nodes 643 pv b1c3 e7e6 e2e3 b8c6
4000 <first :   4       8      0        643 b1c3 e7e6 e2e3 b8c6
4000 <first : # engine said: info depth 5 score cp 37 time 4 nodes 1207 pv b1c3 b8c6 e2e3 e7e6 d2d4
4010 <first :   5      37      0       1207 b1c3 b8c6 e2e3 e7e6 d2d4
4010 <first : # engine said: info depth 6 score cp 35 time 7 nodes 2457 pv b1c3 e7e5 e2e4 f8e7 d1g4 g7g6
4010 <first :   6      35      0       2457 b1c3 e7e5 e2e4 f8e7 d1g4 g7g6
4010 <first : # engine said: info depth 7 score cp 34 time 18 nodes 6581 pv b1c3 b8c6 d2d4 d7d5 g1f3 c8f5 c1f4
4010 <first :   7      34      1       6581 b1c3 b8c6 d2d4 d7d5 g1f3 c8f5 c1f4
4020 <first : # engine said: info depth 8 score cp 28 time 32 nodes 12457 pv b1c3 b8c6 d2d4 d7d5 g1f3 c8f5 c1f4 g8f6 f3e5
4030 <first :   8      28      3      12457 b1c3 b8c6 d2d4 d7d5 g1f3 c8f5 c1f4 g8f6 f3e5
4030 <first : # engine said: info depth 9 score cp 28 time 37 nodes 14833 pv b1c3 b8c6 d2d4 d7d5 g1f3 c8f5 c1f4 g8f6 f3e5
4030 <first :   9      28      3      14833 b1c3 b8c6 d2d4 d7d5 g1f3 c8f5 c1f4 g8f6 f3e5
4060 <first : # engine said: info depth 10 score cp 26 time 66 nodes 30125 pv b1c3 b8c6 d2d4 d7d5 g1f3 g8f6 e2e3 f6e4 c3e4 d5e4 f3d2 c8f5
4060 <first :  10      26      6      30125 b1c3 b8c6 d2d4 d7d5 g1f3 g8f6 e2e3 f6e4 c3e4 d5e4 f3d2 c8f5
4160 <first : # engine said: info depth 11 score cp 16 time 168 nodes 85050 pv b1c3 d7d5 g1f3 e7e6 d2d4 g8f6 e2e3 b8d7 f3e5 d7e5 d4e5
4160 <first :  11      16     16      85050 b1c3 d7d5 g1f3 e7e6 d2d4 g8f6 e2e3 b8d7 f3e5 d7e5 d4e5
4320 <first : # engine said: info depth 12 score cp 14 time 323 nodes 181023 pv e2e3 d7d5 d2d4 e7e6 b1d2 g8f6 f1d3 b8c6 g1f3 f8e7 e1g1 e8g8
4320 <first :  12      14     32     181023 e2e3 d7d5 d2d4 e7e6 b1d2 g8f6 f1d3 b8c6 g1f3 f8e7 e1g1 e8g8
4810 <first : # engine said: info depth 13 score cp 18 time 813 nodes 502686 pv d2d4 g8f6 g1f3 d7d5 e2e3 b8d7 f1d3 e7e6 e1g1 f8d6 b1d2 e8g8 c2c3
4810 <first :  13      18     81     502686 d2d4 g8f6 g1f3 d7d5 e2e3 b8d7 f1d3 e7e6 e1g1 f8d6 b1d2 e8g8 c2c3
5020 <first : # engine said: bestmove d2d4 ponder g8f6
5020 <first : move d2d4
5020 >second: time 3000
5020 >second: otim 2897
book hit = (NULL)
5020 >second: usermove 5020 >second: d2d4
5020 >second: black
5020 >second: go
silence
5030 <first : 
5030 <first : Hint: g8f6
5030 <second:   1      38      0         21 e7e6 
5030 <second:   2       2      0         99 e7e6 g1f3 
5030 <second:   3     -20      0        160 e7e6 d1d2 h7h6 
5030 <second:   4     -48      0        358 e7e6 d1d2 h7h6 g1f3 
5030 <second:   5      -1      0        823 g8f6 g1f3 d7d5 c1d2 e7e6 
5040 <second:   6     -17      0       1510 g8f6 e2e3 c7c5 c1d2 c5d4 e3d4 
5040 <second:   7     -10      1       3584 g8f6 g1f3 b8c6 b1c3 d7d5 e2e3 e7e6 
5040 <second:   8     -12      1       5379 g8f6 g1f3 e7e6 b1c3 d7d5 e2e3 b8c6 h2h3 
5040 <second:   9     -10      1       9335 g8f6 g1f3 d7d5 b1c3 e7e6 e2e3 b8c6 f1b5 f8b4 
5050 <second:  10     -18      3      21120 g8f6 g1f3 d7d5 b1c3 e7e6 e2e3 c8d7 f1e2 f6e4 e1g1 
5080 <second:  11     -16      6      49715 d7d5 g1f3 e7e6 b1c3 g8f6 e2e3 c8d7 f1e2 f8d6 e1g1 c7c5 
5160 <second:  12     -24     14     125269 d7d5 g1f3 e7e6 c2c4 d5c4 b1c3 c7c6 a2a3 f8e7 e2e4 b7b5 f1e2 c8b7 
5250 <second:  13     -21     23     220266 d7d5 g1f3 e7e6 c2c4 d5c4 b1c3 c7c6 a2a3 f8e7 e2e4 b7b5 f1e2 g8f6 
5510 <second:  14     -26     49     491043 d7d5 c2c4 e7e6 b1c3 c7c6 e2e3 d5c4 g1f3 g8f6 e3e4 f8b4 c1g5 b4c3 b2c3 
5730 <second:  15     -24     70     712867 g8f6 g1f3 e7e6 c2c4 d7d5 e2e3 f8e7 c4d5 e6d5 f1d3 c7c6 e1g1 e8g8 b1c3 e7d6 
6090 <second:  16     -21    107    1090484 g8f6 g1f3 e7e6 c2c4 d7d5 e2e3 f8e7 b1c3 e8g8 f1d3 c7c5 e1g1 d5c4 d3c4 a7a6 h2h3 c5d4 e3d4 
6750 <second:  17     -21    172    1750526 g8f6 g1f3 e7e6 c2c4 d7d5 e2e3 f8e7 b1c3 e8g8 f1d3 c7c5 e1g1 d5c4 d3c4 a7a6 h2h3 c5d4 
6750 <second:  17     -21    172    1750526 g8f6 g1f3 e7e6 c2c4 d7d5 e2e3 f8e7 b1c3 e8g8 f1d3 c7c5 e1g1 d5c4 d3c4 a7a6 h2h3 c5d4 
6760 <second: move g8f6
6760 >first : time 2897
6760 >first : otim 2826
book hit = (NULL)
6760 >first : usermove 6760 >first : g8f6
silence
6770 <second: 
6770 <second: Hint: g1f3
6770 <first : # 'time' think=0 pause=0 log=0 sent=0
6770 <first : # 'otim' think=0 pause=0 log=0 sent=0
6770 <first : # 'usermove' think=0 pause=0 log=0 sent=0
6770 <first : # start search
6770 <first : # position startpos moves d2d4 g8f6
6770 <first : # go btime 28260 wtime 28970 movestogo 39
6770 <first : # engine said: info depth 1 score cp 17 time 1 nodes 29 pv g1f3
6770 <first :   1      17      0         29 g1f3
6770 <first : # engine said: info depth 2 score cp 17 time 1 nodes 55 pv g1f3 d7d5
6770 <first :   2      17      0         55 g1f3 d7d5
6770 <first : # engine said: info depth 3 score cp 17 time 1 nodes 91 pv g1f3 d7d5 b1c3
6770 <first :   3      17      0         91 g1f3 d7d5 b1c3
6780 <first : # engine said: info depth 4 score cp 17 time 1 nodes 176 pv g1f3 d7d5 e2e3 e7e6
6780 <first :   4      17      0        176 g1f3 d7d5 e2e3 e7e6
6780 <first : # engine said: info depth 5 score cp 20 time 1 nodes 426 pv g1f3 d7d5 e2e3 e7e6 c1d2
6780 <first :   5      20      0        426 g1f3 d7d5 e2e3 e7e6 c1d2
6780 <first : # engine said: info depth 6 score cp 17 time 2 nodes 597 pv g1f3 d7d5 e2e3 e7e6 b1c3 f8d6
6780 <first :   6      17      0        597 g1f3 d7d5 e2e3 e7e6 b1c3 f8d6
6780 <first : # engine said: info depth 7 score cp 25 time 3 nodes 1309 pv g1f3 d7d5 e2e3 e7e6 b1c3 b8d7 f1d3
6780 <first :   7      25      0       1309 g1f3 d7d5 e2e3 e7e6 b1c3 b8d7 f1d3
6780 <first : # engine said: info depth 8 score cp 25 time 6 nodes 2472 pv g1f3 d7d5 e2e3 e7e6 f1d3 f8d6 c1d2 b8d7 e1g1
6780 <first :   8      25      0       2472 g1f3 d7d5 e2e3 e7e6 f1d3 f8d6 c1d2 b8d7 e1g1
6780 <first : # engine said: info depth 9 score cp 25 time 8 nodes 3417 pv g1f3 d7d5 e2e3 e7e6 f1d3 f8d6 c1d2 b8d7 e1g1
6780 <first :   9      25      0       3417 g1f3 d7d5 e2e3 e7e6 f1d3 f8d6 c1d2 b8d7 e1g1
6780 <first : # engine said: info depth 10 score cp 19 time 27 nodes 12883 pv e2e3 e7e6 f1d3 d7d5 g1f3 f8d6 e1g1 e8g8 b1d2 b8d7 c2c3
6780 <first :  10      19      2      12883 e2e3 e7e6 f1d3 d7d5 g1f3 f8d6 e1g1 e8g8 b1d2 b8d7 c2c3
6800 <first : # engine said: info depth 11 score cp 17 time 43 nodes 22104 pv e2e3 e7e6 c1d2 d7d5 g1f3 b8d7 f1d3 f8d6 e1g1 e8g8 b1c3
6800 <first :  11      17      4      22104 e2e3 e7e6 c1d2 d7d5 g1f3 b8d7 f1d3 f8d6 e1g1 e8g8 b1c3
6890 <first : # engine said: info depth 12 score cp 23 time 136 nodes 78721 pv g1f3 e7e6 e2e3 d7d5 f1d3 b8c6 e1g1 c8d7 c1d2 f8d6 b1c3 e8g8 c3b5
6890 <first :  12      23     13      78721 g1f3 e7e6 e2e3 d7d5 f1d3 b8c6 e1g1 c8d7 c1d2 f8d6 b1c3 e8g8 c3b5
6950 <first : # engine said: info depth 13 score cp 23 time 195 nodes 116315 pv g1f3 e7e6 e2e3 b8c6 b1c3 d7d5 f1d3 c8d7 e1g1 f8d6 c1d2 e8g8 c3b5
6950 <first :  13      23     19     116315 g1f3 e7e6 e2e3 b8c6 b1c3 d7d5 f1d3 c8d7 e1g1 f8d6 c1d2 e8g8 c3b5
7390 <first : # engine said: info depth 14 score cp 21 time 632 nodes 400036 pv g1f3 e7e6 e2e3 d7d5 f1d3 c7c5 e1g1 c5c4 d3e2 f8d6 b2b3 c4b3 a2b3 b8c6 c1a3 e8g8
7390 <first :  14      21     63     400036 g1f3 e7e6 e2e3 d7d5 f1d3 c7c5 e1g1 c5c4 d3e2 f8d6 b2b3 c4b3 a2b3 b8c6 c1a3 e8g8
7720 <first : # engine said: bestmove g1f3 ponder e7e6
7720 <first : move g1f3
7720 >second: time 2826
7720 >second: otim 2801
book hit = (NULL)
7720 >second: usermove 7720 >second: g1f3
silence
7730 <first : 
7730 <first : Hint: e7e6
7730 <second:   1     -21      0         23 e7e6 
7730 <second:   2     -21      0         51 e7e6 c2c4 
7730 <second:   3     -21      0         85 e7e6 c2c4 d7d5 
7730 <second:   4     -21      0        142 e7e6 c2c4 b8c6 b1c3 
7730 <second:   5     -27      0        671 e7e6 c2c4 c7c5 d4d5 e6d5 
7740 <second:   6     -21      0        903 e7e6 c2c4 d7d5 b1c3 b8c6 e2e3 
7740 <second:   7     -21      0       1343 e7e6 c2c4 f8e7 b1c3 d7d5 e2e3 e8g8 
7740 <second:   8     -21      0       1929 e7e6 c2c4 f8e7 b1c3 d7d5 e2e3 e8g8 f1d3 
7740 <second:   9     -21      0       2925 e7e6 c2c4 f8e7 b1c3 d7d5 e2e3 e8g8 f1d3 c7c5 
7740 <second:  10     -21      0       6014 e7e6 c2c4 d7d5 e2e3 f8e7 b1c3 e8g8 f1d3 c7c5 e1g1 
7740 <second:  11     -21      1       8826 e7e6 c2c4 d7d5 e2e3 f8e7 b1c3 e8g8 f1d3 c7c5 e1g1 d5c4 
7750 <second:  12     -21      1      12775 e7e6 c2c4 d7d5 e2e3 f8e7 b1c3 e8g8 f1d3 c7c5 e1g1 d5c4 d3c4 
7750 <second:  13     -21      2      24478 e7e6 c2c4 d7d5 e2e3 f8e7 b1c3 e8g8 f1d3 c7c5 e1g1 d5c4 d3c4 a7a6 
7770 <second:  14     -21      4      43746 e7e6 c2c4 d7d5 e2e3 f8e7 b1c3 e8g8 f1d3 c7c5 e1g1 d5c4 d3c4 a7a6 h2h3 
7840 <second:  15     -21     12     122721 e7e6 c2c4 d7d5 e2e3 f8e7 b1c3 e8g8 f1d3 c7c5 e1g1 d5c4 d3c4 a7a6 h2h3 c5d4 
8120 <second:  16     -20     39     408376 e7e6 c2c4 d7d5 e2e3 c7c5 b1c3 b8c6 f1d3 d5c4 d3c4 c5d4 e3d4 f8d6 e1g1 e8g8 a2a3 
8930 <second:  17     -14    120    1260617 e7e6 c2c4 d7d5 e2e3 f8e7 b1c3 e8g8 f1d3 d5c4 d3c4 c7c5 e1g1 a7a6 f3e5 b8d7 c4d3 d7e5 d4e5 
8930 <second:  17     -14    120    1260617 e7e6 c2c4 d7d5 e2e3 f8e7 b1c3 e8g8 f1d3 d5c4 d3c4 c7c5 e1g1 a7a6 f3e5 b8d7 c4d3 d7e5 d4e5 
8940 <second: move e7e6
8940 >first : time 2801
8940 >first : otim 2704
book hit = (NULL)
8940 >first : usermove 8940 >first : e7e6
silence
8940 <second: 
8950 <second: Hint: c2c4
8950 <first : # 'time' think=0 pause=0 log=0 sent=0
8950 <first : # 'otim' think=0 pause=0 log=0 sent=0
8950 <first : # 'usermove' think=0 pause=0 log=0 sent=0
8950 <first : # start search
8950 <first : # position startpos moves d2d4 g8f6 g1f3 e7e6
8950 <first : # go btime 27040 wtime 28010 movestogo 38
8950 <first : # engine said: info depth 1 score cp 21 time 0 nodes 31 pv e2e3
8950 <first :   1      21      0         31 e2e3
8950 <first : # engine said: info depth 2 score cp 21 time 0 nodes 64 pv e2e3 b8c6
8950 <first :   2      21      0         64 e2e3 b8c6
8950 <first : # engine said: info depth 3 score cp 21 time 0 nodes 158 pv e2e3 d7d5 f1d3
8950 <first :   3      21      0        158 e2e3 d7d5 f1d3
8950 <first : # engine said: info depth 4 score cp 21 time 0 nodes 208 pv e2e3 d7d5 f1d3 b8c6
8950 <first :   4      21      0        208 e2e3 d7d5 f1d3 b8c6
8950 <first : # engine said: info depth 5 score cp 21 time 0 nodes 298 pv e2e3 d7d5 f1d3 c7c5 e1g1
8960 <first :   5      21      0        298 e2e3 d7d5 f1d3 c7c5 e1g1
8960 <first : # engine said: info depth 6 score cp 21 time 1 nodes 388 pv e2e3 d7d5 f1d3 c7c5 e1g1 b8c6
8960 <first :   6      21      0        388 e2e3 d7d5 f1d3 c7c5 e1g1 b8c6
8960 <first : # engine said: info depth 7 score cp 21 time 1 nodes 532 pv e2e3 d7d5 f1d3 c7c5 e1g1 b8c6 c2c4
8960 <first :   7      21      0        532 e2e3 d7d5 f1d3 c7c5 e1g1 b8c6 c2c4
8960 <first : # engine said: info depth 8 score cp 21 time 1 nodes 753 pv e2e3 d7d5 f1d3 c7c5 e1g1 b8c6 c2c4 f8e7
8960 <first :   8      21      0        753 e2e3 d7d5 f1d3 c7c5 e1g1 b8c6 c2c4 f8e7
8960 <first : # engine said: info depth 9 score cp 21 time 3 nodes 1493 pv e2e3 d7d5 f1d3 c7c5 e1g1 b8c6 c2c4 f8e7 c4d5 e6d5 d4c5 e8g8
8960 <first :   9      21      0       1493 e2e3 d7d5 f1d3 c7c5 e1g1 b8c6 c2c4 f8e7 c4d5 e6d5 d4c5 e8g8
8960 <first : # engine said: info depth 10 score cp 21 time 4 nodes 2129 pv e2e3 d7d5 f1d3 c7c5 e1g1 b8c6 c2c4 f8e7 c4d5 e6d5 d4c5 e8g8
8960 <first :  10      21      0       2129 e2e3 d7d5 f1d3 c7c5 e1g1 b8c6 c2c4 f8e7 c4d5 e6d5 d4c5 e8g8
8960 <first : # engine said: info depth 11 score cp 21 time 6 nodes 3489 pv e2e3 d7d5 f1d3 c7c5 e1g1 b8c6 c2c4 f8e7 c4d5 e6d5 d4c5 e8g8
8960 <first :  11      21      0       3489 e2e3 d7d5 f1d3 c7c5 e1g1 b8c6 c2c4 f8e7 c4d5 e6d5 d4c5 e8g8
9200 <first : # engine said: info depth 12 score cp 23 time 267 nodes 167550 pv e2e3 b8c6 f1e2 d7d5 e1g1 f8d6 c2c4 e8g8 c1d2 d6e7 b1c3 c8d7
9210 <first :  12      23     26     167550 e2e3 b8c6 f1e2 d7d5 e1g1 f8d6 c2c4 e8g8 c1d2 d6e7 b1c3 c8d7
9460 <first : # engine said: info depth 13 score cp 13 time 522 nodes 332159 pv e2e3 d7d5 f1d3 f8e7 e1g1 c7c5 c2c4 b8c6 c4d5 e6d5 d4c5 e8g8 c1d2 e7c5
9460 <first :  13      13     52     332159 e2e3 d7d5 f1d3 f8e7 e1g1 c7c5 c2c4 b8c6 c4d5 e6d5 d4c5 e8g8 c1d2 e7c5
9980 <first : # engine said: bestmove e2e3 ponder 0000
9980 <first : 1/2-1/2 {stalemate}
GameEnds(28, stalemate, 5)
GE(27, False draw claim: 'stalemate', 5) bare king k=16 color=66
9980 >first : result 0-1 {False draw claim: 'stalemate'}
9980 >second: result 0-1 {False draw claim: 'stalemate'}
10080 >first : quit
10180 >second: quit
I checked the debug of the cutechess-cli game and there are 13 'ponder 0000' entries there.
Right now I don't remember the specs and if WB2UCI is non-compliant or if there is sth to fix in Demolito?

I am still trying to figure out the incompatibility with Polyglot...

Re: Demolito 20181029 released

Posted: Thu Nov 08, 2018 12:17 pm
by Guenther
Guenther wrote: Thu Nov 08, 2018 11:31 am b) with WB2UCI it triggers 'false stalemate claims' early in the game

After enabling the WB2UCI log to see what causes this (ofc an uci program cannot make false stalemate claims),
I see that it sometimes adds 'ponder 0000' to a move, which makes WB2UCI choke and it translates this to a false stalemate claim.

...

I checked the debug of the cutechess-cli game and there are 13 'ponder 0000' entries there.
Right now I don't remember the specs and if WB2UCI is non-compliant or if there is sth to fix in Demolito?

I am still trying to figure out the incompatibility with Polyglot...
Well, it should mean UCI2WB in all cases, time for correction was already over, sorry

The polyglot problem is some mysterious I/O conflict
With a standard poyglot file, which works in all other cases for more than a decade I get this??

Code: Select all

1541676666.073 POLYGLOT *** LOGFILE OPENED ***
1541676666.073 POLYGLOT *** LOGFILE OPENED ***
1541676666.073 PolyGlot 2.0.3 by Fabien Letouzey.
1541676666.073 POLYGLOT *** START ***
1541676666.073 POLYGLOT INI file "polyglot.ini"
1541676666.080 Adapter->Engine: uci
1541676666.115 Engine->Adapter: unknown command: uci
1541676682.826 Engine->Adapter: EOF

Code: Select all

[PolyGlot]
EngineCommand=Demolito181029-64
EngineDir=.
EngineName=Demolito_181029-64
Log=true
LogFile=Demolito_181029-64.log

Book=false
BookFile=

SyncStop=true
RepeatPV=false

[Engine]
Hash=512
With inbetween between Polyglot and Demolito it works though!? (some kind of I/O redirection problem?)

Re: Demolito 20181029 released

Posted: Thu Nov 08, 2018 12:42 pm
by tpoppins
Yes, Demolito won't work with Polyglot as is:

Code: Select all

709143.806 PolyGlot 1.4.38x by Fabien Letouzey
709143.806 POLYGLOT *** START ***
709143.806 POLYGLOT INI file "polyglot.ini"
709143.806 Adapter->Engine: uci
709143.838 Engine->Adapter: unknown command: uci
It works when its output it passed through InBetween first:

Code: Select all

709249.029 PolyGlot 1.4.38x by Fabien Letouzey
709249.029 POLYGLOT *** START ***
709249.029 POLYGLOT INI file "polyglot.ini"
709249.029 Adapter->Engine: uci
709249.107 Engine->Adapter: id name Demolito 2018-10-29
709249.107 Engine->Adapter: id author lucasart
709249.107 Engine->Adapter: option name UCI_Chess960 type check default false
709249.107 Engine->Adapter: option name Hash type spin default 1 min 1 max 1048576
709249.107 Engine->Adapter: option name Threads type spin default 1 min 1 max 63
709249.107 Engine->Adapter: option name Contempt type spin default 10 min -100 max 100
709249.107 Engine->Adapter: option name Time Buffer type spin default 60 min 0 max 1000
709249.107 Engine->Adapter: uciok
709249.107 Adapter->Engine: setoption name Hash value 512
709249.107 GUI->Adapter: xboard
709249.107 GUI->Adapter: protover 2
709249.107 Adapter->GUI: feature done=0
709249.107 Adapter->GUI: feature analyze=1
709249.107 Adapter->GUI: feature colors=0
709249.107 Adapter->GUI: feature draw=1
709249.107 Adapter->GUI: feature ics=1
709249.107 Adapter->GUI: feature myname="Demolito 2018-10-29"
709249.107 Adapter->GUI: feature name=1
709249.107 Adapter->GUI: feature pause=0
709249.107 Adapter->GUI: feature ping=1
709249.107 Adapter->GUI: feature playother=1
709249.107 Adapter->GUI: feature reuse=1
709249.107 Adapter->GUI: feature san=0
709249.107 Adapter->GUI: feature setboard=1
709249.107 Adapter->GUI: feature sigint=0
709249.107 Adapter->GUI: feature sigterm=0
709249.107 Adapter->GUI: feature time=1
709249.107 Adapter->GUI: feature usermove=1
709249.107 Adapter->GUI: feature memory=1
709249.107 Adapter->GUI: feature smp=1
709249.107 Adapter->GUI: feature egt=""
709249.107 Adapter->GUI: feature variants="normal,fischerandom"
709249.107 Adapter->GUI: feature option="Contempt -spin 10 -100 100"
709249.107 Adapter->GUI: feature option="Time Buffer -spin 60 0 1000"
709249.107 Adapter->GUI: feature option="Polyglot Polyglot Version -combo 1.4.38x"
709249.107 Adapter->GUI: feature option="Polyglot Log -check 1"
709249.107 Adapter->GUI: feature option="Polyglot LogFile -file polyglot.log"
709249.107 Adapter->GUI: feature option="Polyglot OptionFile -file polyglot.ini"
709249.107 Adapter->GUI: feature option="Polyglot Book -check 0"
709249.107 Adapter->GUI: feature option="Polyglot BookFile -file book.bin"
709249.107 Adapter->GUI: feature option="Polyglot BookRandom -check 1"
709249.107 Adapter->GUI: feature option="Polyglot BookDepth -spin 256 0 256"
709249.107 Adapter->GUI: feature option="Polyglot BookLearn -check 0"
709249.107 Adapter->GUI: feature option="Polyglot BookTreshold -spin 5 0 1000"
709249.107 Adapter->GUI: feature option="Polyglot Resign -check 0"
709249.107 Adapter->GUI: feature option="Polyglot ResignMoves -spin 3 0 10000"
709249.107 Adapter->GUI: feature option="Polyglot ResignScore -spin 600 0 10000"
709249.107 Adapter->GUI: feature option="Polyglot MateScore -spin 10000 0 100000"
709249.107 Adapter->GUI: feature option="Polyglot ShowPonder -check 0"
709249.107 Adapter->GUI: feature option="Polyglot UCIVersion -spin 2 1 2"
709249.107 Adapter->GUI: feature option="Polyglot RepeatPV -check 1"
709249.107 Adapter->GUI: feature option="Polyglot SyncStop -check 0"
709249.107 Adapter->GUI: feature option="Polyglot CanPonder -check 0"
709249.107 Adapter->GUI: feature option="Polyglot PromoteWorkAround -check 0"
709249.107 Adapter->GUI: feature option="Save polyglot.ini -save"
709249.107 Adapter->GUI: feature done=1
709249.107 GUI->Adapter: accepted done
709249.107 GUI->Adapter: rejected analyze
709249.107 GUI->Adapter: rejected colors
709249.107 GUI->Adapter: rejected draw
709249.107 GUI->Adapter: rejected ics
709249.107 GUI->Adapter: accepted myname
709249.107 GUI->Adapter: accepted name
709249.107 GUI->Adapter: rejected pause
709249.107 GUI->Adapter: accepted ping
709249.107 GUI->Adapter: rejected playother
709249.107 GUI->Adapter: accepted reuse
709249.107 GUI->Adapter: accepted san
709249.107 GUI->Adapter: accepted setboard
709249.107 GUI->Adapter: rejected sigint
709249.107 GUI->Adapter: rejected sigterm
709249.107 GUI->Adapter: accepted time
709249.107 GUI->Adapter: accepted usermove
709249.107 GUI->Adapter: accepted memory
709249.107 GUI->Adapter: accepted smp
709249.107 GUI->Adapter: accepted egt
709249.107 GUI->Adapter: accepted variants
709249.107 GUI->Adapter: accepted option
709249.107 GUI->Adapter: accepted option
709249.107 GUI->Adapter: accepted option
709249.107 GUI->Adapter: accepted option
709249.107 GUI->Adapter: accepted option
709249.107 GUI->Adapter: accepted option
709249.107 GUI->Adapter: accepted option
709249.107 GUI->Adapter: accepted option
709249.107 GUI->Adapter: accepted option
709249.107 GUI->Adapter: accepted option
709249.107 GUI->Adapter: accepted option
709249.107 GUI->Adapter: accepted option
709249.107 GUI->Adapter: accepted option
709249.107 GUI->Adapter: accepted option
709249.107 GUI->Adapter: accepted option
709249.107 GUI->Adapter: accepted option
709249.107 GUI->Adapter: accepted option
709249.107 GUI->Adapter: accepted option
709249.107 GUI->Adapter: accepted option
709249.107 GUI->Adapter: accepted option
709249.107 GUI->Adapter: accepted option
709249.107 GUI->Adapter: accepted option
709249.107 GUI->Adapter: accepted option
709249.107 GUI->Adapter: accepted done
709249.123 GUI->Adapter: quit
709249.123 POLYGLOT *** "quit" from GUI ***
709249.123 POLYGLOT *** QUIT ***
709249.123 Adapter->Engine: quit
709249.123 POLYGLOT Closing engine
709249.123 Adapter->Engine: EOF
709250.137 Engine->Adapter: EOF
709250.137 POLYGLOT Calling exit

"Ponder 0000" observed when running in console mode as well. Weird. Reminds me of the "bestmove 0000" issue with Wowl that remains unsolved as Wowl's author is unable to reproduce it on his end. Could these two issues be related?

edit: just saw your post, Günther. Agreed, this could have something to do with stdout and pipes; possibly a POSIX-vs-Win32 difference.