Stockfish Abrok August 24 Engine Failure

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

Stephen Ham
Posts: 2488
Joined: Wed Mar 08, 2006 9:40 pm
Location: Eden Prairie, Minnesota
Full name: Stephen Ham

Stockfish Abrok August 24 Engine Failure

Post by Stephen Ham »

Hello all,

I've been a long-time user of Stockfish's free development iterations at the abrok website. I'm using the August 20 iteration presently - it works well. However, after downloading the latest August 24 version and converting it into a .uci engine, I got an engine failure error message.

I tried both the AVX2 and the modern computers versions, yet both generated the same engine errors, So, I then tried an earlier August 24 iteration, yet the same failure occurred.

Unfortunately there's no clear way to inform the Stockfish developers of this problem. They do have a Comment link where somebody also complained of the same error message. But that Comment site is so overloaded with garbage posts that I suspect the developers long ago stopped reading comments there. Hence I'm positing here.

Do you have the same issues? Is there a fix?

All the best,
-Steve-
zullil
Posts: 6442
Joined: Tue Jan 09, 2007 12:31 am
Location: PA USA
Full name: Louis Zulli

Re: Stockfish Abrok August 24 Engine Failure

Post by zullil »

It might help if you posted any error messages you received.
Andre
Posts: 98
Joined: Thu Jul 23, 2009 5:40 am

Re: Stockfish Abrok August 24 Engine Failure

Post by Andre »

I would try via the command line first... You'll get more details.
Maybe your antivirus is blocking it
Stephen Ham
Posts: 2488
Joined: Wed Mar 08, 2006 9:40 pm
Location: Eden Prairie, Minnesota
Full name: Stephen Ham

Re: Stockfish Abrok August 24 Engine Failure

Post by Stephen Ham »

zullil wrote: Tue Aug 25, 2020 12:06 am It might help if you posted any error messages you received.
Hi Louis,

There's nothing special regarding the error message. It's just a ChessProgram17 pop-up box following the engine crash after being loaded. It states:
"Stockfish 240820" caused an exception. This is a problem in the engine.

Then it cites my PC's OS and CPU/GPU specs etc.

FYI, I've also tried deleting, downloading, and creating the .uci engine all over again. Everything loads/works until the engine crashes upon attempting to run it. Again, this is not unique to me, since someone else posted this problem today at the abrok Comments site.

Thanks for your help, Louis.

-Steve-
zullil
Posts: 6442
Joined: Tue Jan 09, 2007 12:31 am
Location: PA USA
Full name: Louis Zulli

Re: Stockfish Abrok August 24 Engine Failure

Post by zullil »

Stephen Ham wrote: Tue Aug 25, 2020 12:31 am
zullil wrote: Tue Aug 25, 2020 12:06 am It might help if you posted any error messages you received.
Hi Louis,

There's nothing special regarding the error message. It's just a ChessProgram17 pop-up box following the engine crash after being loaded. It states:
"Stockfish 240820" caused an exception. This is a problem in the engine.

Then it cites my PC's OS and CPU/GPU specs etc.

FYI, I've also tried deleting, downloading, and creating the .uci engine all over again. Everything loads/works until the engine crashes upon attempting to run it. Again, this is not unique to me, since someone else posted this problem today at the abrok Comments site.

Thanks for your help, Louis.

-Steve-
Steve,

Not sure, but since Aug.20 Stockfish is set to use NNUE by default. So, an obvious question: Did you also download the .nnue file that goes with the Stockfish version you downloaded? If not, when you run Stockfish, it generates a message like this, and then terminates:

go infinite
info string ERROR: NNUE evaluation used, but the network file nn-82215d0fd0df.nnue was not loaded successfully.
info string ERROR: The UCI option EvalFile might need to specify the full path, including the directory/folder name, to the file.
info string ERROR: The default net can be downloaded from: https://tests.stockfishchess.org/api/nn ... fd0df.nnue
info string ERROR: If the UCI option Use NNUE is set to true, network evaluation parameters compatible with the program must be available.
info string ERROR: The engine will be terminated now.
Stephen Ham
Posts: 2488
Joined: Wed Mar 08, 2006 9:40 pm
Location: Eden Prairie, Minnesota
Full name: Stephen Ham

Re: Stockfish Abrok August 24 Engine Failure

Post by Stephen Ham »

Hi Louis,

The "default" NNUE file has not changed. It's still the same one I already use for the August 20 version that runs perfectly.

The order of events are:
1) First change the downloaded engine to a .uci engine
2) Run that new .uci engine
3) Establish parameters with the related NNUE bin file

However, step #2 fails. It does not even run, so I can't set up a Parameter file to connect it to the NNUE file. Again, I know how to set up Stockfish NNUE, as I've successfully done so with each new iteration. And, someone else also had the same problem today, pasting as such at the abrok Comments section.

I see that poster found a solution to his problem as he wrote: "I have found the problem. Use NNUE was wrong. Should not be on KR..." I don't know what that even means. Maybe his problem differs from mine, but his stated problem matched mine.

All the best,
-Steve-
tmokonen
Posts: 1296
Joined: Sun Mar 12, 2006 6:46 pm
Location: Kelowna
Full name: Tony Mokonen

Re: Stockfish Abrok August 24 Engine Failure

Post by tmokonen »

The error messages being printed seem to indicate that you haven't specified the full path to the NNUE file. Have you tried that?
zullil
Posts: 6442
Joined: Tue Jan 09, 2007 12:31 am
Location: PA USA
Full name: Louis Zulli

Re: Stockfish Abrok August 24 Engine Failure

Post by zullil »

Stephen Ham wrote: Tue Aug 25, 2020 2:41 am Hi Louis,

The "default" NNUE file has not changed. It's still the same one I already use for the August 20 version that runs perfectly.

The order of events are:
1) First change the downloaded engine to a .uci engine
2) Run that new .uci engine
3) Establish parameters with the related NNUE bin file

However, step #2 fails. It does not even run, so I can't set up a Parameter file to connect it to the NNUE file. Again, I know how to set up Stockfish NNUE, as I've successfully done so with each new iteration. And, someone else also had the same problem today, pasting as such at the abrok Comments section.

I see that poster found a solution to his problem as he wrote: "I have found the problem. Use NNUE was wrong. Should not be on KR..." I don't know what that even means. Maybe his problem differs from mine, but his stated problem matched mine.

All the best,
-Steve-
OK, I'll need to bow out here. But to help you get help---what chess GUI are you using? Is it Fritz 17? The specific steps (1)-(3) you describe are unfamiliar to me, as I rarely use any GUI and I don't run Windows.

Hope someone else can get you up and running. Seems to me that your issue must be related to the recent change in the default value for the "Use NNUE" option in Stockfish, from false to true.

In your working Stockfish, what value is set for Use NNUE? And what happens if you switch that to True and try to run Stockfish then?
User avatar
Guenther
Posts: 4605
Joined: Wed Oct 01, 2008 6:33 am
Location: Regensburg, Germany
Full name: Guenther Simon

Re: Stockfish Abrok August 24 Engine Failure

Post by Guenther »

Stephen Ham wrote: Tue Aug 25, 2020 2:41 am Hi Louis,

The "default" NNUE file has not changed. It's still the same one I already use for the August 20 version that runs perfectly.

This does not answer the question Steve. Until August 20 default for using NNUE was still FALSE.
If the August 20 compile runs for you in your GUI it does not mean it uses NNUE at all, only if you actively had set it to TRUE, which I doubt by your posts.

So the question remains, is the NNUE file in the same folder as the binary, where it should be now? Only if it is, the newer binaries will run at all!

You should still learn how to use a chess engine from cmd (commandline interface) though, thats very easy.
It is the fastest way to find basic errors in the setup, e.g. missmatched binaries (wrong hardware etc.) or missing files/dlls.

Just double click the exe file and type 'uci' then hit the enter key.
For general best usage type then (after the program answered with its uci options) 'ucinewgame',
'isready' (will be answered by 'readyok') and 'go infite' always hitting the enter key after each single command.

(note that ucinewgame/isready is not necessary for all programs, but giving all those commands I listed, it should work
for any uci program you'll ever meet!)

Edit: the example uses an abrok binary from August 20th, where you can see NNUE is set to FALSE
and it will start even if the NNUE file is missing in its folder unlike for August 24th versions.

Code: Select all

Stockfish 200820 by the Stockfish developers (see AUTHORS file) // SF tells its name and author(s)
uci // your first command
id name Stockfish 200820 // SF answers with ids + uci options
id author the Stockfish developers (see AUTHORS file)

option name Debug Log File type string default
option name Contempt type spin default 24 min -100 max 100
option name Analysis Contempt type combo default Both var Off var White var Black var Both
option name Threads type spin default 1 min 1 max 512
option name Hash type spin default 16 min 1 max 33554432
option name Clear Hash type button
option name Ponder type check default false
option name MultiPV type spin default 1 min 1 max 500
option name Skill Level type spin default 20 min 0 max 20
option name Move Overhead type spin default 10 min 0 max 5000
option name Slow Mover type spin default 100 min 10 max 1000
option name nodestime type spin default 0 min 0 max 10000
option name UCI_Chess960 type check default false
option name UCI_AnalyseMode type check default false
option name UCI_LimitStrength type check default false
option name UCI_Elo type spin default 1350 min 1350 max 2850
option name UCI_ShowWDL type check default false
option name SyzygyPath type string default <empty>
option name SyzygyProbeDepth type spin default 1 min 1 max 100
option name Syzygy50MoveRule type check default true
option name SyzygyProbeLimit type spin default 7 min 0 max 7
option name Use NNUE type check default false
option name EvalFile type string default nn-82215d0fd0df.nnue
uciok
ucinewgame // your second command
isready // your third command
readyok // SF answer
go infinite // your final command, which starts infinite analysing and if it does after this it will run in any GUI
info string classical evaluation enabled.
info depth 1 seldepth 1 multipv 1 score cp 109 nodes 20 nps 10000 tbhits 0 time 2 pv e2e3
info depth 2 seldepth 2 multipv 1 score cp 121 nodes 47 nps 15666 tbhits 0 time 3 pv e2e3 b7b6
info depth 3 seldepth 3 multipv 1 score cp 115 nodes 102 nps 34000 tbhits 0 time 3 pv e2e3 b7b6 g1e2
info depth 4 seldepth 4 multipv 1 score cp 59 nodes 492 nps 98400 tbhits 0 time 5 pv d2d4 e7e6 e2e3 d7d5
info depth 5 seldepth 5 multipv 1 score cp 71 nodes 916 nps 130857 tbhits 0 time 7 pv g1f3 e7e6 d2d4 b8c6
info depth 6 seldepth 6 multipv 1 score cp 92 nodes 1206 nps 150750 tbhits 0 time 8 pv g1f3 e7e6 d2d4 b8c6
info depth 7 seldepth 7 multipv 1 score cp 98 nodes 2514 nps 209500 tbhits 0 time 12 pv b1c3 e7e6 e2e4 b7b6
info depth 8 seldepth 8 multipv 1 score cp 117 nodes 3054 nps 234923 tbhits 0 time 13 pv b1c3 g8f6 g1f3 d7d5 d2d4 c8f5 e2e3
info depth 9 seldepth 12 multipv 1 score cp 75 nodes 10711 nps 396703 tbhits 0 time 27 pv e2e4 d7d5 e4d5 d8d5 b1c3 d5e6 d1e2 b8c6 g1f3 e6e2 f1e2 e7e6
info depth 10 seldepth 17 multipv 1 score cp 88 nodes 17685 nps 465394 tbhits 0 time 38 pv e2e4 e7e6 b1c3 b8c6 g1f3 d7d5 e4d5 e6d5 d1e2 f8e7
info depth 11 seldepth 17 multipv 1 score cp 101 nodes 32377 nps 530770 tbhits 0 time 61 pv e2e4 d7d5 e4d5 g8f6 c2c4 e7e6 b1c3 e6d5 d1e2 d8e7 c3d5
info depth 12 seldepth 18 multipv 1 score cp 85 nodes 96845 nps 597808 tbhits 0 time 162 pv d2d4 d7d5 e2e3 e7e6 g1f3 b8d7 c2c3 g8e7 f1d3 c7c5 e1g1
info depth 13 seldepth 18 multipv 1 score cp 62 nodes 188826 nps 609116 tbhits 0 time 310 pv d2d4 d7d5 c2c4 e7e6 b1c3 b8c6 c4d5 e6d5 e2e4 f8b4 e4e5 g8e7 g1f3
And here a current one from cmd: (diff bold and coloured)
Stockfish 240820 by the Stockfish developers (see AUTHORS file)
uci
id name Stockfish 240820
id author the Stockfish developers (see AUTHORS file)

option name Debug Log File type string default
option name Contempt type spin default 24 min -100 max 100
option name Analysis Contempt type combo default Both var Off var White var Black var Both
option name Threads type spin default 1 min 1 max 512
option name Hash type spin default 16 min 1 max 33554432
option name Clear Hash type button
option name Ponder type check default false
option name MultiPV type spin default 1 min 1 max 500
option name Skill Level type spin default 20 min 0 max 20
option name Move Overhead type spin default 10 min 0 max 5000
option name Slow Mover type spin default 100 min 10 max 1000
option name nodestime type spin default 0 min 0 max 10000
option name UCI_Chess960 type check default false
option name UCI_AnalyseMode type check default false
option name UCI_LimitStrength type check default false
option name UCI_Elo type spin default 1350 min 1350 max 2850
option name UCI_ShowWDL type check default false
option name SyzygyPath type string default <empty>
option name SyzygyProbeDepth type spin default 1 min 1 max 100
option name Syzygy50MoveRule type check default true
option name SyzygyProbeLimit type spin default 7 min 0 max 7
option name Use NNUE type check default true
option name EvalFile type string default nn-82215d0fd0df.nnue
uciok
ucinewgame
isready
readyok
go infinite
info string NNUE evaluation using nn-82215d0fd0df.nnue enabled.
info depth 1 seldepth 1 multipv 1 score cp 3 nodes 20 nps 10000 tbhits 0 time 2 pv d2d4
https://rwbc-chess.de

trollwatch:
Chessqueen + chessica + AlexChess + Eduard + Sylwy
Stephen Ham
Posts: 2488
Joined: Wed Mar 08, 2006 9:40 pm
Location: Eden Prairie, Minnesota
Full name: Stephen Ham

Re: Stockfish Abrok August 24 Engine Failure

Post by Stephen Ham »

Hello All,

I finally got Stockfish NNUE to work!

But first, I hereby thank those very kind people who took the time to try to help me. THANK YOU!

Those who mentioned that as of August 20, the Stockfish NNUE updates now have the USE NNUE box already checked were correct. That was the problem, although it took me awhile to see that this change affected me. After all, I always manually checked that box when establishing parameters. So why should the fact that it's now already checked change things? Well...it does. And the reason it adversely affected me is because of the chronological order of steps that I utilized to get Stockfish NNUE to run.

Before August 20, when the updated engine's default status had that NNUE box unchecked, my order of events were:
1) First convert the updated engine to a .uci engine
2) Switch to that new .uci engine, and then run it
3) Once running, establish parameters with the related NNUE bin file and then check the USE NNUE box. This converts the engine from conventional Stockfish to Stockfish NNUE, while also establishing the desired number of threads, etc.

But presently, with USE NNUE already checked as of August 20, step 2 should be modified to: Switch to that new .uci engine. Before running it, establish parameters linking the net/bin file to the engine.

This new/modified order of events would have worked previously too. But, I always ran the engine first before establishing parameters. Why? Well, if the new engine doesn't run properly, then why waste time establishing parameters?

That said, I got emails and calls from numerous others who also had the same problem. Again, see the Post at the abrok Comments site for yet another example of the same problem. For whatever reason, many of us did as I formerly did.

Now everything works fine by establishing Parameters before running the engine. I'm embarrassed at my failure here. But by going public with it, others with the same problem can now be helped. :-)

Thanks again everyone who tried to help me.

All the best,
-Steve-