Dev Builds » 20260710-1817

Use this dev build

NCM plays each Stockfish dev build 20,000 times against Stockfish 15. This yields an approximate Elo difference and establishes confidence in the strength of the dev builds.

Summary

Host Duration Avg Base NPS Games WLD Standard Elo Ptnml(0-2) Gamepair Elo
ncm-dbt-01 06:46:43 583711 3998 1799 343 1856 +132.62 ± 4.58 0 31 524 1401 43 +306.04 ± 14.88
ncm-dbt-02 06:45:40 590733 4000 1756 322 1922 +130.34 ± 4.4 0 19 560 1389 32 +302.01 ± 14.33
ncm-dbt-03 06:44:44 583596 4002 1791 324 1887 +133.57 ± 4.45 0 26 517 1423 35 +312.22 ± 14.97
ncm-dbt-04 06:45:10 566890 4000 1779 343 1878 +130.54 ± 4.52 0 24 557 1378 41 +299.63 ± 14.39
ncm-dbt-05 06:45:59 583168 4000 1779 330 1891 +131.84 ± 4.36 2 15 542 1414 27 +309.64 ± 14.57
20000 8904 1662 9434 +131.78 ± 2.0 2 115 2700 7005 178 +305.87 ± 6.53

Test Detail

ID Host Base NPS Games WLD Standard Elo Ptnml(0-2) Gamepair Elo CLI PGN
478335 ncm-dbt-03 585464 2 1 0 1 +189.7 ± 55.98 0 0 0 1 0 +1129.65 ± 376.02
478334 ncm-dbt-01 583656 498 225 45 228 +131.52 ± 13.89 0 6 65 170 8 +295.12 ± 42.75
478333 ncm-dbt-05 584034 500 218 36 246 +132.54 ± 11.91 0 3 63 183 1 +318.25 ± 43.39
478332 ncm-dbt-02 588217 500 224 34 242 +138.99 ± 12.09 0 0 66 178 6 +327.17 ± 41.95
478331 ncm-dbt-04 569629 500 212 46 242 +119.89 ± 12.98 0 4 80 162 4 +268.17 ± 38.21
478330 ncm-dbt-03 584117 500 223 45 232 +129.35 ± 13.17 0 2 76 164 8 +288.06 ± 39.11
478329 ncm-dbt-01 584916 500 226 42 232 +134.15 ± 13.61 0 5 64 173 8 +304.07 ± 43.1
478328 ncm-dbt-05 582277 500 223 40 237 +133.34 ± 12.09 0 1 69 176 4 +312.48 ± 41.11
478327 ncm-dbt-03 585000 500 230 37 233 +141.44 ± 12.2 0 2 58 185 5 +339.63 ± 45.29
478326 ncm-dbt-02 591943 500 219 39 242 +130.94 ± 11.76 0 1 70 177 2 +309.64 ± 40.79
478325 ncm-dbt-04 565469 500 214 41 245 +125.38 ± 11.72 0 0 79 169 2 +290.66 ± 37.99
478324 ncm-dbt-01 581402 500 225 43 232 +132.54 ± 12.52 0 4 63 180 3 +312.48 ± 43.44
478323 ncm-dbt-05 585042 500 230 47 223 +133.34 ± 12.88 1 1 67 176 5 +312.48 ± 41.9
478322 ncm-dbt-03 582819 500 223 42 235 +131.74 ± 12.54 0 4 64 179 3 +309.64 ± 43.08
478321 ncm-dbt-02 591211 500 224 36 240 +137.37 ± 12.15 0 1 65 179 5 +324.17 ± 42.47
478320 ncm-dbt-04 564096 500 221 40 239 +131.74 ± 12.74 0 3 68 174 5 +304.07 ± 41.65
478319 ncm-dbt-03 582903 500 217 44 239 +125.38 ± 12.89 0 5 70 172 3 +288.06 ± 41.11
478318 ncm-dbt-05 582987 500 227 38 235 +138.18 ± 12.53 0 3 60 182 5 +327.18 ± 44.54
478317 ncm-dbt-01 583070 500 225 47 228 +129.35 ± 12.61 0 4 67 176 3 +301.33 ± 42.04
478316 ncm-dbt-02 589625 500 220 36 244 +134.15 ± 12.27 0 2 66 178 4 +315.35 ± 42.24
478315 ncm-dbt-04 567442 500 230 41 229 +138.18 ± 12.53 0 4 57 185 4 +330.23 ± 45.79
478314 ncm-dbt-03 585548 500 230 38 232 +140.62 ± 13.04 0 4 57 182 7 +330.23 ± 45.79
478313 ncm-dbt-05 584790 500 222 44 234 +129.35 ± 11.6 0 1 71 177 1 +306.84 ± 40.47
478312 ncm-dbt-01 583698 500 214 31 255 +133.34 ± 13.08 0 5 62 178 5 +309.64 ± 43.82
478311 ncm-dbt-02 590996 500 223 41 236 +132.54 ± 12.71 0 3 67 175 5 +306.84 ± 41.99
478310 ncm-dbt-04 565272 500 228 40 232 +137.37 ± 12.76 0 3 62 179 6 +321.19 ± 43.77
478309 ncm-dbt-05 583950 500 217 46 237 +123.81 ± 12.73 0 3 77 166 4 +280.42 ± 38.93
478308 ncm-dbt-03 580489 500 219 34 247 +134.95 ± 11.83 0 1 66 180 3 +321.19 ± 42.12
478307 ncm-dbt-01 583824 500 220 44 236 +127.76 ± 12.84 0 2 76 166 6 +288.06 ± 39.11
478306 ncm-dbt-02 590911 500 212 46 242 +119.89 ± 13.16 0 3 84 157 6 +263.42 ± 37.11
478305 ncm-dbt-04 569949 500 229 46 225 +133.34 ± 12.89 0 2 70 171 7 +304.07 ± 40.91
478304 ncm-dbt-03 584748 500 230 38 232 +140.62 ± 12.02 0 2 58 186 4 +339.63 ± 45.29
478303 ncm-dbt-05 580987 500 226 39 235 +136.56 ± 12.59 1 0 65 179 5 +324.17 ± 42.47
478302 ncm-dbt-01 582903 500 233 48 219 +134.95 ± 12.84 0 2 68 173 7 +309.64 ± 41.56
478301 ncm-dbt-02 594149 500 213 43 244 +123.02 ± 12.93 0 5 73 169 3 +280.42 ± 40.21
478300 ncm-dbt-04 565823 500 218 44 238 +126.17 ± 12.68 0 3 74 169 4 +288.06 ± 39.79
478299 ncm-dbt-03 581277 500 218 46 236 +124.6 ± 12.9 0 6 68 174 2 +288.06 ± 41.76
478298 ncm-dbt-05 581277 500 216 40 244 +127.76 ± 12.26 0 3 70 175 2 +298.62 ± 41.01
478297 ncm-dbt-01 586223 500 231 43 226 +137.37 ± 12.15 0 3 59 185 3 +330.23 ± 44.94
478296 ncm-dbt-04 567442 500 227 45 228 +132.54 ± 13.83 0 5 67 169 9 +295.94 ± 42.08
478295 ncm-dbt-02 588813 500 221 47 232 +126.17 ± 12.3 0 4 69 176 1 +295.94 ± 41.39

Commit

Commit ID 9700f6f206da5102c5dfb2414c5e7e13d844fcbf
Author Miloslav Macůrek
Date 2026-07-10 18:17:23 UTC
Fix crash with UCI_LimitStrength and tablebases at the root `Skill::pick_best()` assumes the root moves are sorted by score in descending order: ```cpp Value topScore = rootMoves[0].score; int delta = std::min(topScore - rootMoves[multiPV - 1].score, int(PawnValue)); ``` That does not have to be so with Syzygy tablebases at the root, where the moves are ordered by `tbRank` instead. `rootMoves[0]` is then not the highest score and `delta` can go negative. Since `delta * (rng.rand<unsigned>() % int(weakness))` is evaluated as unsigned, a negative `delta` wraps to a large value and the `int(...)` cast overflows, so the `score + push >= maxScore` check never passes and `best` stays `Move::none()`. The caller ```cpp std::swap(rootMoves[0], *std::find(rootMoves.begin(), rootMoves.end(), skill.best ? skill.best : skill.pick_best(rootMoves, multiPV))); ``` then dereferences `end()`. The result is a crash, or sometimes `bestmove (none)` / an illegal move, in tablebase endgames when `UCI_LimitStrength` is set (or `Skill Level` is below 20). The fix computes the score range over the candidate moves directly, so `delta` stays non-negative and a valid move is always returned. **To reproduce**: ``` setoption name UCI_LimitStrength value true setoption name UCI_Elo value 2900 setoption name SyzygyPath value <syzygy tablebases path> position fen 8/8/8/4k3/8/8/3BKN2/8 b - - 0 1 go wtime 250 btime 250 winc 100 binc 100 ``` You need to call the go command a couple of times before crash, after which is ends with ``` bestmove a1e5 ponder (none) ``` and on the next `go wtime 250 btime 250 winc 100 binc 100` it crashes printing: ``` info string Available processors: 0-31 info string Using 1 thread info string NNUE evaluation using nn-af1339a6dea3.nnue (106MiB, (83248, 1024, 31, 32, 1)) info string Network replica 1: Shared memory. ``` Bench is unchanged, since this code only runs under `UCI_LimitStrength` / `Skill Level`. closes https://github.com/official-stockfish/Stockfish/pull/6957 No functional change
Copyright 2011–2026 Next Chess Move LLC