official-stockfish / Stockfish

A free and strong UCI chess engine
https://stockfishchess.org/
GNU General Public License v3.0
11.33k stars 2.25k forks source link

`Assertion failed: count<Pt>(c) == 1` #4254

Closed fishchess closed 1 year ago

fishchess commented 1 year ago

Sf 15 Crashed during depth 23 (Sf 15.1 Crashed during depth 26)

The error log : Assertion failed: count<Pt>(c) == 1, file ..\src\position.h

info depth 1 seldepth 1 multipv 1 score cp -21 nodes 28 nps 28000 tbhits 0 time 1 pv b8d7
info depth 2 seldepth 2 multipv 1 score cp -21 nodes 75 nps 75000 tbhits 0 time 1 pv b8d7 a2a3
info depth 3 seldepth 3 multipv 1 score cp -41 nodes 308 nps 154000 tbhits 0 time 2 pv b8c6 h2h4 g8e7 g1e2
info depth 4 seldepth 4 multipv 1 score cp -13 nodes 2181 nps 545250 tbhits 0 time 4 pv g8e7 a1b1
info depth 5 seldepth 5 multipv 1 score cp -42 nodes 2823 nps 705750 tbhits 0 time 4 pv g8e7 a1b1 b8c6 d1g4 e8f8
info depth 6 seldepth 7 multipv 1 score cp -35 nodes 16567 nps 920388 tbhits 0 time 18 pv g8e7 g1f3 b8d7 a1b1 e8g8
info depth 7 seldepth 9 multipv 1 score cp -85 nodes 37418 nps 984684 tbhits 0 time 38 pv g8e7 d1g4 e8f8 h2h4 b8d7 c3c4 c7c5 c4d5 e6d5
info depth 8 seldepth 12 multipv 1 score cp -63 nodes 63657 nps 1010428 tbhits 0 time 63 pv g8e7 d1g4 e8f8 h2h4 c7c5 h4h5 h7h6
info depth 9 seldepth 9 multipv 1 score cp -70 nodes 91598 nps 1017755 tbhits 0 time 90 pv g8e7 d1g4 e8f8 c1a3 b8d7 a3e7 d8e7 h2h4
info depth 10 seldepth 12 multipv 1 score cp -70 nodes 118580 nps 1031130 tbhits 0 time 115 pv g8e7 d1g4 e8f8 g1h3 c7c5 h3g5 h7h6 g4h5 e7g6
info depth 11 seldepth 12 multipv 1 score cp -35 nodes 174666 nps 1065036 tbhits 0 time 164 pv g8e7 d1g4 e8f8 g1h3 c7c5 h3g5 d8c7 g4f3 e7g6
info depth 12 seldepth 20 multipv 1 score cp -49 nodes 490139 nps 1054062 tbhits 0 time 465 pv c7c5 d1g4 e8f8 c1a3 b8d7 a3c5 d7c5 d4c5 h7h5 g4d4 h5h4 f1e2 g8e7 g1f3 h4h3
info depth 13 seldepth 20 multipv 1 score cp -63 nodes 546113 nps 1060413 tbhits 0 time 515 pv c7c5 d1g4 e8f8 c1a3 b8d7 a3c5 d7c5 d4c5 d8c7 g4d4 b7b6 c5b6 a7b6 g1f3 g8e7 f1d3
info depth 14 seldepth 19 multipv 1 score cp -70 nodes 792622 nps 1063922 tbhits 0 time 745 pv c7c5 d1g4 e8f8 c1a3 b8d7 a3c5 d7c5 d4c5 h7h5 g4b4 g8e7 g1f3 h5h4 f1d3 h4h3 e1g1 h3g2 g1g2
info depth 15 seldepth 25 multipv 1 score cp -76 nodes 1022222 nps 1068152 tbhits 0 time 957 pv g8e7 d1g4 e8f8 c1a3 b8d7 g1f3 c7c5 a3c5 d7c5 d4c5 h7h5 g4d4 h5h4 f1d3 h4h3 e1g1 h3g2 g1g2 h8h6 d4f4
info depth 16 seldepth 25 multipv 1 score cp -73 nodes 1453607 nps 1077544 hashfull 563 tbhits 0 time 1349 pv c7c5 d1g4 e8f8 c1a3 b8d7 a3c5 d7c5 d4c5 h7h5 g4d4 g8e7 g1f3 d8a5 f1e2 c8d7 e1g1 a8c8 f1b1 e7f5
info depth 17 seldepth 29 multipv 1 score cp -91 nodes 2350071 nps 1079004 hashfull 775 tbhits 0 time 2178 pv g8e7 d1g4 e8f8 c1a3 b8d7 g1f3 c7c5 a3c5 d7c5 d4c5 d8c7 g4d4 e7c6 d4e3 c8d7 a1b1 a8c8 h2h4 c6a5
info depth 18 seldepth 26 multipv 1 score cp -56 nodes 2810483 nps 1080124 hashfull 845 tbhits 0 time 2602 pv g8e7 d1g4 e8f8 c1a3 b8d7 g1f3 c7c5 a3c5 d7c5 d4c5 e7c6 g4f4 d8a5 f4e3 c8d7 a2a4 a8c8 f1b5 c6e5 f3e5 d7b5
info depth 19 currmove c7c5 currmovenumber 2
info depth 19 currmove h7h5 currmovenumber 3
info depth 19 currmove b8c6 currmovenumber 4
info depth 19 currmove c8d7 currmovenumber 5
info depth 19 currmove c7c6 currmovenumber 6
info depth 19 currmove a7a5 currmovenumber 7
info depth 19 currmove b7b6 currmovenumber 8
info depth 19 currmove b8d7 currmovenumber 9
info depth 19 currmove h7h6 currmovenumber 10
info depth 19 currmove d8e7 currmovenumber 11
info depth 19 currmove e8f8 currmovenumber 12
info depth 19 currmove g8h6 currmovenumber 13
info depth 19 currmove a7a6 currmovenumber 14
info depth 19 currmove g8f6 currmovenumber 15
info depth 19 currmove g7g6 currmovenumber 16
info depth 19 currmove d8d7 currmovenumber 17
info depth 19 currmove e8d7 currmovenumber 18
info depth 19 currmove d8h4 currmovenumber 19
info depth 19 currmove g7g5 currmovenumber 20
info depth 19 currmove f7f5 currmovenumber 21
info depth 19 currmove b7b5 currmovenumber 22
info depth 19 currmove f7f6 currmovenumber 23
info depth 19 currmove d8f6 currmovenumber 24
info depth 19 currmove b8a6 currmovenumber 25
info depth 19 currmove d8d6 currmovenumber 26
info depth 19 currmove d8g5 currmovenumber 27
info depth 19 currmove e8e7 currmovenumber 28
info depth 19 seldepth 27 multipv 1 score cp -74 nodes 3431602 nps 1071371 hashfull 911 tbhits 0 time 3203 pv g8e7 d1g4 e8f8 c1a3 b8d7 g1f3 c7c5 a3c5 d7c5 d4c5 h7h5 g4d4 d8a5 e1d2 e7c6 d4e3 c8d7 h2h4 a8c8 f1e2 c6e7 a1b1 c8c7
info depth 20 currmove g8e7 currmovenumber 1
info depth 20 seldepth 28 multipv 1 score cp -65 lowerbound nodes 3972931 nps 1069429 hashfull 944 tbhits 0 time 3715 pv g8e7
info depth 19 currmove g8e7 currmovenumber 1
info depth 20 seldepth 28 multipv 1 score cp -57 lowerbound nodes 4125243 nps 1068992 hashfull 951 tbhits 0 time 3859 pv g8e7
info depth 18 currmove g8e7 currmovenumber 1
info depth 18 currmove c7c5 currmovenumber 2
info depth 18 currmove c7c6 currmovenumber 3
info depth 18 currmove h7h5 currmovenumber 4
info depth 18 currmove b8d7 currmovenumber 5
info depth 18 currmove b8c6 currmovenumber 6
info depth 18 currmove a7a5 currmovenumber 7
info depth 18 currmove h7h6 currmovenumber 8
info depth 18 currmove g8h6 currmovenumber 9
info depth 18 currmove g7g6 currmovenumber 10
info depth 18 currmove b7b6 currmovenumber 11
info depth 18 currmove c8d7 currmovenumber 12
info depth 18 currmove d8e7 currmovenumber 13
info depth 18 currmove a7a6 currmovenumber 14
info depth 18 currmove b7b5 currmovenumber 15
info depth 18 currmove g8f6 currmovenumber 16
info depth 18 currmove g7g5 currmovenumber 17
info depth 18 currmove d8h4 currmovenumber 18
info depth 18 currmove f7f6 currmovenumber 19
info depth 18 currmove f7f5 currmovenumber 20
info depth 18 currmove b8a6 currmovenumber 21
info depth 18 currmove d8g5 currmovenumber 22
info depth 18 currmove e8e7 currmovenumber 23
info depth 18 currmove e8d7 currmovenumber 24
info depth 18 currmove d8d7 currmovenumber 25
info depth 18 currmove d8d6 currmovenumber 26
info depth 18 currmove d8f6 currmovenumber 27
info depth 18 currmove e8f8 currmovenumber 28
info depth 20 seldepth 28 multipv 1 score cp -56 nodes 4399065 nps 1065148 hashfull 964 tbhits 0 time 4130 pv g8e7 d1g4 e8f8 c1a3 b8d7 g1f3 c7c5 a3c5 d7c5 d4c5 e7c6 e1d2 d8a5 g4f4 a5c5 f3d4 c8d7 f1b5 c6d4 b5d7 d4f5 h1b1
info depth 21 currmove g8e7 currmovenumber 1
info depth 21 currmove c7c5 currmovenumber 2
info depth 21 currmove b8c6 currmovenumber 3
info depth 21 currmove b8d7 currmovenumber 4
info depth 21 currmove a7a6 currmovenumber 5
info depth 21 currmove a7a5 currmovenumber 6
info depth 21 currmove h7h5 currmovenumber 7
info depth 21 currmove h7h6 currmovenumber 8
info depth 21 currmove b7b6 currmovenumber 9
info depth 21 currmove c8d7 currmovenumber 10
info depth 21 currmove d8d7 currmovenumber 11
info depth 21 currmove d8e7 currmovenumber 12
info depth 21 currmove c7c6 currmovenumber 13
info depth 21 currmove g8h6 currmovenumber 14
info depth 21 currmove g7g5 currmovenumber 15
info depth 21 currmove g7g6 currmovenumber 16
info depth 21 currmove e8f8 currmovenumber 17
info depth 21 currmove e8e7 currmovenumber 18
info depth 21 currmove e8d7 currmovenumber 19
info depth 21 currmove d8d6 currmovenumber 20
info depth 21 currmove g8f6 currmovenumber 21
info depth 21 currmove f7f5 currmovenumber 22
info depth 21 currmove d8h4 currmovenumber 23
info depth 21 currmove b7b5 currmovenumber 24
info depth 21 currmove d8g5 currmovenumber 25
info depth 21 currmove b8a6 currmovenumber 26
info depth 21 currmove f7f6 currmovenumber 27
info depth 21 currmove d8f6 currmovenumber 28
info depth 21 seldepth 28 multipv 1 score cp -65 upperbound nodes 4655269 nps 1059942 hashfull 970 tbhits 0 time 4392 pv g8e7 d1g4
info depth 21 currmove g8e7 currmovenumber 1
info depth 21 currmove c7c5 currmovenumber 2
info depth 21 currmove b8c6 currmovenumber 3
info depth 21 currmove a7a5 currmovenumber 4
info depth 21 currmove c8d7 currmovenumber 5
info depth 21 currmove h7h5 currmovenumber 6
info depth 21 currmove a7a6 currmovenumber 7
info depth 21 currmove h7h6 currmovenumber 8
info depth 21 currmove b7b6 currmovenumber 9
info depth 21 currmove b8d7 currmovenumber 10
info depth 21 currmove e8f8 currmovenumber 11
info depth 21 currmove d8e7 currmovenumber 12
info depth 21 currmove g8f6 currmovenumber 13
info depth 21 currmove g8h6 currmovenumber 14
info depth 21 currmove d8d7 currmovenumber 15
info depth 21 currmove g7g6 currmovenumber 16
info depth 21 currmove b8a6 currmovenumber 17
info depth 21 currmove d8h4 currmovenumber 18
info depth 21 currmove c7c6 currmovenumber 19
info depth 21 currmove d8g5 currmovenumber 20
info depth 21 currmove d8f6 currmovenumber 21
info depth 21 currmove b7b5 currmovenumber 22
info depth 21 currmove e8e7 currmovenumber 23
info depth 21 currmove g7g5 currmovenumber 24
info depth 21 currmove d8d6 currmovenumber 25
info depth 21 currmove f7f5 currmovenumber 26
info depth 21 currmove f7f6 currmovenumber 27
info depth 21 currmove e8d7 currmovenumber 28
info depth 21 seldepth 31 multipv 1 score cp -70 nodes 5540956 nps 1052613 hashfull 992 tbhits 0 time 5264 pv g8e7 d1g4 e8f8 c1a3 b8d7 g1f3 h7h6 f1d3 b7b6 a3e7 d8e7 a2a4 c7c5 e1g1 c5c4 d3e2 g7g6 a4a5 f8g7 a5b6 d7b6 f1b1
info depth 22 currmove g8e7 currmovenumber 1
info depth 22 seldepth 29 multipv 1 score cp -59 lowerbound nodes 6301690 nps 1049931 hashfull 997 tbhits 0 time 6002 pv g8e7
info depth 21 currmove g8e7 currmovenumber 1
info depth 21 currmove c7c5 currmovenumber 2
info depth 21 currmove c8d7 currmovenumber 3
info depth 21 currmove h7h5 currmovenumber 4
info depth 21 currmove a7a6 currmovenumber 5
info depth 21 currmove b8d7 currmovenumber 6
info depth 21 currmove b7b6 currmovenumber 7
info depth 21 currmove b8c6 currmovenumber 8
info depth 21 currmove a7a5 currmovenumber 9
info depth 21 currmove h7h6 currmovenumber 10
info depth 21 currmove e8f8 currmovenumber 11
info depth 21 currmove d8d7 currmovenumber 12
info depth 21 currmove c7c6 currmovenumber 13
info depth 21 currmove g7g6 currmovenumber 14
info depth 21 currmove d8e7 currmovenumber 15
info depth 21 currmove g8h6 currmovenumber 16
info depth 21 currmove g8f6 currmovenumber 17
info depth 21 currmove b8a6 currmovenumber 18
info depth 21 currmove d8g5 currmovenumber 19
info depth 21 currmove d8h4 currmovenumber 20
info depth 21 currmove g7g5 currmovenumber 21
info depth 21 currmove d8f6 currmovenumber 22
info depth 21 currmove f7f5 currmovenumber 23
info depth 21 currmove e8d7 currmovenumber 24
info depth 21 currmove d8d6 currmovenumber 25
info depth 21 currmove b7b5 currmovenumber 26
info depth 21 currmove f7f6 currmovenumber 27
info depth 21 currmove e8e7 currmovenumber 28
info depth 22 seldepth 29 multipv 1 score cp -57 nodes 6859493 nps 1045176 hashfull 998 tbhits 0 time 6563 pv g8e7 d1g4 e8f8 c1a3 b8d7 g1f3 h7h6 h2h4 c7c5 a3c5 d7c5 d4c5 e7c6 g4f4 d8a5 f4e3 c8d7 a2a4 c6e7 f3d4 a8c8 d4b3 a5c7 f1d3
info depth 23 currmove g8e7 currmovenumber 1
Assertion failed: count<Pt>(c) == 1, file ..\src\position.h
Sopel97 commented 1 year ago

You posted the engine output in "steps to reproduce"

MinetaS commented 1 year ago

The new GitHub Issues (Beta) is tricky، Update to Alpha

The template is straightforward. You should provide which commands you used to reach such failure. Engine output is additional information that is usually nice to have if present, but not required.

To assist you to resolve the issue, please give us more detailed information like:

PGG106 commented 1 year ago

Disabling asserts is never a good idea, especially if you don't know what they do and why they are there

vondele commented 1 year ago

no assert triggered here.

dav1312 commented 1 year ago

Stockfish 15.1 says info depth 1 seldepth 1 multipv 1 score cp -77 nodes 30 nps 15000 hashfull 0 tbhits 0 time 2 pv c7c5 not info depth 1 seldepth 1 multipv 1 score cp -21 nodes 28 nps 28000 tbhits 0 time 1 pv b8d7

PGG106 commented 1 year ago

Instead of making a repo called stockfish and then uploading all of stockfish code you could've just made a fork and committed the differences, avoiding other people the risk of running an unknown exe and most importantly manually diffing the 2 repos (and i really suggest doing this)

PGG106 commented 1 year ago

the problem is not tied to the piece values and it's not present in the untampered SF code. You broke something when you made your changes to the code, if you are unable to provide a diff of your repo and the SF repo ( you can literally do what i suggested before) the probability of you getting any help is pretty low.

peregrineshahin commented 1 year ago

Your exe provided is broken, probably build with Microsoft visual C++, and also the NNUE net is not embedded in the binary, Please mind that to build properly on windows it is probably better to follow these instructions https://github.com/glinscott/fishtest/wiki/Building-Stockfish-on-Windows Capture

PGG106 commented 1 year ago

Can confirm the issue is not reproducible on a freshly cloned (and correctly compiled) SF repo that only had the knight values changed, with and without nnue being active.

Sopel97 commented 1 year ago

MSVC is not supported. We cannot guaratnee correct compiles with it.

PGG106 commented 1 year ago

for completeness sake this is the truncated output (made just to show that the engine searches depth 23 without problems) of a correctly compiled SF with FishChess custom values and nnue turned off running on ubuntu 20.04 lts via WSL


Stockfish 15.1 by the Stockfish developers (see AUTHORS file)
setoption name Use NNUE value false
position fen rnbqk1nr/ppp2ppp/4p3/3pP3/3P4/2P5/P1P2PPP/R1BQKBNR b KQkq - 0 5
go depth 23
info string classical evaluation enabled
info depth 1 seldepth 1 multipv 1 score cp -36 nodes 28 nps 28000 hashfull 0 tbhits 0 time 1 pv b8c6
...
info depth 23 seldepth 31 multipv 1 score cp -31 nodes 6075975 nps 718030 hashfull 993 tbhits 0 time 8462 pv g8e7 d1g4 e8f8 g1f3 c7c5 d4c5 d8c7 f1d3 b8d7 e1g1 d7c5 c1a3 b7b6 g4g3 c8d7 c3c4 d5c4 d3c4 f8g8 a1d1 h7h6 a3c5 b6c5 g3f4 e7g6 f4e3 d7c6
bestmove g8e7 ponder d1g4`
Sopel97 commented 1 year ago

Use a different compiler, we don't support MSVC and it has issues.

MinetaS commented 1 year ago

Please read. https://github.com/official-stockfish/Stockfish/issues/4254#issuecomment-1340146180

Don't make a premature assumption unless you build SF with mingw and get the same result.

vondele commented 1 year ago

OK, so not an issue.

vondele commented 1 year ago

again, use an unmodified master code version, compiled with gcc and see if the issue persists. Otherwise the problem is probably on your side.

MSVC is not supported, unless you follow the recipe here https://github.com/official-stockfish/Stockfish/wiki/Compiling-from-source#microsoft-visual-studio you are almost certain to run in a problem with the toolchain.

PGG106 commented 1 year ago

@FishChess the code ran fine up to depth 36, furthermore there's no link between an assert on a bitboard and a piece value change and it's highly improbable the two are related. I highly suggest you use a proper fork and learn how to properly compile stockfish

As further proof that the issue isn't reproducible on a correctly compiled version of stockfish this is the truncated output up to depth 40

./Stockfish
Stockfish 15.1 by the Stockfish developers (see AUTHORS file)
setoption name Use NNUE value false
position fen rnbqk1nr/ppp2ppp/4p3/3pP3/3P4/2P5/P1P2PPP/R1BQKBNR b KQkq - 0 5
go depth 40
info string classical evaluation enabled
info depth 1 seldepth 1 multipv 1 score cp -36 nodes 28 nps 28000 hashfull 0 tbhits 0 time 1 pv b8c6
info depth 2 seldepth 2 multipv 1 score cp -36 nodes 107 nps 107000 hashfull 0 tbhits 0 time 1 pv b8c6
...
info depth 40 seldepth 44 multipv 1 score cp -14 nodes 310512059 nps 1895759 hashfull 1000 tbhits 0 time 163793 pv g8e7 d1g4 e8f8 c1a3 b7b6 h2h4 c8a6 f1d3 a6d3 c2d3 b8d7 a3e7 d8e7 g1f3 c7c5 e1g1 c5d4 c3d4 g7g6 a1c1 f8g7 c1c6 h8c8 f1c1 c8c6 c1c6 e7f8 g4f4 a8c8 c6c8
bestmove g8e7 ponder d1g4