]> git.sesse.net Git - stockfish/commitdiff
Prevent Stockfish from exiting if DTZ table is not present
authorsyzygy <syzygy@server.fake>
Sat, 2 Sep 2017 02:14:02 +0000 (04:14 +0200)
committerMarco Costalba <mcostalba@gmail.com>
Sat, 2 Sep 2017 07:59:04 +0000 (09:59 +0200)
During TB initialisation, Stockfish checks for the presence of WDL
tables but not for the presence of DTZ tables. When attempting to probe
a DTZ table, it is therefore possible that the table is not present.
In that case, Stockfish should neither exit nor report an error.

To verify the bug:
$ ./stockfish
setoption name SyzygyTable value <path_to_WDL_dir>
position fen 8/8/4r3/4k3/8/1K2P3/3P4/6R1 w - -
go infinite
Could not mmap() /opt/tb/regular/KRPPvKR.rtbz
$

(On my system, the WDL tables are in one directory and the DTZ tables
in another. If they are in the same directory, it will be difficult
to trigger the bug.)

The fix is trivial: check the file descriptor/handle after opening
the file.

No functional change.


No differences found