new versions of wine

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

pferd
Posts: 134
Joined: Thu Jul 24, 2014 2:49 pm

new versions of wine

Post by pferd »

I compiled the same version of cutechess on both Ubuntu 14.04 and 18.04 and try to play games with Houdini 1.5a using wine.

With wine version 1.6 which is shipped with the old Ubuntu everything works. When I try to do the same on the new Ubuntu with wine 3.6, I can see in system monitor that the engine is searching, but time is running out, because the gui does not receive any output from the engine.

Does anybody know what they might have changed?
I tried the versions from the official ppa, too, but again had no success.
User avatar
ilari
Posts: 750
Joined: Mon Mar 27, 2006 7:45 pm
Location: Finland

Re: new versions of wine

Post by ilari »

Sounds like wine 3.6 is not redirecting Houdini's stdout to its own stdout - maybe it goes to stderr. What happens if you create a shell script for running Houdini and use that in cutechess, eg:

houdini.sh:

Code: Select all

#!/bin/bash
wine houdini.exe
pferd
Posts: 134
Joined: Thu Jul 24, 2014 2:49 pm

Re: new versions of wine

Post by pferd »

No unfortunately this does not change things at all. It seems to behave the same. This is the best I got so for:

Code: Select all

<Houdini 1.5a(2): readyok
>Houdini 1.5a(2): go wtime 10000 btime 10000 winc 1000 binc 1000
>Houdini 1.5a(2): stop
<Houdini 1.5a(2): info multipv 1 depth 1 seldepth 14 score cp 32  time 9864 nodes 1312 nps 0 tbhits 0 hashfull 0 pv d1d3
<Houdini 1.5a(2): bestmove d1d3 ponder NULL
>Houdini 1.5a(2): position startpos moves d2d4 d7d5 c2c4 c7c6 g1f3 g8f6 d1d3 a7a6
>Houdini 1.5a(2): isready
<Houdini 1.5a(2): readyok
>Houdini 1.5a(2): go wtime 1137 btime 7180 winc 1000 binc 1000
>Houdini 1.5a(2): stop
<Houdini 1.5a(2): info multipv 1 depth 1 seldepth 13 score cp 71  time 1331 nodes 2268 nps 1000 tbhits 0 hashfull 0 pv b1c3
<Houdini 1.5a(2): bestmove b1c3 ponder NULL
>Houdini 1.5a(2): isready
<Houdini 1.5a(2): readyok
This is very confusing. The ressource monitor, tells me that Houdini is using all 7 threads, but it ends up doing a depth 1 search...
Dann Corbit
Posts: 12538
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: new versions of wine

Post by Dann Corbit »

Everybody knows that old wine is better than new wine.
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
User avatar
Werner Taelemans
Posts: 119
Joined: Mon Feb 03, 2014 11:57 am
Location: Belgium
Full name: Werner Taelemans

Re: new versions of wine

Post by Werner Taelemans »

pferd wrote: Wed Jul 04, 2018 11:24 am With wine version 1.6 which is shipped with the old Ubuntu everything works. When I try to do the same on the new Ubuntu with wine 3.6, I can see in system monitor that the engine is searching, but time is running out, because the gui does not receive any output from the engine.
I tried with the latest Wine Staging on the console:

Code: Select all

wine Houdini_15a_x64.exe 
000b:fixme:winediag:start_process Wine Staging 3.11 is a testing version containing experimental patches.
000b:fixme:winediag:start_process Please mention your exact version when filing bug reports on winehq.org.
Houdini 1.5a x64
(c) 2010-11 Robert Houdart

info string POPCNT available
info string 128 MB Hash
uci
id name Houdini 1.5a x64
id author Robert Houdart
option name Hash type spin min 4 max 16384 default 128
option name Clear Hash type button
option name Threads type spin min 1 max 8 default 8
option name Split_Depth type spin min 8 max 99 default 10
option name Ponder type check default false
option name Contempt type spin min 0 max 2 default 1
option name Analysis_Contempt type check default false
option name MultiPV type spin min 1 max 16 default 1
option name GaviotaTbPath type string default <empty>
option name GaviotaTbCache type spin min 4 max 1024 default 64
option name Hard_Probe_Depth type spin min 2 max 99 default 24
option name Soft_Probe_Depth type spin min 2 max 99 default 16
uciok
go infinite
info multipv 1 depth 4 seldepth 18 score cp 5  time 4 nodes 1758 nps 439000 tbhits 0 hashfull 0 pv g1f3 g8f6 b1c3 b8c6 d2d3 e7e6
info multipv 1 depth 5 seldepth 18 score cp 5  time 4 nodes 2057 nps 514000 tbhits 0 hashfull 0 pv g1f3 g8f6 b1c3 b8c6 d2d3 e7e6
info depth 6
info multipv 1 depth 6 seldepth 20 score cp 5  time 5 nodes 3837 nps 767000 tbhits 0 hashfull 0 pv g1f3 g8f6 b1c3 b8c6 d2d3 e7e6
info depth 7
info multipv 1 depth 7 seldepth 20 score cp 11 lowerbound time 7 nodes 6011 nps 858000 tbhits 0 hashfull 0 pv g1f3
info multipv 1 depth 7 seldepth 20 score cp 14  time 8 nodes 6746 nps 843000 tbhits 0 hashfull 0 pv g1f3 g8f6 b1c3 b8c6 d2d4 e7e6 c1f4
info depth 8
info multipv 1 depth 8 seldepth 20 score cp 15  time 9 nodes 9369 nps 1041000 tbhits 0 hashfull 0 pv g1f3 g8f6 b1c3 d7d5 d2d4 d8d6 g2g3 b8c6
info depth 9
info multipv 1 depth 9 seldepth 24 score cp 21 lowerbound time 13 nodes 19313 nps 1485000 tbhits 0 hashfull 0 pv g1f3
info multipv 1 depth 9 seldepth 26 score cp 26  time 14 nodes 24073 nps 1719000 tbhits 0 hashfull 0 pv g1f3 g8f6 b1c3 d7d6 d2d4 g7g6 e2e4 b8c6 h2h3
info depth 10
info multipv 1 depth 10 seldepth 26 score cp 19 upperbound time 19 nodes 46862 nps 2466000 tbhits 0 hashfull 5 pv g1f3 g8f6
info multipv 1 depth 10 seldepth 26 score cp 8  time 24 nodes 71042 nps 2960000 tbhits 0 hashfull 7 pv g1f3 g8f6 b1c3 d7d5 d2d4 c8f5 c1f4 e7e6 c3b5 f8b4 c2c3
info multipv 1 depth 10 seldepth 28 score cp 15  time 28 nodes 87176 nps 3113000 tbhits 0 hashfull 7 pv e2e4 d7d5 e4d5 g8f6 b1c3 f6d5 d2d4 b8c6 g1f3 g7g6 f1c4 c8e6
info depth 11
info multipv 1 depth 11 seldepth 28 score cp 15  time 35 nodes 125005 nps 3571000 tbhits 0 hashfull 9 pv e2e4 d7d5 e4d5 g8f6 b1c3 f6d5 d2d4 b8c6 g1f3 g7g6 f1c4 c8e6
info depth 12
info multipv 1 depth 12 seldepth 28 score cp 10  time 45 nodes 179350 nps 3985000 tbhits 0 hashfull 10 pv e2e4 d7d5 e4d5 g8f6 b1c3 f6d5 d2d4 b8c6 g1f3 g7g6 f1c4 c8e6 d1d3 f8g7 c3e4
info multipv 1 depth 12 seldepth 28 score cp 13  time 59 nodes 263174 nps 4460000 tbhits 0 hashfull 15 pv b1c3 d7d5 d2d4 b8c6 c1f4 c8f5 e2e3 g8f6 c3b5 a8c8 g1f3 e7e6 h2h3 h7h6
info depth 13
info multipv 1 depth 13 seldepth 29 score cp 10  time 78 nodes 389864 nps 4998000 tbhits 0 hashfull 21 pv b1c3 d7d5 d2d4 b8c6 e2e4 g8f6 e4d5 f6d5 g1f3 g7g6 f1c4 c8e6 d1d3 f8g7 c3e4
info multipv 1 depth 13 seldepth 29 score cp 20 lowerbound time 88 nodes 465852 nps 5293000 tbhits 0 hashfull 25 pv e2e4
info multipv 1 depth 13 seldepth 29 score cp 21  time 117 nodes 674019 nps 5760000 tbhits 0 hashfull 37 pv e2e4 d7d5 e4d5 e7e6 d5e6 c8e6 g1f3 g8f6 b1c3 b8c6 f3g5 f8c5 g5e6 f7e6 d1e2 c6d4
info depth 14
info multipv 1 depth 14 seldepth 29 score cp 24  time 185 nodes 1210854 nps 6545000 tbhits 0 hashfull 76 pv e2e4 e7e6 b1c3 d7d5 d2d4 g8f6 e4e5 f6e4 c3e4 d5e4 g1e2 b8c6 c2c3 b7b5 e2f4
info depth 15
info multipv 1 depth 15 seldepth 36 score cp 27  time 315 nodes 2255250 nps 7159000 tbhits 0 hashfull 153 pv e2e4 e7e5 b1c3 b8c6 g1f3 g8f6 d2d4 e5d4 f3d4 d8e7 d4f5 e7e6 f2f3 d7d5 c3d5 f6d5 d1d5 e6d5 e4d5 c8f5 d5c6 b7c6
info depth 16
info multipv 1 depth 16 seldepth 36 score cp 21 upperbound time 388 nodes 2812559 nps 7248000 tbhits 0 hashfull 193 pv e2e4 e7e5
info multipv 1 depth 16 seldepth 36 score cp 7 upperbound time 543 nodes 4034622 nps 7430000 tbhits 0 hashfull 266 pv e2e4 e7e5
Houdini accepts the 'uci' command, it replies with 'uciok', it accepts the 'go infinite' command and it starts sending info. But when I type 'stop', I don't see this command appearing on the screen, and Houdini doesn't react. I had to stop it with <ctrl-C>.

With Komodo OTOH:

Code: Select all

wine komodo-9.02-64bit.exe 
000b:fixme:winediag:start_process Wine Staging 3.11 is a testing version containing experimental patches.
000b:fixme:winediag:start_process Please mention your exact version when filing bug reports on winehq.org.
Komodo 9.02 64-bit by Don Dailey, Larry Kaufman and Mark Lefler
using hardware POPCNT
info string Licensed to Komodochess.com
uci
id name Komodo 9.02 64-bit 
id author Don Dailey, Larry Kaufman, Mark Lefler
option name Ponder type check default true
option name Hash type spin default 128 min 1 max 65536
option name OwnBook type check default true
option name MultiPV type spin default 1 min 1 max 218
option name Book File type string default komodo.bin
option name Log File type string default <empty>
option name Clear Hash type button
option name Hash File Name type string default <empty>
option name Save Hash to File type button
option name Load Hash from File type button
option name UCI_Chess960 type check default false
option name UCI_AnalyseMode type check default false
option name Use Lmr type check default true
option name Null Move Pruning type check default true
option name Best Book Line type check default false
option name Minimal Reporting type check default false
option name Table Memory type spin default 64 min 1 max 256
option name Threads type spin default 1 min 1 max 64
option name Overhead ms type spin default 30 min 0 max 50000
option name Drawscore type spin default -7 min -200 max 200
option name Time Usage type spin default 0 min -9 max 9
option name Use Syzygy type check default true
option name SyzygyPath type string default <empty>
option name Syzygy Probe Depth type spin default 2 min 0 max 99
option name Syzygy Probe Limit type spin default 6 min 0 max 6
option name Syzygy 50 Move Rule type check default true
option name King Safety type spin default 65 min 0 max 200
option name Selectivity type spin default 80 min 10 max 200
option name Reduction type spin default 0 min -1000 max 150
uciok
go infinite
info depth 1 time 1 nodes 20 nps 20000 hashfull 0
info depth 1 time 1 nodes 21 score cp -20 nps 10875 hashfull 0 tbhits 0 pv a2a3 
-----< snip > ------------
info depth 11 time 103 nodes 106018 score cp 26 upperbound nps 1023992 hashfull 3 tbhits 0 pv e2e4 e7e5 
sinfo depth 11 time 150 nodes 166722 score cp 33 lowerbound nps 1110317 hashfull 5 tbhits 0 pv e2e4 
info depth 11 time 157 nodes 176023 score cp 37 nps 1115220 hashfull 6 tbhits 0 pv e2e4 e7e5 f1c4 f8c5 g1f3 b8c6 d2d3 g8f6 b1c3 e8g8 e1g1 d7d6 c1e3 
info depth 12 time 160 nodes 177579 nps 1108130 hashfull 6
info depth 12 time 182 nodes 202675 score cp 30 upperbound nps 1110347 hashfull 7 tbhits 0 pv e2e4 e7e5 
info depth 12 time 218 nodes 251683 score cp 37 lowerbound nps 1153318 hashfull 8 tbhits 0 pv e2e4 
info depth 12 time 246 nodes 292375 score cp 37 nps 1185316 hashfull 10 tbhits 0 pv e2e4 e7e5 g1f3 b8c6 f1c4 g8f6 d2d3 f8c5 b1c3 e8g8 e1g1 d7d6 c1e3 
info depth 13 time 250 nodes 296424 nps 1183315 hashfull 10
info depth 13 time 309 nodes 377138 score cp 37 nps 1217139 hashfull 13 tbhits 0 pv e2e4 e7e5 g1f3 b8c6 f1c4 g8f6 d2d3 f8c5 b1c3 e8g8 e1g1 d7d6 c1e3 c6d4 e3d4 
info depth 14 time 319 nodes 389824 nps 1218451 hashfull 13
info depth 14 time 345 nodes 425142 score cp 30 upperbound nps 1230070 hashfull 14 tbhits 0 pv e2e4 e7e5 
stinfo depth 14 time 484 nodes 623105 score cp 37 lowerbound nps 1286227 hashfull 22 tbhits 0 pv e2e4 
info depth 14 time 510 nodes 658767 score cp 30 upperbound nps 1291089 hashfull 23 tbhits 0 pv e2e4 e7e5 
stoinfo depth 14 time 587 nodes 768104 score cp 15 upperbound nps 1308119 hashfull 27 tbhits 0 pv e2e4 e7e5 
stopinfo depth 14 time 734 nodes 969298 score cp 26 lowerbound nps 1319176 hashfull 34 tbhits 0 pv e2e4 
info depth 14 time 901 nodes 1208593 score cp 45 nps 1340615 hashfull 43 tbhits 0 pv e2e4 e7e5 g1f3 g8f6 d2d4 f6e4 f1d3 d7d5 f3e5 f8d6 e1g1 e8g8 d1e2 e4f6 b1c3 b8c6 e5c6 b7c6 c1g5 
info depth 15 time 905 nodes 1213600 nps 1340082 hashfull 43

info time 1009 nodes 1367299 nps 1354838 hashfull 49
bestmove e2e4 ponder e7e5
quit
The 'stop' command appears:
sinfo depth 11 time 150 nodes 166722 score cp 33
stinfo depth 14 time 484 nodes 623105 score cp 37
stoinfo depth 14 time 587 nodes 768104 score cp 15 upperbound nps 1308119 hashfull 27 tbhits 0 pv e2e4 e7e5
stopinfo depth 14 time 734 nodes 969298 score cp 26 lowerbound nps 1319176 hashfull 34 tbhits 0 pv e2e4
and Komodo stops.

When Houdini is thinking, it seems to block wine's stdin in some way.
pferd
Posts: 134
Joined: Thu Jul 24, 2014 2:49 pm

Re: new versions of wine

Post by pferd »

Werner Taelemans wrote: Sat Jul 07, 2018 12:44 pm
Houdini accepts the 'uci' command, it replies with 'uciok', it accepts the 'go infinite' command and it starts sending info. But when I type 'stop', I don't see this command appearing on the screen, and Houdini doesn't react. I had to stop it with <ctrl-C>.


When Houdini is thinking, it seems to block wine's stdin in some way.
That is a good observation. I only tested Houdini with 'go depth 12' and assumed everything works fine on the command line, but in fact it is not.