Problem with 6-piece syzygy-bases using wine

Discussion of chess software programming and technical issues.

Moderator: Ras

BBauer
Posts: 658
Joined: Wed Mar 08, 2006 8:58 pm

Problem with 6-piece syzygy-bases using wine

Post by BBauer »

Hallo friends,

when using arena under wine stockfish runs very well using 5-piece bases.
But when I use 6 pieces I regularly get an error after some time when analyzing positions. The 6-piece bases are stored on a slow HD, however, that shouldn't matter.

The error message follows.
Kind regards
Bernhard


:~> wine ./64/arena_3.0/Arena/Arena.exe &
[1] 4437
:~> fixme:ole:RemUnknown_QueryInterface No interface for iid {00000019-0000-0000-c000-000000000046}
fixme:toolhelp:CreateToolhelp32Snapshot Unimplemented: heap list snapshot
fixme:virtual:create_view out of memory in virtual heap for 0x7ef88f5a0000-0x7ef8b2bea000
wine: Unhandled page fault on read access to 0x7effa1c9d140 at address 0x411484 (thread 0038),
starting debugger...
err:ntdll:RtlpWaitForCriticalSection section 0x7f002890ff68 "lock.c: LOCKTABLEENTRY.crit"
fixme:toolhelp:CreateToolhelp32Snapshot Unimplemented: heap list snapshot
User avatar
RJN
Posts: 303
Joined: Fri Jun 21, 2013 5:18 am
Location: Orion Spiral Arm

Re: Problem with 6-piece syzygy-bases using wine

Post by RJN »

If you have multiple Syzygy directories, you need to use a semicolon ; to separate the path in Windows, and : in Linux

Maybe that has something to do with going from 5 to 6 piece and your problem?

(typically the 6-piece set does not include the 5-piece, so the path must be set to both)

https://github.com/syzygy1/Stockfish

Syzygybases

Configuration

Syzygybases are configured using the UCI options "SyzygyProbeLimit" and "SyzygyPath".

The option "SyzygyPath" should be set to the directory or directories where the .rtbw and .rtbz files can be found. Multiple directories should be separated by ";" on Windows and by ":" on Unix-based operating systems.

Example: C:\tablebases\wdl345;C:\tablebases\wdl6;D:\tablebases\dtz345;D:\tablebases\dtz6
BBauer
Posts: 658
Joined: Wed Mar 08, 2006 8:58 pm

Re: Problem with 6-piece syzygy-bases using wine

Post by BBauer »

Well, the 6-pieces worked for some time, so I assume I set the Path correct.

I testet a place where all 1020 files were in one directory.

Thank you for your replay

Kind regards
Bernhard
syzygy
Posts: 5774
Joined: Tue Feb 28, 2012 11:56 pm

Re: Problem with 6-piece syzygy-bases using wine

Post by syzygy »

As far as I know it's a limitation of Wine that is being hit by the probing code. VirtualBox seems to give similar problems.

SF compiled for Linux runs fine on Linux. Is it not possible to launch Linux executables from Arena/Wine?
syzygy
Posts: 5774
Joined: Tue Feb 28, 2012 11:56 pm

Re: Problem with 6-piece syzygy-bases using wine

Post by syzygy »

syzygy wrote:Is it not possible to launch Linux executables from Arena/Wine?
This seems to be possible. Just rename the stockfish executable to stockfish.exe (or create a link from stockfish.exe to stockfish) and install the engine in Arena/Wine using "Install New Engine...".

You'll need to use a colon to separate paths in the SyzygyPath variable (and specify them as valid Linux paths).
BBauer
Posts: 658
Joined: Wed Mar 08, 2006 8:58 pm

Re: Problem with 6-piece syzygy-bases using wine

Post by BBauer »

Yes, you are right.

I renamed the linux compiled stockfish to stockfish.exe, installed it in arena under wine,
set the syzygy-path to the linux path and all runs fine.

Thank you very much!

Here some output for the following position:
[d]8/p7/qkpN1p2/8/1B1P4/PP3K2/5P2/8 w - - 0 1 [d]

FEN: 8/p7/qkpN1p2/8/1B1P4/PP3K2/5P2/8 w - - 0 1

Stockfish:

42/69 08:43 1.165.187.392 2.229.170 -3,03 Lb4-c5+ Kb6-c7 Sd6-e8+ Kc7-d7 Se8xf6+ Kd7-e6 Sf6-g4 Da6-d3+ Kf3-f4 Dd3-d2+ Kf4-e4 a7-a5 f2-f3 Dd2-c2+ Ke4-f4 Dc2xb3 Kf4-e4 Db3-d5+ Ke4-f4 Dd5-f5+ Kf4-e3 Df5-g5+ Ke3-e4 Dg5-g6+ Ke4-f4 Dg6-b1 Sg4-e5 Db1-b7 Kf4-e4 Db7-b5 Ke4-f4 Ke6-d5 Kf4-g4 Db5-b8 Kg4-g5 Db8-g8+ Kg5-f4 Dg8-h7 Kf4-g4 Dh7-g7+ Kg4-f4 Dg7-f6+ Kf4-g3 Df6-e6 Kg3-f4 De6-h3 Se5-f7 Dh3-h4+ Kf4-e3 Dh4-e1+ Ke3-f4 De1-d2+ Kf4-g4 Dd2-h2 Sf7-e5 Dh2-h1 Kg4-f4 Dh1-c1+ Kf4-f5 Dc1-c3 Kf5-g4 Dc3-d2 Kg4-f5 Dd2-h6 Kf5-g4 Dh6-f6 Kg4-g3
43/69 10:04 1.381.005.218 2.290.300 -3,03 Lb4-c5+ Kb6-c7 Sd6-e8+ Kc7-d7 Se8xf6+ Kd7-e6 Sf6-g4 Da6-d3+ Kf3-f4 Dd3-d2+ Kf4-e4 a7-a5 f2-f3 Dd2-c2+ Ke4-f4 Dc2xb3 Kf4-e4 Db3-d5+ Ke4-f4 Dd5-f5+ Kf4-e3 Df5-g5+ Ke3-e4 Dg5-g6+ Ke4-f4 Dg6-b1 Sg4-e5 Db1-b7 Kf4-g4 Db7-g7+ Kg4-f4 Dg7-f6+ Kf4-g4 Df6-f5+ Kg4-g3 Df5-g5+ Kg3-f2 Ke6-d5 Kf2-e2 Dg5-c1 Se5-g4 Dc1-c2+ Ke2-e3 Dc2-f5 Sg4-e5 Df5-g5+ Ke3-d3 Dg5-c1 Kd3-e2 Dc1-f4 Ke2-d3 Df4-g5 Kd3-e2
44/81 11:53 1.708.718.174 2.397.834 -3,03 Lb4-c5+ Kb6-c7 Sd6-e8+ Kc7-d7 Se8xf6+ Kd7-e6 Sf6-g4 Da6-d3+ Kf3-f4 Dd3-d2+ Kf4-e4 a7-a5 f2-f3 Dd2-c2+ Ke4-f4 Dc2xb3 Kf4-e4 Db3-d5+ Ke4-f4 Dd5-f5+ Kf4-e3 Df5-g5+ Ke3-e4 Dg5-g6+ Ke4-f4 Dg6-b1 Sg4-e5 Db1-b7 Kf4-g4 Db7-g7+ Kg4-f4 Dg7-f6+ Kf4-e4 Df6-f5+ Ke4-e3 Ke6-d5 Ke3-e2 Df5-f4 Se5-d3 Df4-h2+ Ke2-e3 Dh2-g1+ Ke3-f4 Dg1-g7 Sd3-e5 Dg7-f6+ Kf4-g3 Df6-e6 Kg3-f4 De6-h3 Se5-f7 Dh3-h4+ Kf4-e3 Dh4-e1+ Ke3-f4 De1-d2+ Kf4-g4 Dd2-g2+ Kg4-f4 Dg2-d2+
45/81 14:33 2.066.989.667 2.369.330 -3,03 Lb4-c5+ Kb6-c7 Sd6-e8+ Kc7-d7 Se8xf6+ Kd7-e6 Sf6-g4 Da6-d3+ Kf3-f4 Dd3-d2+ Kf4-e4 a7-a5 f2-f3 Dd2-c2+ Ke4-f4 Dc2xb3 Kf4-e4 Db3-d5+ Ke4-f4 Dd5-f5+ Kf4-e3 Df5-g5+ Ke3-e4 Dg5-g6+ Ke4-f4 Dg6-b1 Sg4-e5 Db1-b7 Se5-c4 Db7-h7 Kf4-e3 Dh7-h4 Sc4-e5 Ke6-d5 Ke3-e2 Dh4-f4 Se5-d3 Df4-h2+ Ke2-e3 Dh2-g1+ Ke3-f4 Dg1-g7 Sd3-e5 Dg7-f6+ Kf4-g3 Df6-e6 Kg3-f4 De6-h3 Se5-f7 Dh3-h4+ Kf4-e3 Dh4-e1+ Ke3-f4 De1-d2+ Kf4-g4 Dd2-g2+ Kg4-f4 Dg2-b2 Sf7-e5 Db2-d2+ Kf4-f5 Dd2-h6 Kf5-g4 Dh6-f6 Kg4-g3
46/81 18:56 2.647.573.329 2.331.117 -3,03 Lb4-c5+ Kb6-c7 Sd6-e8+ Kc7-d7 Se8xf6+ Kd7-e6 Sf6-g4 Da6-d3+ Kf3-f4 Dd3-d2+ Kf4-e4 a7-a5 f2-f3 Dd2-c2+ Ke4-f4 Dc2xb3 Kf4-e4 Db3-d5+ Ke4-f4 Dd5-f5+ Kf4-e3 Df5-g5+ Ke3-e4 Dg5-g6+ Ke4-f4 Dg6-b1 Sg4-e5 Db1-b7 Kf4-e4 Db7-b5 Ke4-f4 Ke6-d5 Kf4-g4 Db5-b8 Kg4-f4 Db8-b3 Se5-f7 Db3-d3 Sf7-e5 Dd3-b5
47/81 24:02 3.314.418.350 2.299.281 -3,03 Lb4-c5+ Kb6-c7 Sd6-e8+ Kc7-d7 Se8xf6+ Kd7-e6 Sf6-g4 Da6-d3+ Kf3-f4 Dd3-d2+ Kf4-e4 a7-a5 f2-f3 Dd2-c2+ Ke4-f4 Dc2xb3 Kf4-e4 Db3-d5+ Ke4-f4 Dd5-f5+ Kf4-e3 Df5-g5+ Ke3-e4 Dg5-g6+ Ke4-f4 Dg6-b1 Sg4-e5 Db1-b7 Kf4-e4 Db7-b5 Se5-g4 Db5-e2+ Sg4-e3 De2-a2 f3-f4 Da2-b1+ Ke4-f3 Db1-h1+ Kf3-e2 Dh1-h5+ Ke2-d3 Ke6-f6 f4-f5 Dh5-h1 Kd3-c3 Dh1-b1 Lc5-d6 Db1-e4 Ld6-e5+ Kf6-e7 Kc3-d2 a5-a4 Kd2-e2 Ke7-f7
48/81 31:05 4.118.712.403 2.208.623 -3,03 Lb4-c5+ Kb6-c7 Sd6-e8+ Kc7-d7 Se8xf6+ Kd7-e6 Sf6-g4 Da6-d3+ Kf3-f4 Dd3-d2+ Kf4-e4 a7-a5 f2-f3 Dd2-c2+ Ke4-f4 Dc2xb3 Kf4-e4 Db3-d5+ Ke4-f4 Dd5-f5+ Kf4-e3 Df5-g5+ Ke3-e4 Dg5-g6+ Ke4-f4 Dg6-b1 Sg4-e5 Db1-b7 Kf4-e4 Db7-b5 Se5-g4 Db5-e2+ Ke4-f4 De2-d2+ Kf4-e4 Dd2-e2+
49/81 35:03 4.797.321.083 2.282.069 -3,03 Lb4-c5+ Kb6-c7 Sd6-e8+ Kc7-d7 Se8xf6+ Kd7-e6 Sf6-g4 Da6-d3+ Kf3-f4 Dd3-d2+ Kf4-e4 a7-a5 f2-f3 Dd2-c2+ Ke4-f4 Dc2xb3 Kf4-e4 Db3-d5+ Ke4-f4 Dd5-f5+ Kf4-e3 Df5-g5+ Ke3-e4 Dg5-g6+ Ke4-f4 Dg6-b1 Sg4-e5 Db1-b7 Kf4-e4 Db7-b5 Se5-g4 Db5-e2+ Ke4-f4 De2-b2 Sg4-e5 Db2-b7

To put some water into the wine everything works fine but Bc5+ is not the best move.
For this position with onlly 12 pieces and 6-pieces bases stockfish cannot find the solution in 35 minutes.
I remember Bruce Moreland saying: Search should find it!

Kind regards
Bernhard
syzygy
Posts: 5774
Joined: Tue Feb 28, 2012 11:56 pm

Re: Problem with 6-piece syzygy-bases using wine

Post by syzygy »

BBauer wrote:I remember Bruce Moreland saying: Search should find it!
I searched and found Ba5+, thanks to Google :-)

Ba5+ indeed wins:

Code: Select all

+Win15   1.Ba5+ Kxa5 2.Nc4+ Kb5 3.Kf4 f5 4.Kg5 f4 5.f3 Qa4 6.Nd6+ Kb6 7.bxa4 Kc7 8.Nb5+ Kd7 9.Nxa7 Kd6 10.Nxc6 Kd5 11.Nb4+ Kc4 12.d5 Kc3 13.d6 Kb3 14.d7 Kb2 15.d8=Q Kxa3 16.Kxf4
That engines have problems with this position is because of nullmove. The win is not terribly deep, but the nullmove heuristic prunes it. (The way I got my engine to display a winning PV was by searching the position after Ba5+, then going back one move. Of course that is cheating.)
BBauer
Posts: 658
Joined: Wed Mar 08, 2006 8:58 pm

Re: Problem with 6-piece syzygy-bases using wine

Post by BBauer »

You wrote:
That engines have problems with this position is because of nullmove.

That is true, but there is (should be) some verification search. I do not claim that a program should find Ba5+ within a second, but within an hour.
The usual way to solve sucha position is using multipv.
By the way multipv does not work any longer in your version under wine and arena.

Kind regards
Bernhard
syzygy
Posts: 5774
Joined: Tue Feb 28, 2012 11:56 pm

Re: Problem with 6-piece syzygy-bases using wine

Post by syzygy »

BBauer wrote:You wrote:
That engines have problems with this position is because of nullmove.

That is true, but there is (should be) some verification search. I do not claim that a program should find Ba5+ within a second, but within an hour.
I agree, and Stockfish used to do a verification search. But it probably was removed because the removal at least in one test did not measurably lower Elo. I have no control over this :-)
The usual way to solve sucha position is using multipv.
By the way multipv does not work any longer in your version under wine and arena.
Does it still work with regular Stockfish? I don't know why it would not work with my version, but I did not test it. I'll look into it later.
BBauer
Posts: 658
Joined: Wed Mar 08, 2006 8:58 pm

Re: Problem with 6-piece syzygy-bases using wine

Post by BBauer »

No, it doesn't work with regular Stockfish either.
It's broken.
When analyzing games Stockfish will load the table bases at each move.
But we have some elo gain.
Of course, it's not your fault.

Have a nice day
Bernhard