-
-
Notifications
You must be signed in to change notification settings - Fork 200
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reporting a draw as a win #824
Comments
Thanks for reporting. By some weird coincidence exactly the most recent commit I pushed two weeks ago seems to fix or at least work around this particular issue. Before f474f12 I can still reproduce this exact behavior even with recent non-largeboard versions. However, my hunch is that this more likely only hides than really fixes whatever causes this bug. One potential cause could be a static eval overflowing into the mate range, but for now that is just a shot in the dark. |
After having had a bit of a look at it, to me it looks like this might be a hash collision. When I change the hash size or verify more bits of the hash (32 instead of 16) in the TT the issue does not appear any more. It would be good to narrow it down further, but for now I assume that there likely isn't a direct fix for it and it might just be an unlucky case. |
With the latest changes, I was able to reproduce the same thing in a slightly different position:
It announces a win somewhere at depth 21. None of the asserts triggered. It is much easier to reproduce in this position, which cannot occur in a real game:
where this assert is triggered almost instantly:
types.h, line 698 |
fairy-stockfish_x86-64-bmi2.exe (Fairy-Stockfish 14 BMI2, 8x8 variants, Windows):
Result:
The engine thinks it can win in this drawn position in 14 moves, yet offers a sequence of moves that leads to a draw.
The text was updated successfully, but these errors were encountered: