Skip to content

Commit

Permalink
Fix an assert in Probcut
Browse files Browse the repository at this point in the history
When running the following position:

8/kPp5/2P3p1/p1P1p1P1/2PpPp2/3p1p2/3P1P2/5K2 w - - 0 1

An assert is raised at depth 92:

assert(-VALUE_INFINITE <= alpha && alpha < beta && beta <= VALUE_INFINITE);

This is because it happens that beta = 29832,
so rbeta = 30032 that is > VALUE_INFINITE

Bug spotted and analyzed by Uri, fix suggested by Joerg.

Other fixes where possible but this one is pointed
exactly at the source of the bug, so it is the best
from a code documentation point of view.

bench: 8430785
  • Loading branch information
mcostalba committed Feb 22, 2014
1 parent b8cfc25 commit 012f20d
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion src/search.cpp
Expand Up @@ -668,7 +668,7 @@ namespace {
&& !ss->skipNullMove
&& abs(beta) < VALUE_MATE_IN_MAX_PLY)
{
Value rbeta = beta + 200;
Value rbeta = std::min(beta + 200, VALUE_INFINITE);
Depth rdepth = depth - ONE_PLY - 3 * ONE_PLY;

assert(rdepth >= ONE_PLY);
Expand Down

0 comments on commit 012f20d

Please sign in to comment.