see https://groups.google.com/forum/#!topic/fishcooking/wDFD8uqSahk
4k3/3pp3/8/8/8/8/2PPP3/4K3 w - - 0 1
anybody can figure out which commit caused this behaviour?
I produced a script and am searching the history, although it's taking my PC minutes, not seconds:
git checkout master~328
make clean && make -j6 profile-build ARCH=x86-64-bmi2 && ./stockfish bench 16 4 200 test.fen
It seems this ability was lost as early as c8589903777b6e0289640b43fae966ded442af48?
info depth 56 currmove e1f2 currmovenumber 1
info depth 56 currmove c2c4 currmovenumber 2
info depth 56 currmove c2c3 currmovenumber 3
info depth 56 currmove d2d3 currmovenumber 4
info depth 56 currmove e2e3 currmovenumber 5
info depth 56 currmove d2d4 currmovenumber 6
info depth 56 currmove e2e4 currmovenumber 7
info depth 56 currmove e1d1 currmovenumber 8
info depth 56 currmove e1f1 currmovenumber 9
info depth 56 seldepth 70 multipv 1 score cp 14903 nodes 6945986555 nps 8901755 hashfull 1000 tbhits 0 time 780294 pv e1f2 e8d8 f2e3 d8c7 e3d3 c7c6 d3c4 c6d6 c4d4 e7e6 d4e4 d6e7 e4e5 d7d6 e5e4 e7f7 e4d4 f7f6 c2c4 e6e5 d4d5 f6e7 e2e4 e7d7 c4c5 d6c5 d5c5 d7e7 c5d5 e7f6 d5d6 f6f7 d6e5 f7e7 e5d5 e7f7 e4e5 f7e7 e5e6 e7d8 d5d6 d8e8 e6e7 e8f7 d6d7 f7g6 e7e8q g6f5 d7d6 f5f4 e8e3 f4f5 d2d4 f5g6 e3e6 g6h5 e6h3 h5g5 d6e5 g5g6 h3g4 g6f7 g4f5 f7g7 f5g5 g7f7 g5f6 f7e8
info depth 57 currmove e1f2 currmovenumber 1
info depth 57 seldepth 70 multipv 1 score cp 14913 lowerbound nodes 14604332191 nps 9290364 hashfull 1000 tbhits 0 time 1571987 pv e1f2
info depth 56 currmove e1f2 currmovenumber 1
that commit should be non-functional, seems unlikely to be the cause of this. Did you try earlier commits ?
I'm actually having difficulty reproducing the 'good' behaviour with SF10. I have no mate announcement on the above fen with SF10 (default hash, 1 thread) in 10min of search:
info depth 50 seldepth 60 multipv 1 score cp 15261 nodes 3149341024 nps 5072627 hashfull 999 tbhits 0 time 620850 pv e1f2 e8d8 d2d4 d8c7 f2e3 c7d6 e3e4 d6e6 d4d5 e6d6 e4d4 d6c7 d4e5 c7b7 d5d6 e7d6 e5d6 b7c8 c2c4 c8d8 c4c5 d8e8 e2e3 e8d8 c5c6 d7c6 d6c6 d8e7 c6d5 e7d7 e3e4 d7c7 d5e6 c7b6 e6d7 b6b5 e4e5 b5b4 e5e6 b4a3 e6e7 a3b2 e7e8q b2b1 e8e4 b1c1 e4d3 c1b2 d3d2 b2a3 d2a5 a3b3 a5b5 b3c3 b5c6 c3d3 d7e6 d3d2 c6c4 d2e3
I tried the previous commit d1f76ebcd8cc475d08b468efe4b467e014efef14 (4 threads, profile-build):
info depth 54 seldepth 70 multipv 1 score cp 14949 lowerbound nodes 2597941901 nps 5793675 hashfull 1000 tbhits 0 time 448410 pv e1f2
info depth 50 currmove e1f2 currmovenumber 1
info depth 50 currmove c2c4 currmovenumber 2
info depth 50 currmove d2d3 currmovenumber 3
info depth 50 currmove e2e3 currmovenumber 4
info depth 50 currmove d2d4 currmovenumber 5
info depth 50 currmove c2c3 currmovenumber 6
info depth 50 currmove e2e4 currmovenumber 7
info depth 50 currmove e1f1 currmovenumber 8
info depth 50 currmove e1d1 currmovenumber 9
info depth 54 seldepth 70 multipv 1 score mate 53 nodes 2713054172 nps 5788293 hashfull 1000 tbhits 0 time 468714 pv e1f2 e8f7 c2c4 f7e6 f2e3 e6d6 e3e4 d6c5 d2d3 c5d6 d3d4 d6c6 e4f5 c6c7 c4c5 c7c6 f5e5 c6c7 d4d5 c7d8 e5f5 d8e8 e2e3 e8d8 e3e4 d8c7 e4e5 e7e6 d5e6 d7e6 f5e6 c7c6 e6e7 c6d5 e7d7 d5c5 e5e6 c5d4 e6e7 d4e3 d7c6 e3d2 e7e8q d2c3 e8e3 c3c4 e3e4 c4b3 e4d3 b3b2 c6d5 b2a2 d3e2 a2b3 e2e3 b3c2
then retried c858990 and I'm not sure why depth is decreasing (still running) - given 4 threads, how can depth decrease 5 times in a row?
info depth 55 seldepth 66 multipv 1 score cp 14902 nodes 2845061890 nps 6053580 hashfull 1000 tbhits 0 time 469980 pv e1f2 e8d8 d2d4 d8c7 c2c4 c7d6 f2f3 e7e5 f3e4 e5d4 e4d4 d6e7 c4c5 e7e6 d4e4 e6e7 e4e5 e7f8 e5d5 f8f7 d5d6 f7e8 c5c6 d7c6 d6c6 e8e7 c6d5 e7d7 d5e5 d7e8 e5f6 e8f8 e2e4 f8e8 e4e5 e8f8 e5e6 f8e8 e6e7 e8d7 f6f7 d7c6 e7e8q c6c5 e8c8 c5d5 c8c3 d5e4 f7e6 e4f4 c3d4 f4g5 d4e5 g5g4 e5e4 g4h5 e4f3 h5h6 f3h3 h6g7 h3g4 g7f8 g4f4 f8g8
info depth 56 currmove e1f2 currmovenumber 1
info depth 56 currmove c2c4 currmovenumber 2
info depth 56 currmove d2d4 currmovenumber 3
info depth 56 currmove e1f1 currmovenumber 4
info depth 56 currmove e2e4 currmovenumber 5
info depth 56 currmove e2e3 currmovenumber 6
info depth 56 currmove d2d3 currmovenumber 7
info depth 56 currmove c2c3 currmovenumber 8
info depth 56 currmove e1d1 currmovenumber 9
info depth 56 seldepth 68 multipv 1 score cp 14902 nodes 3187384272 nps 6070329 hashfull 1000 tbhits 0 time 525076 pv e1f2 e8d8 d2d4 d8c7 c2c4 c7d6 f2f3 e7e5 f3e4 e5d4 e4d4 d6e7 c4c5 e7e6 d4e4 e6e7 e4e5 e7f8 e5d5 f8f7 d5d6 f7e8 c5c6 d7c6 d6c6 e8e7 c6d5 e7d7 d5e5 d7e7 e2e4 e7d7 e5f6 d7d6 e4e5 d6d5 e5e6 d5d6 e6e7 d6d7 f6f7 d7d6 e7e8q d6d5 e8b5 d5e4 f7e6 e4e3 b5b6 e3f3 b6b3 f3f4 b3b4 f4g3 b4e1 g3f4 e1f2 f4g5 f2f6 g5g4 f6e5 g4h4 e5h2 h4g4 h2g2 g4h5 g2f3 h5g6
info depth 57 currmove e1f2 currmovenumber 1
info depth 57 seldepth 70 multipv 1 score cp 14912 lowerbound nodes 7019978595 nps 7276911 hashfull 1000 tbhits 0 time 964692 pv e1f2
info depth 56 currmove e1f2 currmovenumber 1
info depth 57 seldepth 72 multipv 1 score cp 14921 lowerbound nodes 10074247779 nps 7815261 hashfull 1000 tbhits 0 time 1289048 pv e1f2
info depth 55 currmove e1f2 currmovenumber 1
info depth 57 seldepth 73 multipv 1 score cp 14935 lowerbound nodes 13219274837 nps 8161597 hashfull 1000 tbhits 0 time 1619692 pv e1f2
info depth 54 currmove e1f2 currmovenumber 1
info depth 57 seldepth 73 multipv 1 score cp 14955 lowerbound nodes 15298994592 nps 8286259 hashfull 1000 tbhits 0 time 1846309 pv e1f2
info depth 53 currmove e1f2 currmovenumber 1
EDIT: I didn't wait long enough, it seems:
info depth 57 seldepth 73 multipv 1 score mate 44 lowerbound nodes 17521486626 nps 8361159 hashfull 1000 tbhits 0 time 2095581 pv e1f2
info depth 52 currmove e1f2 currmovenumber 1
info depth 52 currmove c2c4 currmovenumber 2
info depth 52 currmove d2d3 currmovenumber 3
info depth 52 currmove e2e3 currmovenumber 4
info depth 52 currmove d2d4 currmovenumber 5
info depth 52 currmove e2e4 currmovenumber 6
info depth 52 currmove c2c3 currmovenumber 7
info depth 52 currmove e1f1 currmovenumber 8
info depth 52 currmove e1d1 currmovenumber 9
info depth 57 seldepth 73 multipv 1 score mate 41 nodes 18616171071 nps 8382204 hashfull 1000 tbhits 0 time 2220916 pv e1f2 e8f7 f2e3 f7e6 e3e4 d7d5 e4f4 e6f6 d2d4 f6e6 f4g5 e6d7 g5f5 d7d6 e2e3 e7e6 f5f6 d6d7 f6e5 d7e7 e3e4 d5e4 e5e4 e7d8 e4e5 d8d7 c2c3 d7e7 c3c4 e7d7 c4c5 d7c6 e5e6 c6c7 d4d5 c7c8 c5c6 c8c7 e6e5 c7d8 e5d6 d8e8 c6c7 e8f7 c7c8q f7g6 c8g4 g6f7 g4e6 f7g7 e6e7 g7h6 e7h4 h6g7 h4g5 g7f7 g5e7 f7g6 d6e5 g6h5
info depth 58 currmove e1f2 currmovenumber 1
info depth 58 seldepth 74 multipv 1 score mate 31 lowerbound nodes 22077610197 nps 8403244 hashfull 1000 tbhits 0 time 2627272 pv e1f2
info depth 57 currmove e1f2 currmovenumber 1
Interesting... with SF 10 (1 thread) I too am not seeing a mate score. I just assumed I needed to wait more than 10 minutes, but now I've been waiting almost an hour:
info depth 55 currmove e1f2 currmovenumber 1
info depth 55 currmove d2d4 currmovenumber 2
info depth 55 currmove c2c4 currmovenumber 3
info depth 55 currmove e2e3 currmovenumber 4
info depth 55 currmove e1f1 currmovenumber 5
info depth 55 currmove d2d3 currmovenumber 6
info depth 55 currmove e2e4 currmovenumber 7
info depth 55 currmove c2c3 currmovenumber 8
info depth 55 currmove e1d1 currmovenumber 9
info depth 55 seldepth 66 multipv 1 score cp 15261 nodes 14657452236 nps 4789206 hashfull 999 tbhits 0 time 3060518 pv e1f2 e8d8 d2d4 d8c7 f2e3 c7d6 e3e4 d6e6 d4d5 e6d6 e4d4 d6c7 d4e5 c7d8 d5d6 d8e8 c2c4 e8f7 d6e7 f7e7 c4c5 e7d8 e5d6 d8e8 e2e3 e8d8 c5c6 d7c6 d6c6 d8e7 c6d5 e7d7 e3e4 d7e7 d5e5 e7f7 e5d6 f7f8 d6d7 f8g7 e4e5 g7g6 d7d6 g6h5 e5e6 h5g4 d6e5 g4f3 e6e7 f3e2 e7e8q e2e3 e8c6 e3f2 c6c2 f2g3 c2c3 g3f2 c3d2 f2f3 d2d5 f3g3 e5f5 g3f2 d5d2 f2g3
info depth 56 currmove e1f2 currmovenumber 1
...
info depth 57 seldepth 66 multipv 1 score cp 15261 nodes 26587618421 nps 4554172 hashfull 999 tbhits 0 time 5838079 pv e1f2 e8d8 d2d4 d8c7 f2e3 c7d6 e3e4 d6e6 d4d5 e6d6 e4d4 d6c7 d4e5 c7d8 d5d6 d8e8 c2c4 e8f7 d6e7 f7e7 c4c5 e7d8 e5d6 d8e8 e2e3 e8d8 c5c6 d7c6 d6c6 d8e7 c6d5 e7f7 e3e4 f7e7 d5e5 e7d7 e5f6 d7d8 f6e6 d8c7 e4e5 c7d8 e6f7 d8d7 e5e6 d7c7 e6e7 c7c6 e7e8q c6d5 e8d7 d5c4 f7e6 c4b4 d7e8 b4c4 e8c8 c4b3 e6d5 b3b2 c8c4 b2a3 c4c3 a3a4 d5d4 a4b5
info depth 58 currmove e1f2 currmovenumber 1
info depth 58 seldepth 72 multipv 1 score cp 15270 lowerbound nodes 34167449801 nps 4513835 hashfull 999 tbhits 0 time 7569494 pv e1f2
info depth 57 currmove e1f2 currmovenumber 1
info depth 58 seldepth 74 multipv 1 score cp 15280 lowerbound nodes 42485642886 nps 4500865 hashfull 999 tbhits 0 time 9439439 pv e1f2
info depth 56 currmove e1f2 currmovenumber 1
info depth 58 seldepth 74 multipv 1 score cp 15294 lowerbound nodes 48951079453 nps 4511209 hashfull 999 tbhits 0 time 10850988 pv e1f2
info depth 55 currmove e1f2 currmovenumber 1
Jhellis3 crystal(matefinder) with hash 1024(this search obviously needs lots of ram) found it at depth 37.
info depth 36 seldepth 58 multipv 1 score cp 5984 nodes 259571703 nps 3665956 hashfull 256 tbhits 0 time 70806 pv e1f2 e8d8 f2e3 d8c7 e3d4 c7d6 c2c4 d6c6 e2e4 c6d6 e4e5 d6c6 e5e6 d7d6 d2d3 c6c7 d4d5 c7b6 d3d4 b6b7 c4c5 b7c7 c5d6 e7d6 e6e7 c7d7 e7e8q d7e8 d5d6 e8f8 d4d5 f8f7 d6d7 f7f6 d5d6 f6e5 d7c6 e5e6 d6d7 e6e5 d7d8q e5e4 c6c5 e4e3 c5d5 e3d3 d5e5 d3c2 d8c8 c2b2 c8c4 b2b1 e5d4 b1a1 c4c1 a1a2
info depth 37 currmove e1f2 currmovenumber 1
info depth 37 seldepth 56 multipv 1 score cp 5995 lowerbound nodes 269255801 nps 3673690 hashfull 258 tbhits 0 time 73293 pv e1f2
info depth 37 currmove e1f2 currmovenumber 1
info depth 37 seldepth 56 multipv 1 score cp 6006 lowerbound nodes 280586022 nps 3685520 hashfull 259 tbhits 0 time 76132 pv e1f2
info depth 37 currmove e1f2 currmovenumber 1
info depth 37 seldepth 56 multipv 1 score cp 6022 lowerbound nodes 294009163 nps 3696043 hashfull 264 tbhits 0 time 79547 pv e1f2
info depth 37 currmove e1f2 currmovenumber 1
info depth 37 seldepth 56 multipv 1 score cp 6043 lowerbound nodes 308706889 nps 3703786 hashfull 268 tbhits 0 time 83349 pv e1f2
info depth 37 currmove e1f2 currmovenumber 1
info depth 37 seldepth 56 multipv 1 score cp 6072 lowerbound nodes 322350511 nps 3705050 hashfull 276 tbhits 0 time 87003 pv e1f2
info depth 37 currmove e1f2 currmovenumber 1
info depth 37 seldepth 56 multipv 1 score cp 6111 lowerbound nodes 339269560 nps 3719612 hashfull 280 tbhits 0 time 91211 pv e1f2
info depth 37 currmove e1f2 currmovenumber 1
info depth 37 seldepth 56 multipv 1 score cp 6161 lowerbound nodes 357086264 nps 3715623 hashfull 303 tbhits 0 time 96104 pv e1f2
info depth 37 currmove e1f2 currmovenumber 1
info depth 37 seldepth 56 multipv 1 score cp 6226 lowerbound nodes 371300245 nps 3705591 hashfull 314 tbhits 0 time 100200 pv e1f2
info depth 37 currmove e1f2 currmovenumber 1
info depth 37 seldepth 56 multipv 1 score cp 6309 lowerbound nodes 384015808 nps 3702142 hashfull 320 tbhits 0 time 103728 pv e1f2
info depth 37 currmove e1f2 currmovenumber 1
info depth 37 seldepth 56 multipv 1 score cp 6415 lowerbound nodes 393596677 nps 3696854 hashfull 325 tbhits 0 time 106468 pv e1f2
info depth 37 currmove e1f2 currmovenumber 1
info depth 37 seldepth 56 multipv 1 score cp 6550 lowerbound nodes 404252031 nps 3692777 hashfull 329 tbhits 0 time 109471 pv e1f2
info depth 37 currmove e1f2 currmovenumber 1
info depth 37 seldepth 56 multipv 1 score cp 6720 lowerbound nodes 411272985 nps 3694079 hashfull 331 tbhits 0 time 111333 pv e1f2
info depth 37 currmove e1f2 currmovenumber 1
info depth 37 seldepth 56 multipv 1 score cp 6935 lowerbound nodes 416337440 nps 3693292 hashfull 332 tbhits 0 time 112728 pv e1f2
info depth 37 currmove e1f2 currmovenumber 1
info depth 37 seldepth 56 multipv 1 score cp 7206 lowerbound nodes 435621889 nps 3672600 hashfull 339 tbhits 0 time 118614 pv e1f2
info depth 37 currmove e1f2 currmovenumber 1
info depth 37 seldepth 56 multipv 1 score cp 8084 lowerbound nodes 451300435 nps 3642721 hashfull 357 tbhits 0 time 123891 pv e1f2
info depth 37 currmove e1f2 currmovenumber 1
info depth 37 seldepth 56 multipv 1 score cp 14625 lowerbound nodes 460656176 nps 3631531 hashfull 367 tbhits 0 time 126849 pv e1f2
info depth 37 currmove e1f2 currmovenumber 1
info depth 37 currmove c2c4 currmovenumber 2
info depth 37 currmove c2c3 currmovenumber 3
info depth 37 currmove e2e3 currmovenumber 4
info depth 37 currmove d2d3 currmovenumber 5
info depth 37 currmove e2e4 currmovenumber 6
info depth 37 currmove d2d4 currmovenumber 7
info depth 37 currmove e1d1 currmovenumber 8
info depth 37 currmove e1f1 currmovenumber 9
info depth 37 seldepth 80 multipv 1 score mate 37 nodes 637825089 nps 3595750 hashfull 439 tbhits 0 time 177383 pv e1f2 e8d8 f2e3 d8c7 e3d4 c7d6 e2e3 e7e6 d4e4 d6e7 e4e5 d7d6 e5d4 e7d7 e3e4 d7c6 c2c3 e6e5 d4c4 d6d5 e4d5 c6d6 c4d3 d6d5 d3e3 d5e6 e3e4 e6f6 c3c4 f6e6 c4c5 e6f6 e4d5 f6f5 d2d3 f5f4 d5e6 f4g4 c5c6 g4f3 e6e5 f3g3 d3d4 g3f2 e5e6 f2f3 c6c7 f3g2 c7c8q g2f2 e6d6 f2e3 c8e8 e3d3
With 2 threads and 2GB hash it found it even sooner:
info depth 35 seldepth 66 multipv 1 score cp 5956 nodes 270669798 nps 6495711 hashfull 145 tbhits 0 time 41669 pv e1f2 e8f7 f2f3 f7e6 f3e4 e6d6 d2d4 d6c7 c2c4 c7c6 e4e5 c6b6 c4c5 b6c6 e2e4 c6c7 d4d5 c7b7 e5f5 b7a6 c5c6 d7c6 d5c6 a6b6 f5e6 b6c7 e6e7 c7c6 e4e5 c6d5 e5e6 d5e5 e7f7 e5e4 e6e7 e4e3 e7e8q e3d4 f7f6 d4c4 f6e5 c4d3
info depth 36 currmove e1f2 currmovenumber 1
info depth 36 seldepth 68 multipv 1 score cp 5967 lowerbound nodes 279251113 nps 6502831 hashfull 148 tbhits 0 time 42943 pv e1f2
info depth 36 currmove e1f2 currmovenumber 1
info depth 36 seldepth 68 multipv 1 score cp 5977 lowerbound nodes 288265316 nps 6512998 hashfull 148 tbhits 0 time 44260 pv e1f2
info depth 36 currmove e1f2 currmovenumber 1
info depth 36 seldepth 68 multipv 1 score cp 5993 lowerbound nodes 300842099 nps 6541894 hashfull 149 tbhits 0 time 45987 pv e1f2
info depth 36 currmove e1f2 currmovenumber 1
info depth 36 seldepth 68 multipv 1 score cp 6015 lowerbound nodes 315738188 nps 6571444 hashfull 151 tbhits 0 time 48047 pv e1f2
info depth 36 currmove e1f2 currmovenumber 1
info depth 36 seldepth 68 multipv 1 score cp 6044 lowerbound nodes 333332710 nps 6588774 hashfull 156 tbhits 0 time 50591 pv e1f2
info depth 36 currmove e1f2 currmovenumber 1
info depth 36 seldepth 68 multipv 1 score cp 6082 lowerbound nodes 349727660 nps 6589683 hashfull 163 tbhits 0 time 53072 pv e1f2
info depth 36 currmove e1f2 currmovenumber 1
info depth 36 seldepth 68 multipv 1 score cp 6132 lowerbound nodes 369922475 nps 6604932 hashfull 167 tbhits 0 time 56007 pv e1f2
info depth 36 currmove e1f2 currmovenumber 1
info depth 36 seldepth 68 multipv 1 score cp 6197 lowerbound nodes 387445922 nps 6591794 hashfull 175 tbhits 0 time 58777 pv e1f2
info depth 36 currmove e1f2 currmovenumber 1
info depth 36 seldepth 68 multipv 1 score cp 6280 lowerbound nodes 402576774 nps 6574828 hashfull 178 tbhits 0 time 61230 pv e1f2
info depth 36 currmove e1f2 currmovenumber 1
info depth 36 seldepth 68 multipv 1 score cp 6386 lowerbound nodes 414444060 nps 6565242 hashfull 180 tbhits 0 time 63127 pv e1f2
info depth 36 currmove e1f2 currmovenumber 1
info depth 36 seldepth 68 multipv 1 score cp 6521 lowerbound nodes 419517326 nps 6559878 hashfull 182 tbhits 0 time 63952 pv e1f2
info depth 36 currmove e1f2 currmovenumber 1
info depth 36 seldepth 68 multipv 1 score cp 6692 lowerbound nodes 425028840 nps 6557063 hashfull 185 tbhits 0 time 64820 pv e1f2
info depth 36 currmove e1f2 currmovenumber 1
info depth 36 seldepth 68 multipv 1 score cp 6907 lowerbound nodes 431302533 nps 6551563 hashfull 187 tbhits 0 time 65832 pv e1f2
info depth 36 currmove e1f2 currmovenumber 1
info depth 36 seldepth 70 multipv 1 score cp 7177 lowerbound nodes 453181827 nps 6513291 hashfull 195 tbhits 0 time 69578 pv e1f2
info depth 36 currmove e1f2 currmovenumber 1
info depth 36 seldepth 70 multipv 1 score cp 8135 lowerbound nodes 475829298 nps 6441877 hashfull 203 tbhits 0 time 73865 pv e1f2
info depth 36 currmove e1f2 currmovenumber 1
info depth 36 seldepth 70 multipv 1 score cp 14615 lowerbound nodes 479865872 nps 6438041 hashfull 204 tbhits 0 time 74536 pv e1f2
info depth 36 currmove e1f2 currmovenumber 1
info depth 36 currmove c2c4 currmovenumber 2
info depth 36 currmove d2d3 currmovenumber 3
info depth 36 currmove d2d4 currmovenumber 4
info depth 36 currmove e2e4 currmovenumber 5
info depth 36 currmove e2e3 currmovenumber 6
info depth 36 currmove c2c3 currmovenumber 7
info depth 36 currmove e1f1 currmovenumber 8
info depth 36 currmove e1d1 currmovenumber 9
info depth 36 seldepth 79 multipv 1 score mate 34 nodes 623711363 nps 6428092 hashfull 256 tbhits 0 time 97029 pv e1f2 e8f7 f2f3 f7e6 f3e4 e6d6 d2d4 d6c7 c2c4 c7c6 e4e5 c6c7 c4c5 c7b7 d4d5 b7c7 e2e4 c7d8 e5f5 d8e8 f5g6 d7d6 c5c6 e7e5 g6f6 e8d8 f6e6 d8c7 e6e7 c7c8 e7d6 c8d8 d6e5 d8e7 d5d6 e7e8 e5e6 e8d8 d6d7 d8c7 d7d8q c7d8 e6d6 d8c8 e4e5 c8b8 c6c7 b8b7 d6d7 b7a6
Looks like crystal has deeper extensions and prunes less PVnodes.
https://github.com/Chess13234/Goldfish/compare/SF11_c1...jhellis3:crystal
EDIT: latest crystal does not Find it.
Crystal release 1.1 using Stockfish code from https://github.com/jhellis3/Stockfish/commit/d799529b4843edd7630901a16c48a13d1fb50565 (comitted Aug 24, 2019
way after Multi-cut was introduced in January) can find the mate(as above) but crystal latest branch(using Stockfish code from SF11 release https://github.com/jhellis3/Stockfish/commit/c3483fa9a7d7c0ffa9fcc32b467ca844cfb63790 ) does not!(just verified, its stuck here(with 2 threads 1GB ram):
info depth 36 seldepth 68 multipv 1 score cp 14843 nodes 11853327147 nps 8109513 hashfull 760 tbhits 0 time 1461657 pv c2c4 e8f7 e1f2 f7f6 f2e3 f6e5 d2d4 e5e6 e3f3 e6d6 f3e4 d6c7 c4c5 c7c6 e4e5 c6b7 d4d5 b7c7 e5e4 c7b7 e4d4 b7a7 d4e5 a7b7 d5d6 e7d6 e5d6 b7c8 c5c6 d7c6 d6c6 c8d8 e2e3 d8e7 c6d5 e7d7 e3e4 d7c7 d5e6 c7b6 e6e7 b6c6 e4e5 c6d5 e5e6 d5c5 e7f6 c5c6 e6e7 c6d7 f6f7 d7d6 e7e8q d6c5
SF 10 (compiled with profile-build, running with 1 thread) finds it with 256MB of RAM:
info depth 46 seldepth 66 multipv 1 score mate 58 nodes 1861244895 nps 4885836 hashfull 744 tbhits 0 time 380947 pv e1f2 e8f7 f2e3 f7e6 e3e4 d7d5 e4f4 e6d6 d2d4 d6e6 e2e3 e6f6 e3e4 f6e6 f4e3 e6d6 e4d5 d6d5 e3d3 d5c6 d3e4 c6b5 e4d5 b5a4 c2c4 a4b4 c4c5 b4b5 d5e6 b5c6 e6e7 c6d5 e7f6 d5c6 f6e6 c6b5 e6d6 b5b4 c5c6 b4b5 c6c7 b5a6 c7c8q a6b6 c8c6 b6a5 c6c5 a5a4 d6e6 a4b3 c5c8 b3b4
And also finds it with 256MB in under 2 billion nodes (I'll retest SF 11 next in case the 2 billion node limit somehow changes its result):
git checkout sf_11~307
make clean && make -j6 profile-build ARCH=x86-64-bmi2 && ./stockfish bench 256 1 2000000000 test.fen nodes
info depth 46 seldepth 66 multipv 1 score mate 58 nodes 1861244895 nps 4884221 hashfull 744 tbhits 0 time 381073 pv e1f2 e8f7 f2e3 f7e6 e3e4 d7d5 e4f4 e6d6 d2d4 d6e6 e2e3 e6f6 e3e4 f6e6 f4e3 e6d6 e4d5 d6d5 e3d3 d5c6 d3e4 c6b5 e4d5 b5a4 c2c4 a4b4 c4c5 b4b5 d5e6 b5c6 e6e7 c6d5 e7f6 d5c6 f6e6 c6b5 e6d6 b5b4 c5c6 b4b5 c6c7 b5a6 c7c8q a6b6 c8c6 b6a5 c6c5 a5a4 d6e6 a4b3 c5c8 b3b4
With ./stockfish bench 256 1 2000000000 test.fen nodes, f69106f7bb82f97ba07fb06a31395039d08af9f4 does not find mate (and the previous commit does).
that's an interesting one... I could imagine that leading to the symptoms described. Let's try to make sure this is the cause. If it is, it should be quite doable to find a solution. Easiest would be a simplification attempt.
Thanks for the investigation so far..
I can confirm that the few revisions before https://github.com/official-stockfish/Stockfish/commit/f69106f7bb82f97ba07fb06a31395039d08af9f4 find the mate and the ones after don't. Makes sense to delve deeper there.
upon first testing, removing multi-cut pruning doesn't seem to fix it for me.
5ae195e may be the cause. Upon reverting that patch, SF finds the mate reasonably fast:
info depth 49 seldepth 54 multipv 1 score mate 97 nodes 499563967 nps 5323685 hashfull 124 tbhits 0 time 93838 pv e1f2 e8f7 f2f3 f7e6 f3e4 d7d5 e4f4 e6d6 d2d4 d6e6 e2e4 e6d6 f4f5 e7e6 f5f4 d6c6 e4e5 c6d7 f4g5 d7e7 g5g6 e7e8 g6f6 e8d7 f6f7 d7c7 f7e6 c7c6 c2c3 c6b6 e6d5 b6b5 c3c4 b5a6 e5e6 a6a5 c4c5 a5b4 c5c6 b4c3 c6c7 c3d2 c7c8q d2d1 e6e7 d1e2 e7e8q e2d2 c8c6 d2d1
[...]
info depth 50 seldepth 64 multipv 1 score mate 34 nodes 838342374 nps 5588651 hashfull 140 tbhits 0 time 150008 pv e1f2 e8f7 f2f3 f7e6 f3e4 d7d5 e4f4 e6d6 d2d4 d6e6 e2e4 e6d6 f4f5 e7e6 f5f4 d6c6 f4e5 d5e4 e5e4 c6b5 d4d5 e6d5 e4d5 b5b6 c2c4 b6c7 d5c5 c7d7 c5b6 d7e6 c4c5 e6d7 c5c6 d7d6 b6b7 d6e5 c6c7 e5e4 c7c8q e4d5 b7c7 d5e5 c7c6 e5f6 c6d6 f6f7 c8e6 f7g7 e6e5 g7h6 e5f6 h6h7 d6e6 h7g8 e6f5 g8h7 f6g5 h7h8
(Strangely, the first mate score does not seem to match the PV).
Here is the quick and dirty patch removing the functionality of 5ae195e:
```diff --git a/src/search.cpp b/src/search.cpp
index 9562bf86..db5126ac 100644
--- a/src/search.cpp
+++ b/src/search.cpp
@@ -1580,8 +1580,8 @@ moves_loop: // When in check, search starts from here
Value value_from_tt(Value v, int ply, int r50c) {
return v == VALUE_NONE ? VALUE_NONE
```
UPD: I forgot to mention that the above test was with 1 thread and hash 2048.
this issue here is real, nevertheless for future reference, a link to a mate-finding benchmark:
https://groups.google.com/d/msg/fishcooking/9H9t6qU8FX0/CQ-9gRCKDAAJ
some more testing of 5ae195e (mf) and 5ae195e~1 (mfm1) on ChestUCI_23102018.epd (6566 mate positions), as a function of nodes searched. This lists the number of best and found mates by both versions:
-----best ----found
nodes mfm1 mf mfm1 mf
200000 1371 1371 2158 2158
2000000 2953 2953 4106 4105
4000000 3426 3427 4540 4540
8000000 3866 3867 4890 4887
16000000 4242 4237 5156 5154
32000000 4555 4551 5368 5363
64000000 4851 4846 5551 5541
128000000 5103 5099 5701 5690
256000000 5294 5292 5813 5799
so possibly a small effect.
For me, master didn't find any mates after 20 minutes and a billion nodes, but when I remove the functionality of 5ae195e, found mate in 30 in 500Mil nodes and 1 minute.
There is another patch to consider here, of course! https://github.com/official-stockfish/Stockfish/commit/893a08a8c2eac3c2e7d2216b51811cc7378e2239
Especially in combination with the modification of value_from_tt() it makes it much more difficult for the search to get into the VALUE_MATE - MAX_PLY territory.
_(Below analysis was done with single thread, 1 GB Hash, debug builds.)_
Lowering MAX_PLY to 128 again already helps a bit:
info depth 51 seldepth 56 multipv 1 score cp 14903 nodes 918977468 nps 2927145 hashfull 253 tbhits 0 time 313950 pv e1f2 e8f7 f2e3 f7e6 e3e4 e6d6 d2d4 d6c6 c2c4 c6b6 c4c5 b6c6 e4e5 c6b7 d4d5 b7c7 e2e4 c7b7 e5f5 b7c8 e4e5 c8c7 d5d6 c7d8 f5g6 d8e8 g6g7 e8d8 g7f8 e7e6 f8f7 d8c8 f7e7 c8b7 e7d7 b7a6 d7e6 a6b7 d6d7 b7c6 d7d8q c6c5 d8d3 c5b4 d3d4 b4b3 d4c5 b3b2 e6e7 b2a1 e7d6
info depth 52 currmove e1f2 currmovenumber 1
info depth 52 seldepth 59 multipv 1 score mate 56 lowerbound nodes 1525705623 nps 2997339 hashfull 282 tbhits 0 time 509020 pv e1f2
info depth 51 currmove e1f2 currmovenumber 1
info depth 52 seldepth 59 multipv 1 score mate 56 nodes 1790631627 nps 2984381 hashfull 301 tbhits 0 time 600001 pv e1f2
bestmove e1f2 ponder e8f7
Reverting both patches:
info depth 51 seldepth 58 multipv 1 score cp 14946 lowerbound nodes 902874825 nps 2983694 hashfull 271 tbhits 0 time 302603 pv e1f2
info depth 48 currmove e1f2 currmovenumber 1
info depth 48 currmove c2c4 currmovenumber 2
info depth 48 currmove d2d3 currmovenumber 3
info depth 48 currmove e2e4 currmovenumber 4
info depth 48 currmove c2c3 currmovenumber 5
info depth 48 currmove e2e3 currmovenumber 6
info depth 48 currmove d2d4 currmovenumber 7
info depth 48 currmove e1f1 currmovenumber 8
info depth 48 currmove e1d1 currmovenumber 9
info depth 51 seldepth 58 multipv 1 score mate 39 nodes 1180509608 nps 3011373 hashfull 297 tbhits 0 time 392017 pv e1f2 e8f7 f2e3 f7e6 e3e4 d7d5 e4f4 e6f6 d2d4 f6e6 e2e4 e6d6 f4f5 e7e6 f5f4 d6c6 f4e5 d5e4 e5e4 c6b5 d4d5 e6d5 e4d5 b5b6 c2c4 b6c7 d5c5 c7d7 c5b6 d7d8 c4c5 d8c8 b6c6 c8d8 c6b7 d8d7 c5c6 d7e6 c6c7 e6d5 b7b6 d5e6 c7c8q e6d5 c8d8 d5e4 b6c5 e4e3 d8d5 e3e2 d5d4 e2f3 c5d6 f3g3
info depth 52 currmove e1f2 currmovenumber 1
info depth 52 currmove c2c4 currmovenumber 2
info depth 52 currmove e2e3 currmovenumber 3
info depth 52 currmove e2e4 currmovenumber 4
info depth 52 currmove c2c3 currmovenumber 5
info depth 52 currmove d2d3 currmovenumber 6
info depth 52 currmove e1d1 currmovenumber 7
info depth 52 currmove d2d4 currmovenumber 8
info depth 52 currmove e1f1 currmovenumber 9
info depth 52 seldepth 61 multipv 1 score mate 30 nodes 1687218043 nps 2998304 hashfull 333 tbhits 0 time 562724 pv e1f2 e8f7 f2e3 f7e6 e3e4 e6d6 d2d4 d6c6 c2c4 c6b6 c4c5 b6c6 e4e5 c6b7 d4d5 b7c7 e2e4 c7c8 e5f5 c8d8 e4e5 d8e8 f5g6 d7d6 e5d6 e7d6 c5c6 e8d8 g6f6 d8c8 f6e6 c8c7 e6e7 c7c8 e7d6 c8d8 d6e6 d8c7 d5d6 c7c6 d6d7 c6c7 e6e7 c7c6 d7d8q c6b5 d8c8 b5b4 c8c2 b4a3 e7d6 a3b4 c2d3 b4a5
info depth 53 currmove e1f2 currmovenumber 1
info depth 53 seldepth 61 multipv 1 score mate 30 nodes 1798172939 nps 2996949 hashfull 335 tbhits 0 time 600001 pv e1f2 e8f7 f2e3 f7e6 e3e4 e6d6 d2d4 d6c6 c2c4 c6b6 c4c5 b6c6 e4e5 c6b7 d4d5 b7c7 e2e4 c7c8 e5f5 c8d8 e4e5 d8e8 f5g6 d7d6 e5d6 e7d6 c5c6 e8d8 g6f6 d8c8 f6e6 c8c7 e6e7 c7c8 e7d6 c8d8 d6e6 d8c7 d5d6 c7c6 d6d7 c6c7 e6e7 c7c6 d7d8q c6b5 d8c8 b5b4 c8c2 b4a3 e7d6 a3b4 c2d3 b4a5
bestmove e1f2 ponder e8f7
Don't ask me which one of the two patches is the main culprit here.
Personally, I'm not a fan of both. :-)
the test cases are fixed, some improvements can be seen in testing.