mirror of
https://github.com/HChaZZY/Stockfish.git
synced 2025-12-17 15:46:24 +08:00
Fix a 'value > VALUE_INFINITE' assert
This fixes an assert while testing with debug on. Assert was due to static null pruning returning value eval - futility_margin(depth, (ss-1)->futilityMoveCount) That was sometimes higher than VALUE_INFINITE triggering an assert at the caller site. Because eval con be equal to ttValue and anyhow is read from TT that can be corrupted in SMP case, we need to sanity check it before to use. bench: 4176431
This commit is contained in:
@@ -646,6 +646,7 @@ namespace {
|
|||||||
&& !inCheck
|
&& !inCheck
|
||||||
&& eval - futility_margin(depth, (ss-1)->futilityMoveCount) >= beta
|
&& eval - futility_margin(depth, (ss-1)->futilityMoveCount) >= beta
|
||||||
&& abs(beta) < VALUE_MATE_IN_MAX_PLY
|
&& abs(beta) < VALUE_MATE_IN_MAX_PLY
|
||||||
|
&& abs(eval) < VALUE_KNOWN_WIN
|
||||||
&& pos.non_pawn_material(pos.side_to_move()))
|
&& pos.non_pawn_material(pos.side_to_move()))
|
||||||
return eval - futility_margin(depth, (ss-1)->futilityMoveCount);
|
return eval - futility_margin(depth, (ss-1)->futilityMoveCount);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user