Fritz GUI accepted illegal move

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

Moderator: Ras

Jouni
Posts: 3754
Joined: Wed Mar 08, 2006 8:15 pm
Full name: Jouni Uski

Fritz GUI accepted illegal move

Post by Jouni »

[Event "Koivisto - Berserk"]
[Site "?"]
[Date "2023.02.28"]
[Round "8"]
[White "Berserk 11.1"]
[Black "Koivisto 9.2"]
[Result "0-1"]
[Annotator "0.50;0.99"]
[PlyCount "44"]
[TimeControl "60+1"]

1. d4 Nf6 2. Nf3 d5 3. e3 Bf5 4. c4
c6 5. Nc3 e6 6. Nh4 Bg4 7. Qb3 b6 8. h3 Bh5 {Both last book move} 9. g4 {0.50/
24 2} Ne4 {0.99/26 3} 10. Nxe4 {0.71/26 2} Qxh4 {0.95/26 2} 11. cxd5 {0.69/25 2
} exd5 {1.12/27 3} 12. gxh5 {0.70/25 2} Qxe4 {1.28/26 3} 13. Rg1 {0.66/25 2} g6
{0.90/24 1} 14. Bd2 {0.68/23 1} Nd7 {1.21/25 2 (Bh6)} 15. Rc1 {0.66/26 5} Qe6 {
0.97/24 2} 16. Qa4 {0.63/26 6} Nb8 {1.00/25 5} 17. b4 {0.74/28 5} Bd6 {1.52/25
5 (b5)} 18. b5 {1.36/22 1 (Bg2)} c5 {0.45/23 2} 19. dxc5 {1.49/22 2} bxc5 {0.
70/23 3} 20. Bc3 {1.46/24 1 (Qg4)} Nd7 {0.40/24 3 (Rg8)} 21. Bxh8 {4.28/20 1
(Be2)} O-O {-4.65/18 2 (c4)} 22. b6 {-4.48/23 7} Rae8 {-11.20/20 2} 0-1

Really weird game, which I can replay in GUI :D :o . I used buggy Koivisto, because I didn't notice any illegal move previously.
Jouni
JohnW
Posts: 403
Joined: Thu Nov 22, 2012 12:20 am
Location: New Hampshire

Re: Fritz GUI accepted illegal move

Post by JohnW »

What move was illegal? I don't see anything and I even had stockfish 15 analyze the game without issue.
Jouni
Posts: 3754
Joined: Wed Mar 08, 2006 8:15 pm
Full name: Jouni Uski

Re: Fritz GUI accepted illegal move

Post by Jouni »

Sorry forget. 21. - 0-0 ??? But already 20. - Nd7 ??
Jouni
JohnW
Posts: 403
Joined: Thu Nov 22, 2012 12:20 am
Location: New Hampshire

Re: Fritz GUI accepted illegal move

Post by JohnW »

Something is strange about that pgn, I can't paste it all into Fritz. It only includes up to 21. Bxh8.
But black wouldn't be able to castle short side with 21 ..o-o since the rook was just captured.
User avatar
Ajedrecista
Posts: 2164
Joined: Wed Jul 13, 2011 9:04 pm
Location: Madrid, Spain.

Re: Fritz GUI accepted illegal move.

Post by Ajedrecista »

Hello Jouni:
Jouni wrote: Wed Mar 01, 2023 10:05 pm [Event "Koivisto - Berserk"]
[Site "?"]
[Date "2023.02.28"]
[Round "8"]
[White "Berserk 11.1"]
[Black "Koivisto 9.2"]
[Result "0-1"]
[Annotator "0.50;0.99"]
[PlyCount "44"]
[TimeControl "60+1"]

1. d4 Nf6 2. Nf3 d5 3. e3 Bf5 4. c4
c6 5. Nc3 e6 6. Nh4 Bg4 7. Qb3 b6 8. h3 Bh5 {Both last book move} 9. g4 {0.50/
24 2} Ne4 {0.99/26 3} 10. Nxe4 {0.71/26 2} Qxh4 {0.95/26 2} 11. cxd5 {0.69/25 2
} exd5 {1.12/27 3} 12. gxh5 {0.70/25 2} Qxe4 {1.28/26 3} 13. Rg1 {0.66/25 2} g6
{0.90/24 1} 14. Bd2 {0.68/23 1} Nd7 {1.21/25 2 (Bh6)} 15. Rc1 {0.66/26 5} Qe6 {
0.97/24 2} 16. Qa4 {0.63/26 6} Nb8 {1.00/25 5} 17. b4 {0.74/28 5} Bd6 {1.52/25
5 (b5)} 18. b5 {1.36/22 1 (Bg2)} c5 {0.45/23 2} 19. dxc5 {1.49/22 2} bxc5 {0.
70/23 3} 20. Bc3 {1.46/24 1 (Qg4)} Nd7 {0.40/24 3 (Rg8)} 21. Bxh8 {4.28/20 1
(Be2)} O-O {-4.65/18 2 (c4)} 22. b6 {-4.48/23 7} Rae8 {-11.20/20 2} 0-1

Really weird game, which I can replay in GUI :D :o . I used buggy Koivisto, because I didn't notice any illegal move previously.
Please note not only the impossible O-O that you already noted after BxR, but also 22.- ..., Rae8 (implying more than one black rook OTB after the capture). A log of the game could be very useful, if available. I think that Arena GUI enables logs, but I do not know about Fritz GUI.

OTOH, 20.- ..., Nd7 makes sense if 20.- Qg4 is played, which was the expected move by Koivisto. Could it be a communication bug between the GUI and the engines? Each engine playing its own line since 19.- ..., bxc5: white (Berserk) playing 20.- Bc3 and black (Koivisto) playing from 20.- Qg4.

Does Koivisto 9.2 have perft function? It looks like, seeing the source code at GitHub, so a good idea could be run perft in the critical position, with divided perft if possible:

[d]r3k2B/p2n1p1p/3bq1p1/1Ppp3P/Q7/4P2P/P4P2/2R1KBR1 b q - 0 21

Or check if Koivisto 9.2 accepts the wrong FEN r3k2B/p2n1p1p/3bq1p1/1Ppp3P/Q7/4P2P/P4P2/2R1KBR1 b kq - 0 21 (intentionally adding the castle kingside flag).

Using qperft with the position before Bxh8, just to test a position with full black castling rights:

[d]r3k2r/p2n1p1p/3bq1p1/1Ppp3P/Q7/2B1P2P/P4P2/2R1KBR1 w kq - 2 21

Code: Select all

.\qperft>qperft 4 -4 "r3k2r/p2n1p1p/3bq1p1/1Ppp3P/Q7/2B1P2P/P4P2/2R1KBR1 w kq - 2 21"
 - - - - - - - - - - - -
 - - - - - - - - - - - -
 - - r . . . k . . r - -
 - - p . . n . p . p - -
 - - . . . b q . p . - -
 - - . P p p . . . P - -
 - - Q . . . . . . . - -
 - - . . B . P . . P - -
 - - P . . . . P . . - -
 - - . . R . K B R . - -
 - - - - - - - - - - - -
 - - - - - - - - - - - -

Quick Perft by H.G. Muller
Perft mode: No hashing, bulk counting in horizon nodes

[...]

3. c3h8 e8c8 moves =       1770 ( 0.001 sec)
3. c3h8 d5d4 moves =       1725 ( 0.001 sec)
3. c3h8 c5c4 moves =       1732 ( 0.000 sec)
3. c3h8 g6h5 moves =       1789 ( 0.001 sec)
3. c3h8 g6g5 moves =       1750 ( 0.000 sec)
3. c3h8 h7h6 moves =       1694 ( 0.001 sec)
3. c3h8 f7f6 moves =       1600 ( 0.002 sec)
3. c3h8 f7f5 moves =       1733 ( 0.001 sec)
3. c3h8 a7a6 moves =       1821 ( 0.001 sec)
3. c3h8 a7a5 moves =       1753 ( 0.000 sec)
3. c3h8 d7b8 moves =       1559 ( 0.001 sec)
3. c3h8 d7f8 moves =       1603 ( 0.001 sec)
3. c3h8 d7f6 moves =       1565 ( 0.000 sec)
3. c3h8 d7e5 moves =       1482 ( 0.001 sec)
3. c3h8 d7b6 moves =       1838 ( 0.000 sec)
3. c3h8 a8b8 moves =       1782 ( 0.001 sec)
3. c3h8 a8c8 moves =       1832 ( 0.001 sec)
3. c3h8 a8d8 moves =       1687 ( 0.000 sec)
3. c3h8 d6c7 moves =       2019 ( 0.001 sec)
3. c3h8 d6b8 moves =       1632 ( 0.001 sec)
3. c3h8 d6e5 moves =       1846 ( 0.000 sec)
3. c3h8 d6f4 moves =       1891 ( 0.001 sec)
3. c3h8 d6g3 moves =       1790 ( 0.000 sec)
3. c3h8 d6h2 moves =       1911 ( 0.001 sec)
3. c3h8 d6e7 moves =       1792 ( 0.001 sec)
3. c3h8 d6f8 moves =       1684 ( 0.000 sec)
3. c3h8 e6f6 moves =       1771 ( 0.001 sec)
3. c3h8 e6e7 moves =       1682 ( 0.001 sec)
3. c3h8 e6e5 moves =       1783 ( 0.000 sec)
3. c3h8 e6e4 moves =       2026 ( 0.003 sec)
3. c3h8 e6e3 moves =        126 ( 0.000 sec)
3. c3h8 e6f5 moves =       1985 ( 0.001 sec)
3. c3h8 e6g4 moves =       1965 ( 0.001 sec)
3. c3h8 e6h3 moves =       1931 ( 0.000 sec)
3. c3h8 e8f8 moves =       1714 ( 0.001 sec)
3. c3h8 e8d8 moves =       1706 ( 0.000 sec)
3. c3h8 e8e7 moves =       1726 ( 0.001 sec)
2. c3h8 moves =      63695 ( 0.028 sec)
[...]
c3h8 e8g8 is not here, of course.

Regards from Spain.

Ajedrecista.