RofChade and ponder

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

Moderators: hgm, Rebel, chrisw

ThatsIt
Posts: 991
Joined: Thu Mar 09, 2006 2:11 pm

RofChade and ponder

Post by ThatsIt »

Hi !

The engine crahes very often under the classic gui.
Not however under cutechess. But under Cutechess
i get nearly every game one or more messages:

"Warning: premature bestmove while pondering from RofChade".

Perhaps this is the reason why RofChade crahes @ classic giu ?!

Best wishes,
G.S.
(CEGT team)
User avatar
hgm
Posts: 27788
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: RofChade and ponder

Post by hgm »

In UCI a ponder search should never terminate (i.e. send bestmove) spontaneously. Not even if there is nothing more to search (e.g. because the position it ponders about is a mate in 1). It is OK to stop the actual search, but it should always wait for 'stop' or 'ponderhit' before printing the bestmove that results from it.

It sounds like RofChade does violate this demand. Do you get these messages only when a mate or other forced game end is approaching?
ThatsIt
Posts: 991
Joined: Thu Mar 09, 2006 2:11 pm

Re: RofChade and ponder

Post by ThatsIt »

Sounds logical.
And no, the message appears unsteady. Sometimes during the opening, sometimes during the midgame, but of course also near the end of a game.

Best wishes,
G.S.
(CEGT team)
User avatar
hgm
Posts: 27788
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: RofChade and ponder

Post by hgm »

That indeed is a bit strange. One would not expect there to be any reason to spontaneously terminate a ponder search if a forced game end is not in sight. It could be that some timeout is applied erroneously in the ponder search rather than just while thinking.
User avatar
Ronald
Posts: 160
Joined: Tue Jan 23, 2018 10:18 am
Location: Rotterdam
Full name: Ronald Friederich

Re: RofChade and ponder

Post by Ronald »

ThatsIt wrote: Mon Sep 16, 2019 3:17 pm Hi !

The engine crahes very often under the classic gui.
Not however under cutechess. But under Cutechess
i get nearly every game one or more messages:

"Warning: premature bestmove while pondering from RofChade".

Perhaps this is the reason why RofChade crahes @ classic giu ?!

Best wishes,
G.S.
(CEGT team)
Hi,

Does this happen with version 2.2 only, or also with version 2.1 ?
ThatsIt
Posts: 991
Joined: Thu Mar 09, 2006 2:11 pm

Re: RofChade and ponder

Post by ThatsIt »

Ronald wrote: Mon Sep 16, 2019 6:11 pm Does this happen with version 2.2 only, or also with version 2.1 ?
I will try it out tomorrow.

Best wishes,
G.S.
(CEGT team)
User avatar
Ronald
Posts: 160
Joined: Tue Jan 23, 2018 10:18 am
Location: Rotterdam
Full name: Ronald Friederich

Re: RofChade and ponder

Post by Ronald »

Thanks :!:
ThatsIt
Posts: 991
Joined: Thu Mar 09, 2006 2:11 pm

Re: RofChade and ponder

Post by ThatsIt »

Hi Ronald,

Unfortunately the same issue with version 2.1 @ Cutechess.

Output from Cutechess with RofChade 2.1 and ponder=on:

Code: Select all

D:\CutechessCLI100>cutechess-cli.exe -engine name="RofChade21" cmd="rofChade.exe" dir="D:\Cutechesscli100\Engines\RofChade21" option.Threads=1 option.Hash=256 proto=uci ponder -engine name="Fire71" cmd="Fire_7.1_x64_popcnt.exe" dir="D:\Cutechesscli100\Engines\Fire71x64" option.Threads=1 option.Hash=256 proto=uci ponder -each tc=0/300+3 -recover -concurrency 1 -ratinginterval 20 -tournament gauntlet -games 2 -rounds 50 -openings file="D:\Cutechesscli100\Vorgaben2019neue50erVol1.pgn" format=pgn order=sequential start=6 -pgnout "rof21vsfire.pgn" -repeat
Started game 1 of 100 (RofChade21 vs Fire71)
Warning: Premature bestmove while pondering from RofChade21
...

Output from Cutechess with RofChade 2.2 and ponder=on:

Code: Select all

D:\CutechessCLI100>cutechess-cli.exe -engine name="RofChade22" cmd="rofChade.exe" dir="D:\Cutechesscli100\Engines\RofChade22" option.Threads=1 option.Hash=256 proto=uci ponder -engine name="Fire71" cmd="Fire_7.1_x64_popcnt.exe" dir="D:\Cutechesscli100\Engines\Fire71x64" option.Threads=1 option.Hash=256 proto=uci ponder -each tc=0/300+3 -recover -concurrency 1 -ratinginterval 20 -tournament gauntlet -games 2 -rounds 50 -openings file="D:\Cutechesscli100\Vorgaben2019neue50erVol1.pgn" format=pgn order=sequential start=6 -pgnout "rof22vsfire.pgn" -repeat
Started game 1 of 100 (RofChade22 vs Fire71)
Warning: Premature bestmove while pondering from RofChade22
...

btw.:
both versions kill the Shredder Classic GUI regularly, sometimes after 3, sometimes after 10 games ...
Under Cutechess i get only the warning message and it goes on. But i don't know if this is the reason for the crahes under the Classic GUI ?!

With ponder=off RofChade runs rock solid @ Shredder Classic and Cutechess as well !

Best wishes,
G.S.
(CEGT team)
User avatar
Ronald
Posts: 160
Joined: Tue Jan 23, 2018 10:18 am
Location: Rotterdam
Full name: Ronald Friederich

Re: RofChade and ponder

Post by Ronald »

Thanks for testing this.

I have found a bug in 2.2 related to pondering... One of the changes in 2.2 is to stop searching if regular time is up and there is a fail high in the PVS search for the position. The code was already there but commented out a couple of months ago, so when I reactivated it, I only tested if it gained elo.. The problem is that it also stops when pondering or in analysis mode. This code was not active in 2.1 however and when I test it with cutechess-cli I still get the "Warning: Premature bestmove while pondering"message.
Here is an example of the output with the warning, I don't know why I get the message: (There are 2 engines: No2 and No3xxxxxxxxxxxxxxx, both are the same rofChade version)

Code: Select all

510036 >No2(0): position startpos moves e2e4 e7e5 f1c4 g8f6 b1c3 f6e4 d1h5 e4d6 h5e5 d8e7 e5e7 f8e7 c4e2 b7b6 g1f3 c8b7 e1g1 e8g8 d2d4 b8c6 c1f4 g7g5 f3g5 c6d4 e2d3 f7f5 c3e2 d4e2 d3e2 e7f6 c2c3 f8e8 f1e1 b7d5 g5h3 d5f7 f4d6 c7d6 e2d3 e8e5 e1d1 e5c5 d3f1 d6d5 h3f4 d7d6 g2g3 a8c8 f4e2 f7h5 d1d2 c8e8 e2d4 f6d4 d2d4 e8e4 d4d3 h5e2 f1e2 e4e2 b2b4 c5c8 a2a4 f5f4 a4a5 f4g3 d3g3 g8f7 g3h3 e2e4 h3h7 f7f6 a5a6 c8g8 g1f1 e4e7 h7h6 g8g6 h6g6 f6g6 a1d1 e7e5 b4b5 g6g5 d1d4 g5f6 h2h4 e5h5 f1g2 f6e6 g2g3 h5h7 d4g4 h7c7 g4g6 e6e5 g3g4 c7c4 g4g5 c4c3 f2f4 e5e4 g6e6 e4d4 e6d6 c3g3 g5f5 d4c5 d6d7 c5b5 d7a7 g3g8 h4h5 g8f8 f5g6 b5c6 h5h6 d5d4 a7e7 d4d3 e7e3 f8g8 g6f7 g8h8 a6a7 c6b7 e3d3 h8h6 d3d7 b7a8 f4f5 h6h3 f5f6 h3e3 f7g7 e3g3 g7f8 g3e3 f6f7 e3e1 d7e7 e1c1 f8e8
510052 >No2(0): isready
510052 <No2(0): readyok
510052 >No2(0): go ponder wtime 1165 btime 1060 winc 200 binc 200
510055 <No2(0): info score cp -31968 depth 10 seldepth 12 nodes 873 nps 873000 time 1 tbhits 0 pv c1c3 f7f8q c3c8 e8f7 c8f8 f7f8 b6b5 e7e5 a8b7 e5b5
510057 <No2(0): info score cp -31968 depth 11 seldepth 14 nodes 1158 nps 1158000 time 1 tbhits 0 pv c1c3 f7f8q c3c8 e8f7 c8f8 f7f8 b6b5 e7e5 a8b7 e5b5 b7a7
510060 <No2(0): info score cp -31968 depth 12 seldepth 14 nodes 1483 nps 1483000 time 1 tbhits 0 pv c1c3 f7f8q c3c8 e8f7 c8f8 f7f8 b6b5 e7e5 a8b7 e5b5 b7a7 b5b2
510064 <No2(0): info score cp -31968 depth 13 seldepth 16 nodes 1909 nps 1909000 time 1 tbhits 0 pv c1c3 f7f8q c3c8 e8f7 c8f8 f7f8 b6b5 e7e5 a8b7 e5b5 b7a7 b5b2 a7a6
510068 <No2(0): info score cp -31968 depth 14 seldepth 16 nodes 2455 nps 2455000 time 1 tbhits 0 pv c1c3 f7f8q c3c8 e8f7 c8f8 f7f8 b6b5 e7e5 a8b7 e5b5 b7a7 b5b2 a7a6 b2b1
510071 <No2(0): info score cp -31968 depth 15 seldepth 18 nodes 3410 nps 3410000 time 1 tbhits 0 pv c1c3 f7f8q c3c8 e8f7 c8f8 f7f8 b6b5 e7e5 a8b7 e5b5 b7a7 b5b2 a7a6 b2b1 a6a7
510075 <No2(0): info score cp -31968 depth 16 seldepth 18 nodes 4882 nps 2441000 time 2 tbhits 0 pv c1c3 f7f8q c3c8 e8f7 c8f8 f7f8 b6b5 e7e5 a8b7 e5b5 b7a7 b5b2 a7a6 b2b1 a6a7 f8e7
510079 <No2(0): info score cp -31964 depth 17 seldepth 20 nodes 10344 nps 3448000 time 3 tbhits 0 pv c1c3 f7f8q c3c8 e8f7 c8f8 f7f8 b6b5 e7e5 a8b7 e5b5 b7a7 b5b2 a7a6 b2b1 a6a7 f8e7 a7a6
510083 <No2(0): info score cp -31964 depth 18 seldepth 22 nodes 20464 nps 4092800 time 5 tbhits 0 pv c1c3 f7f8q c3c8 e8f7 c8f8 f7f8 b6b5 e7e5 a8b7 e5b5 b7a7 b5b2 a7a6 b2b1 a6a7 f8e7 a7a6 e7d6
510087 <No3xxxxxxxxxxxxxxx(1): info score cp 31971 depth 22 seldepth 33 nodes 261481 nps 4508293 time 58 tbhits 0 pv f8e8 b6b5 f7f8q c1c8 e8f7 c8f8 f7f8 b5b4 e7e4 b4b3 e4b4 a8a7 f8e7 a7a6 e7d6 a6a5 d6c5 b3b2 b4b2
510092 <No2(0): info score cp -31970 depth 19 seldepth 34 nodes 59756 nps 4268285 time 14 tbhits 0 pv c1c3 f7f8q c3c8
510094 <No3xxxxxxxxxxxxxxx(1): info score cp 31971 depth 23 seldepth 40 nodes 690631 nps 4635107 time 149 tbhits 0 pv f8e8 b6b5 f7f8q c1c8 e8f7 c8f8 f7f8 b5b4 e7e4 b4b3 e4b4 a8a7 f8e7
510098 <No3xxxxxxxxxxxxxxx(1): bestmove f8e8 ponder b6b5
510099 >No2(0): ponderhit
510100 >No3xxxxxxxxxxxxxxx(1): position startpos moves e2e4 e7e5 f1c4 g8f6 b1c3 f6e4 d1h5 e4d6 h5e5 d8e7 e5e7 f8e7 c4e2 b7b6 g1f3 c8b7 e1g1 e8g8 d2d4 b8c6 c1f4 g7g5 f3g5 c6d4 e2d3 f7f5 c3e2 d4e2 d3e2 e7f6 c2c3 f8e8 f1e1 b7d5 g5h3 d5f7 f4d6 c7d6 e2d3 e8e5 e1d1 e5c5 d3f1 d6d5 h3f4 d7d6 g2g3 a8c8 f4e2 f7h5 d1d2 c8e8 e2d4 f6d4 d2d4 e8e4 d4d3 h5e2 f1e2 e4e2 b2b4 c5c8 a2a4 f5f4 a4a5 f4g3 d3g3 g8f7 g3h3 e2e4 h3h7 f7f6 a5a6 c8g8 g1f1 e4e7 h7h6 g8g6 h6g6 f6g6 a1d1 e7e5 b4b5 g6g5 d1d4 g5f6 h2h4 e5h5 f1g2 f6e6 g2g3 h5h7 d4g4 h7c7 g4g6 e6e5 g3g4 c7c4 g4g5 c4c3 f2f4 e5e4 g6e6 e4d4 e6d6 c3g3 g5f5 d4c5 d6d7 c5b5 d7a7 g3g8 h4h5 g8f8 f5g6 b5c6 h5h6 d5d4 a7e7 d4d3 e7e3 f8g8 g6f7 g8h8 a6a7 c6b7 e3d3 h8h6 d3d7 b7a8 f4f5 h6h3 f5f6 h3e3 f7g7 e3g3 g7f8 g3e3 f6f7 e3e1 d7e7 e1c1 f8e8 b6b5
510116 >No3xxxxxxxxxxxxxxx(1): isready
510117 <No3xxxxxxxxxxxxxxx(1): readyok
510118 >No3xxxxxxxxxxxxxxx(1): go ponder wtime 1267 btime 1060 winc 200 binc 200
510120 <No3xxxxxxxxxxxxxxx(1): info score cp 31973 depth 10 seldepth 12 nodes 1479 nps 1479000 time 1 tbhits 0 pv f7f8q c1c8 e8f7 c8f8 f7f8 b5b4 e7e4 a8a7
510123 <No3xxxxxxxxxxxxxxx(1): info score cp 31973 depth 11 seldepth 12 nodes 1562 nps 1562000 time 1 tbhits 0 pv f7f8q c1c8 e8f7 c8f8 f7f8 b5b4 e7e4 a8a7 e4b4
510126 <No3xxxxxxxxxxxxxxx(1): info score cp 31973 depth 12 seldepth 12 nodes 1680 nps 1680000 time 1 tbhits 0 pv f7f8q c1c8 e8f7 c8f8 f7f8 b5b4 e7e4 a8a7 e4b4 a7a6
510130 <No3xxxxxxxxxxxxxxx(1): info score cp 31973 depth 13 seldepth 12 nodes 1847 nps 1847000 time 1 tbhits 0 pv f7f8q c1c8 e8f7 c8f8 f7f8 b5b4 e7e4 a8a7 e4b4 a7a6 f8e7
510133 <No3xxxxxxxxxxxxxxx(1): info score cp 31973 depth 14 seldepth 12 nodes 2140 nps 2140000 time 1 tbhits 0 pv f7f8q c1c8 e8f7 c8f8 f7f8 b5b4 e7e4 a8a7 e4b4 a7a6 f8e7 a6a5
510137 <No3xxxxxxxxxxxxxxx(1): info score cp 31973 depth 15 seldepth 13 nodes 2453 nps 2453000 time 1 tbhits 0 pv f7f8q c1c8 e8f7 c8f8 f7f8 b5b4 e7e4 a8a7 e4b4 a7a6 f8e7 a6a5 b4b8
510141 <No3xxxxxxxxxxxxxxx(1): info score cp 31973 depth 16 seldepth 13 nodes 2777 nps 2777000 time 1 tbhits 0 pv f7f8q c1c8 e8f7 c8f8 f7f8 b5b4 e7e4 a8a7 e4b4 a7a6 f8e7 a6a5 b4b8 a5a4
510145 <No3xxxxxxxxxxxxxxx(1): info score cp 31973 depth 17 seldepth 15 nodes 3260 nps 3260000 time 1 tbhits 0 pv f7f8q c1c8 e8f7 c8f8 f7f8 b5b4 e7e4 a8a7 e4b4 a7a6 f8e7 a6a5 b4b8 a5a4 e7d6
510149 <No3xxxxxxxxxxxxxxx(1): info score cp 31973 depth 18 seldepth 21 nodes 10272 nps 3424000 time 3 tbhits 0 pv f7f8q c1c8 e8f7 c8f8 f7f8 b5b4 e7e4 a8a7 e4b4 a7a6 f8e7 a6a5 b4b8 a5a4 e7d6 a4a3 d6c5 a3a2
510153 <No3xxxxxxxxxxxxxxx(1): info score cp 31973 depth 19 seldepth 24 nodes 23978 nps 4795600 time 5 tbhits 0 pv f7f8q c1c8 e8f7 c8f8 f7f8 b5b4 e7e4 a8a7 e4b4 a7a6 f8e7 a6a5
510157 <No3xxxxxxxxxxxxxxx(1): info score cp 31973 depth 20 seldepth 27 nodes 45504 nps 5056000 time 9 tbhits 0 pv f7f8q c1c8 e8f7 c8f8 f7f8 b5b4 e7e4 a8a7 e4b4 a7a6 f8e7 a6a5 b4b8 a5a4 e7d6 a4a3 d6c5 a3a2 b8b7 a2a3
510161 <No3xxxxxxxxxxxxxxx(1): info score cp 31973 depth 21 seldepth 29 nodes 113749 nps 4945608 time 23 tbhits 0 pv f7f8q c1c8 e8f7 c8f8 f7f8 b5b4 e7e4 a8a7 e4b4 a7a6 f8e7 a6a5 b4b8 a5a4 e7d6 a4a3 d6c5 a3a2 b8b7 a2a3 c5c4
510166 <No3xxxxxxxxxxxxxxx(1): info score cp 31973 depth 22 seldepth 38 nodes 439147 nps 5227940 time 84 tbhits 0 pv f7f8q c1c8 e8f7 c8f8 f7f8 b5b4 e7e4 a8a7 e4b4 a7a6 f8e7 a6a5 b4b8 a5a4 e7d6 a4a3 d6c5 a3a2 b8b7 a2a3 c5c4 a3a2
510171 <No2(0): info score cp -31968 depth 20 seldepth 46 nodes 978728 nps 5261978 time 186 tbhits 0 pv c1c3 f7f8q c3c8 e8f7 c8f8 f7f8 b6b5 e7e5 a8a7 e5b5 a7a6 b5h5 a6b6 f8e7 b6c6 h5g5 c6c7 g5c5 c7b7 e7d7
510175 <No2(0): bestmove c1c3 ponder f7f8q
510176 >No3xxxxxxxxxxxxxxx(1): stop
510177 >No2(0): position startpos moves e2e4 e7e5 f1c4 g8f6 b1c3 f6e4 d1h5 e4d6 h5e5 d8e7 e5e7 f8e7 c4e2 b7b6 g1f3 c8b7 e1g1 e8g8 d2d4 b8c6 c1f4 g7g5 f3g5 c6d4 e2d3 f7f5 c3e2 d4e2 d3e2 e7f6 c2c3 f8e8 f1e1 b7d5 g5h3 d5f7 f4d6 c7d6 e2d3 e8e5 e1d1 e5c5 d3f1 d6d5 h3f4 d7d6 g2g3 a8c8 f4e2 f7h5 d1d2 c8e8 e2d4 f6d4 d2d4 e8e4 d4d3 h5e2 f1e2 e4e2 b2b4 c5c8 a2a4 f5f4 a4a5 f4g3 d3g3 g8f7 g3h3 e2e4 h3h7 f7f6 a5a6 c8g8 g1f1 e4e7 h7h6 g8g6 h6g6 f6g6 a1d1 e7e5 b4b5 g6g5 d1d4 g5f6 h2h4 e5h5 f1g2 f6e6 g2g3 h5h7 d4g4 h7c7 g4g6 e6e5 g3g4 c7c4 g4g5 c4c3 f2f4 e5e4 g6e6 e4d4 e6d6 c3g3 g5f5 d4c5 d6d7 c5b5 d7a7 g3g8 h4h5 g8f8 f5g6 b5c6 h5h6 d5d4 a7e7 d4d3 e7e3 f8g8 g6f7 g8h8 a6a7 c6b7 e3d3 h8h6 d3d7 b7a8 f4f5 h6h3 f5f6 h3e3 f7g7 e3g3 g7f8 g3e3 f6f7 e3e1 d7e7 e1c1 f8e8 c1c3 f7f8q
510193 >No2(0): isready
510194 <No3xxxxxxxxxxxxxxx(1): info score cp 31973 depth 23 seldepth 39 nodes 459045 nps 5216420 time 88 tbhits 0 pv f7f8q c1c8 e8f7 c8f8 f7f8 b5b4 e7e4 a8a7 e4b4 a7a6 f8e7 a6a5 b4b8 a5a4 e7d6 a4a3 d6c5 a3a2 b8b7 a2a3 c5c4 a3a2 c4c3
510199 <No3xxxxxxxxxxxxxxx(1): bestmove f7f8q ponder c1c8
510200 >No3xxxxxxxxxxxxxxx(1): position startpos moves e2e4 e7e5 f1c4 g8f6 b1c3 f6e4 d1h5 e4d6 h5e5 d8e7 e5e7 f8e7 c4e2 b7b6 g1f3 c8b7 e1g1 e8g8 d2d4 b8c6 c1f4 g7g5 f3g5 c6d4 e2d3 f7f5 c3e2 d4e2 d3e2 e7f6 c2c3 f8e8 f1e1 b7d5 g5h3 d5f7 f4d6 c7d6 e2d3 e8e5 e1d1 e5c5 d3f1 d6d5 h3f4 d7d6 g2g3 a8c8 f4e2 f7h5 d1d2 c8e8 e2d4 f6d4 d2d4 e8e4 d4d3 h5e2 f1e2 e4e2 b2b4 c5c8 a2a4 f5f4 a4a5 f4g3 d3g3 g8f7 g3h3 e2e4 h3h7 f7f6 a5a6 c8g8 g1f1 e4e7 h7h6 g8g6 h6g6 f6g6 a1d1 e7e5 b4b5 g6g5 d1d4 g5f6 h2h4 e5h5 f1g2 f6e6 g2g3 h5h7 d4g4 h7c7 g4g6 e6e5 g3g4 c7c4 g4g5 c4c3 f2f4 e5e4 g6e6 e4d4 e6d6 c3g3 g5f5 d4c5 d6d7 c5b5 d7a7 g3g8 h4h5 g8f8 f5g6 b5c6 h5h6 d5d4 a7e7 d4d3 e7e3 f8g8 g6f7 g8h8 a6a7 c6b7 e3d3 h8h6 d3d7 b7a8 f4f5 h6h3 f5f6 h3e3 f7g7 e3g3 g7f8 g3e3 f6f7 e3e1 d7e7 e1c1 f8e8 c1c3
W510217 >No3xxxxxxxxxxxxxxx(1): isready
arning: Premature bestmove while pondering from No2
510218 <No2(0): readyok
510219 >No2(0): go ponder wtime 1267 btime 1173 winc 200 binc 200
510220 <No3xxxxxxxxxxxxxxx(1): readyok
510221 >No3xxxxxxxxxxxxxxx(1): go wtime 1267 btime 1173 winc 200 binc 200
510223 <No2(0): info score cp -31970 depth 10 seldepth 12 nodes 617 nps 617000 time 1 tbhits 0 pv c3c8 e8f7 c8f8 f7f8 b6b5 e7e5 a8a7 e5b5 a7a6 b5h5
510226 <No2(0): info score cp -31970 depth 11 seldepth 12 nodes 752 nps 752000 time 1 tbhits 0 pv c3c8 e8f7 c8f8 f7f8 b6b5 e7e5 a8a7 e5b5 a7a6 b5h5 a6b6
In the example No2 receives a go ponder command (time 510052), at 510099 it receives a ponderhit after which it sends a bestmove at 510175. At 510217 the Warning is given.

The thing is that I don't understand why I get this message, because everything seems correct. When I test another engine like Andscacs I never get the message. Because I don't have the Shredder GUI I don't know if this also is the reason for the crashes in Shredder.
ThatsIt
Posts: 991
Joined: Thu Mar 09, 2006 2:11 pm

Re: RofChade and ponder

Post by ThatsIt »

Hi Ronald,

i don't think that these messages are the reason for the crashes @ Shredder Classic. Fizbo produces tons of error-messages @ Cutechess, for example "illegal move in pv" and so on ... but runs rock solid @ Shredder Classic with ponder=off/on.

Best wishes,
G.S.
(CEGT team)