konsolas / ToppleChess

UCI chess engine
MIT License
15 stars 4 forks source link

v0.6.0 illegal moves #21

Closed tpoppins closed 5 years ago

tpoppins commented 5 years ago

Three examples from an aborted 40/40 gauntlet. There were six more games like this, ending with the illegal move a1a1.

[Event "Topple 0.6.0 64-bit 40/40 Gauntlet"]
[Site "Dual E5-2690v2"]
[Date "2019.05.19"]
[Round "1"]
[White "Asymptote 0.5 64-bit"]
[Black "Topple 0.6.0 64-bit"]
[Result "1-0"]
[ECO "B24"]
[GameDuration "00:59:52"]
[GameEndTime "2019-05-19T18:01:42.429 Eastern Daylight Time"]
[GameStartTime "2019-05-19T17:01:50.000 Eastern Daylight Time"]
[Opening "Sicilian"]
[PlyCount "127"]
[Termination "illegal move"]
[TimeControl "40/1200"]
[Variation "Closed"]

1. e4 {book} c5 {book} 2. Nc3 {book} Nc6 {book} 3. g3 {book} g6 {book}
4. d3 {book} Bg7 {book} 5. Be3 {book} b6 {book} 6. Qd2 {book} Bb7 {book}
7. Bg2 {+0.10/14 23s} h5 {-0.27/20 29s} 8. h3 {+0.20/14 51s} a6 {-0.20/20 47s}
9. Bg5 {+0.22/14 44s} d6 {-0.12/22 34s} 10. Nf3 {+0.22/14 35s} Nf6 {0.00/22 30s}
11. O-O {+0.34/14 31s} b5 {0.00/22 103s} 12. a3 {+0.27/13 23s}
Nd7 {-0.08/22 78s} 13. Rab1 {+0.33/13 21s} Nf8 {0.00/20 31s}
14. Be3 {0.00/14 57s} Nd4 {-0.12/22 56s} 15. b4 {-0.02/12 21s}
Nxf3+ {+0.17/21 44s} 16. Bxf3 {-0.13/15 25s} cxb4 17. axb4 {-0.15/15 28s}
Qc8 {+0.01/23 90s} 18. Nd5 {0.00/15 24s} Bxd5 19. exd5 {+0.16/16 45s}
Qxh3 {0.00/23 28s} 20. Rfe1 {0.00/14 28s} Nd7 {+0.26/23 44s}
21. Bg5 {+0.24/14 19s} Bf6 {+0.23/22 39s} 22. Bxf6 {+0.24/15 37s}
Nxf6 {+0.45/22 82s} 23. Qc3 {+0.08/15 25s} Kf8 {+0.83/20 25s}
24. Rxe7 {0.00/17 33s} Kxe7 {+0.82/20 20s} 25. Re1+ {-0.43/17 61s}
Kf8 {+0.26/21 18s} 26. Qxf6 {-0.09/17 27s} Kg8 {+0.15/22 37s}
27. Re7 {-0.33/15 28s} Rh7 {+0.63/20 18s} 28. Qxd6 {-0.31/15 25s}
h4 {+0.72/19 17s} 29. Qe5 {-0.42/15 29s} Rf8 {+0.56/21 27s}
30. Re8 {-0.34/16 30s} hxg3 {+0.25/21 23s} 31. Rxf8+ {-0.40/16 35s} Kxf8
32. Qd6+ {-0.47/16 30s} Kg8 {+0.59/23 24s} 33. Qb8+ {-0.22/17 35s}
Kg7 {+0.61/22 20s} 34. Qe5+ {-0.15/16 29s} Kf8 {+0.71/22 30s}
35. Qd6+ {-0.16/16 36s} Ke8 36. Qc6+ {0.00/16 44s} Qd7 {+0.63/23 19s}
37. fxg3 {+0.02/17 55s} Qxc6 {+0.77/25 46s} 38. dxc6 {0.00/20 30s}
Ke7 {+0.63/24 36s} 39. Kf1 {-0.43/19 68s} f5 {+1.26/21 53s}
40. c4 {-0.83/19 68s} Kd6 {+1.75/20 27s} 41. Kf2 {-0.84/17 24s}
a5 {+1.40/21 26s} 42. c5+ {-0.70/18 27s} Ke5 {+0.43/22 90s}
43. Ke3 {-0.45/18 20s} axb4 {0.00/21 19s} 44. d4+ {+0.95/18 32s}
Kf6 {0.00/23 25s} 45. Kd3 {+0.39/16 21s} Ra7 {-0.99/22 86s}
46. d5 {+1.20/18 19s} Ra3+ {-3.39/18 19s} 47. Kd4 {+1.12/19 25s}
b3 {-4.11/21 20s} 48. Kc3 {+1.21/18 20s} b4+ {-3.95/21 23s}
49. Kb2 {+2.23/19 17s} Ra5 {-4.05/23 23s} 50. d6 {+2.36/20 22s}
Rxc5 {-3.98/23 28s} 51. Bd5 {+2.34/19 23s} Rxd5 {-3.85/22 27s}
52. c7 {+2.30/19 27s} Rxd6 {-3.80/21 28s} 53. c8=Q {+2.33/17 17s}
Rd2+ {-3.78/21 29s} 54. Kxb3 {+2.32/19 28s} Rd3+ 55. Kxb4 {+2.32/18 22s}
Rxg3 {-3.76/21 28s} 56. Qd8+ {+2.35/17 17s} Ke6 {-3.76/23 19s}
57. Qb6+ {+2.34/17 18s} Kd5 {-3.76/24 21s} 58. Qb7+ {+2.35/17 20s}
Kd4 {-3.76/22 42s} 59. Qc7 {+2.32/17 19s} Rg4 {-3.74/23 22s}
60. Qe7 {+2.32/16 28s} Re4 {-3.73/24 25s} 61. Qd6+ {+2.32/15 22s} Ke3+
62. Kc5 {+2.17/17 48s} f4 {-2.95/20 20s} 63. Qb6 {+2.32/18 22s}
Kf2 {-2.42/21 36s} 64. Qxg6 {+2.34/18 23s, Black makes an illegal move: a1a1}
1-0

[Event "Topple 0.6.0 64-bit 40/40 Gauntlet"]
[Site "Dual E5-2690v2"]
[Date "2019.05.19"]
[Round "1"]
[White "Topple 0.6.0 64-bit"]
[Black "Carballo 1.7 64-bit"]
[Result "0-1"]
[ECO "B24"]
[GameDuration "02:17:47"]
[GameEndTime "2019-05-19T19:19:38.744 Eastern Daylight Time"]
[GameStartTime "2019-05-19T17:01:50.773 Eastern Daylight Time"]
[Opening "Sicilian"]
[PlyCount "288"]
[Termination "illegal move"]
[TimeControl "40/1200"]
[Variation "Closed"]

1. e4 {book} c5 {book} 2. Nc3 {book} Nc6 {book} 3. g3 {book} g6 {book}
4. d3 {book} Bg7 {book} 5. Be3 {book} b6 {book} 6. Qd2 {book} Bb7 {book}
7. Bg2 {+0.28/21 31s} Nf6 {-0.04/21 48s} 8. Bh6 {+0.10/21 64s}
O-O {-0.14/20 46s} 9. Bxg7 {+0.37/21 62s} Kxg7 {-0.26/20 44s} 10. f4
d5 {-0.18/17 33s} 11. e5 {+0.69/22 38s} Ng4 {-0.48/18 27s} 12. h3
Nh6 {-0.60/19 38s} 13. Bxd5 {+0.65/21 30s} Qd7 {-0.60/19 34s}
14. Be4 {+0.62/23 46s} Nf5 {-0.59/19 37s} 15. Nge2 {+0.69/23 38s}
Ncd4 {-0.57/19 26s} 16. O-O-O {+0.69/22 38s} Rad8 {-0.69/18 35s}
17. g4 {+1.11/20 42s} Nxe2+ {-0.68/21 33s} 18. Qxe2 Nd4 {-0.98/17 16s}
19. Qf2 {+1.18/20 52s} Nb5 {-1.03/17 31s} 20. Ne2 {+1.11/22 50s}
Bxe4 {-1.02/18 30s} 21. dxe4 {+1.22/20 32s} Qc6 {-1.05/17 29s}
22. c4 {+1.35/22 37s} Nc7 {-1.06/17 20s} 23. Nc3 {+1.42/20 33s}
b5 {-1.06/17 27s} 24. f5 {+1.81/20 40s} bxc4 {-1.05/15 20s}
25. Rxd8 {+1.84/21 34s} Rxd8 {-1.25/16 11s} 26. Rf1 {+1.97/20 46s}
g5 {-1.05/16 25s} 27. h4 {+2.12/21 29s} Qh6 {-1.25/16 24s}
28. Qxc5 {+2.32/22 44s} gxh4+ {-1.40/18 23s} 29. Kb1 Qb6 {-1.65/18 22s}
30. Qxe7 {+2.25/21 30s} Rb8 {-1.88/16 14s} 31. Qg5+ {+2.31/21 36s}
Kh8 {-1.88/18 12s} 32. Qd2 {+2.33/23 54s} Nb5 {-1.88/17 14s}
33. e6 {+2.32/22 46s} fxe6 {-1.72/18 19s} 34. fxe6 {+2.27/21 49s}
Qxe6 {-1.57/17 19s} 35. Nxb5 {+2.33/21 44s} Rxb5 {-1.46/17 18s}
36. Qd4+ {+1.96/20 32s} Kg8 {-1.45/15 7.5s} 37. Rf5 {+2.00/20 24s}
Rxf5 {-1.23/16 9.4s} 38. gxf5 {+2.01/21 49s} Qb6 {-1.23/16 15s}
39. Qxc4+ {+2.37/18 12s} Kg7 {-1.21/15 16s} 40. Qc3+ {+2.40/20 18s}
Kh6 {-1.29/15 7.5s} 41. Qe1 {+1.53/18 23s} Kg5 {-0.87/15 36s}
42. Ka1 {+1.46/19 19s} Kg4 {-0.70/16 61s} 43. Qe2+ {+1.27/18 24s}
Kf4 {-0.70/17 28s} 44. a3 {+1.42/18 34s} Qf6 {-0.60/17 35s}
45. Qg2 {+1.07/17 20s} Qf7 {-0.60/18 41s} 46. Qh1 {+1.12/18 24s}
h3 {-0.62/19 55s} 47. Qxh3 {+1.21/19 31s} Kxe4 {-0.63/19 32s}
48. f6 {+0.76/18 26s} h5 {-0.63/18 51s} 49. Qf1 {+0.63/19 34s}
Ke5 {-0.70/18 34s} 50. Qf3 {+0.45/18 24s} h4 {-0.25/19 48s}
51. Qe3+ {+0.29/19 27s} Kf5 {-0.41/20 29s} 52. Kb1 {+0.19/21 42s}
Qxf6 {+0.53/15 43s} 53. Qxa7 {+0.01/21 30s} Qg6 {+0.53/15 19s}
54. Qe3 {0.00/23 28s} Kg4+ {+0.53/16 42s} 55. Ka2 {0.00/24 20s}
h3 {+0.54/16 21s} 56. Qg1+ {0.00/24 25s} Kh5 {+0.55/18 32s}
57. Qd1+ {0.00/26 25s} Qg4 {+0.56/19 39s} 58. Qd6 {0.00/28 33s}
Qg8+ {+1.83/20 35s} 59. Ka1 {0.00/29 27s} Qg1+ {+1.83/19 20s}
60. Ka2 {0.00/31 36s} Qg8+ {+1.83/20 24s} 61. Ka1 Qg1+ {+1.83/20 30s} 62. Ka2
h2 {+1.83/19 14s} 63. Qe5+ {0.00/29 26s} Kg4 {+1.83/20 32s}
64. Qe2+ {0.00/30 45s} Kg3 {+1.83/19 19s} 65. Qd3+ {0.00/31 28s}
Kf4 {+1.83/20 25s} 66. Qd6+ {0.00/31 36s} Ke4 {+1.83/19 29s}
67. Qc6+ {0.00/30 35s} Ke3 {+1.83/20 20s} 68. Qc3+ {0.00/31 43s}
Kf4 {+1.83/20 27s} 69. Qd2+ {0.00/31 30s} Ke5 {+1.83/20 26s}
70. Qe2+ {0.00/31 30s} Kd4 {+1.81/19 14s} 71. Qd2+ {0.00/32 36s}
Ke4 {+1.81/20 15s} 72. Qc2+ {0.00/31 45s} Kf4 {+1.81/20 17s}
73. Qd2+ {0.00/31 24s} Kf3 {+1.81/20 23s} 74. Qd3+ {0.00/32 26s}
Qe3 {+1.81/19 12s} 75. Qf5+ {0.00/31 47s} Qf4 {+1.81/19 10s}
76. Qh5+ {0.00/28 27s} Kf2 {+1.81/20 21s} 77. Qd5 {0.00/30 35s}
Qf3 {+1.81/19 11s} 78. Qd2+ {0.00/32 29s} Kg3 {+1.81/20 19s}
79. Qg5+ {0.00/34 54s} Kf2 {+1.81/21 17s} 80. Qd2+ {0.00/34 37s}
Kg3 {+1.81/21 19s} 81. Qg5+ {0.00/35 38s} Kh3 {+1.81/22 41s}
82. Qh6+ {0.00/35 32s} Kg2 {+1.55/21 64s} 83. Qg5+ {0.00/33 23s}
Qg3 {+0.66/21 37s} 84. Qd5+ {0.00/30 26s} Kf2 {+0.66/21 42s}
85. a4 {0.00/27 25s} Qf3 {+1.65/19 32s} 86. Qd2+ {0.00/31 33s}
Kg3 {+1.65/19 57s} 87. Qg5+ {0.00/32 38s} Kf2 {+1.57/20 31s}
88. Qc5+ {0.00/32 24s} Kg3 {+1.57/20 36s} 89. Qg5+ {0.00/33 34s}
Kh3 {+1.48/20 38s} 90. Qh6+ {0.00/32 29s} Kg2 {+1.48/21 47s}
91. Qg5+ {0.00/33 29s} Qg3 {+1.48/21 49s} 92. Qd5+ {0.00/30 22s}
Qf3 {+1.48/20 47s} 93. Qd2+ {0.00/32 23s} Kg1 {+1.47/21 45s}
94. Qe1+ {0.00/34 29s} Kg2 {+1.47/22 33s} 95. Qd2+ {0.00/34 29s}
Qf2 {+1.46/20 21s} 96. Qg5+ {0.00/29 24s} Kf1 {+1.47/20 28s}
97. Qc1+ {0.00/30 37s} Kg2 {+1.47/21 40s} 98. Qg5+ {0.00/32 25s}
Kf1 {+1.47/20 38s} 99. Qc1+ {0.00/33 23s} Qe1 {+1.46/20 21s}
100. Qc4+ {0.00/29 28s} Kg2 {+1.46/20 33s} 101. Qc2+ {0.00/30 41s}
Kh3 {+1.46/19 21s} 102. Qf5+ {0.00/30 21s} Kg3 {+1.46/20 19s}
103. Qg5+ {0.00/30 27s} Kf3 {+1.46/20 13s} 104. Qf5+ {0.00/31 40s}
Kg3 {+1.46/20 19s} 105. Qd3+ {0.00/29 30s} Kg4 {+1.46/20 32s}
106. Qd4+ {0.00/28 30s} Kf5 {+1.47/19 14s} 107. Qd5+ {0.00/27 28s}
Qe5 {+1.47/20 30s} 108. Qf3+ {0.00/27 46s} Qf4 {+1.47/19 22s}
109. Qh3+ {0.00/26 35s} Kg5 {+1.51/18 21s} 110. Qg2+ {0.00/26 25s}
Kh4 {+1.51/19 20s} 111. Kb1 {0.00/28 25s} Qg3 {+1.52/18 19s}
112. Qe4+ {0.00/29 29s} Kh3 {+1.51/19 18s} 113. Qh7+ {0.00/28 44s}
Kg2 {+1.51/20 20s} 114. Qc2+ {0.00/30 32s} Qf2 {+1.52/20 20s}
115. Qg6+ {0.00/31 38s} Kf1 {+1.52/20 11s} 116. Qd3+ {0.00/34 30s}
Kg1 {+1.52/20 11s} 117. Qg6+ {0.00/35 22s} Kf1 {+1.52/21 12s}
118. Qd3+ {0.00/35 35s} Kg1 {+1.44/20 22s} 119. Qg6+ {0.00/39 30s}
Qg2 {+1.45/20 21s} 120. Qb6+ {0.00/35 21s} Kf1 {+1.45/21 18s}
121. Qb5+ {0.00/33 26s} Qe2 {+1.45/22 38s} 122. Qf5+ {0.00/34 42s}
Ke1 {+1.45/21 37s} 123. Qa5+ {0.00/35 24s} Kf2 {+1.45/21 64s}
124. Qf5+ {0.00/31 30s} Ke1 {+1.45/21 34s} 125. Qa5+ {0.00/36 44s}
Kf2 {+1.35/21 60s} 126. Qf5+ {0.00/33 32s} Kg1 {+1.42/21 46s}
127. Qg5+ {0.00/31 23s} Qg2 {+1.42/22 29s} 128. Qe3+ {0.00/34 28s}
Qf2 {+1.35/23 55s} 129. Qg5+ {0.00/35 28s} Kf1 {+1.35/23 53s}
130. Qb5+ {0.00/33 22s} Kg1 {+1.25/24 51s} 131. Qg5+ {0.00/35 24s}
Kh1 {-0.09/26 22s} 132. Qe5 {0.00/30 24s} Qb6 {-0.09/24 48s}
133. Ka2 {0.00/28 22s} Kg2 {-0.09/20 46s} 134. a5 {0.00/29 25s}
Qg1 {+1.14/16 28s} 135. Qd5+ {0.00/28 27s} Kf2 {+1.15/17 29s}
136. Qd2+ {0.00/30 32s} Kf3 {+2.62/18 42s} 137. Qc3+ {0.00/30 25s}
Ke4 {+2.79/17 31s} 138. Qc2+ {0.00/29 27s} Kd5 {+2.77/17 28s}
139. Qf5+ {0.00/28 33s} Kc6 {+2.53/17 32s} 140. Qf3+ {0.00/28 27s}
Kb5 {+2.61/18 36s} 141. Qd5+ {0.00/29 36s} Kb4 {+2.61/17 19s}
142. Qb7+ {0.00/30 31s} Kxa5 {+2.73/17 34s} 143. b4+ {0.00/31 39s}
Ka4 {+3.92/19 28s} 144. Qc6+
Kxb4 {+3.92/19 26s, White makes an illegal move: a1a1} 0-1

[Event "Topple 0.6.0 64-bit 40/40 Gauntlet"]
[Site "Dual E5-2690v2"]
[Date "2019.05.19"]
[Round "2"]
[White "Topple 0.6.0 64-bit"]
[Black "Cheese 2.0 64-bit"]
[Result "0-1"]
[ECO "B24"]
[GameDuration "01:11:01"]
[GameEndTime "2019-05-19T21:03:58.988 Eastern Daylight Time"]
[GameStartTime "2019-05-19T19:52:57.091 Eastern Daylight Time"]
[Opening "Sicilian"]
[PlyCount "146"]
[Termination "illegal move"]
[TimeControl "40/1200"]
[Variation "Closed"]

1. e4 {book} c5 {book} 2. Nc3 {book} Nc6 {book} 3. g3 {book} g6 {book}
4. d3 {book} Bg7 {book} 5. Be3 {book} b6 {book} 6. Qd2 {book} Bb7 {book}
7. Bg2 {+0.28/21 32s} h6 {-0.42/20 65s} 8. Nge2 {+0.46/21 90s} a6 {-0.43/20 58s}
9. h3 {+0.44/20 32s} e6 {-0.29/20 61s} 10. d4 {+0.86/20 35s} d6 {-0.54/20 56s}
11. O-O-O {+0.60/19 33s} Nge7 {-0.59/20 40s} 12. dxc5 {+0.67/21 55s}
dxc5 {-0.51/22 42s} 13. b3 {+0.52/23 71s} Qxd2+ {-0.34/19 31s}
14. Rxd2 {+0.48/20 17s} Rd8 {-0.35/22 27s} 15. Rhd1 {+0.44/23 41s}
Rxd2 {-0.38/22 33s} 16. Rxd2 {+0.47/23 23s} Ne5 {-0.43/22 35s}
17. a4 {+0.35/21 40s} Nd7 {-0.21/19 20s} 18. f4 {+0.41/21 26s}
Rg8 {-0.18/20 31s} 19. Bf2 {+0.34/21 50s} g5 {-0.03/21 23s}
20. Bf3 {+0.21/22 22s} Ng6 {0.00/22 32s} 21. Bh5 {+0.25/23 32s}
gxf4 {0.00/20 20s} 22. gxf4 {+0.19/22 24s} Bxc3 {-0.05/20 33s}
23. Nxc3 {+0.34/22 34s} Nf6 {0.00/22 24s} 24. Bxg6 Rxg6 {-0.12/24 24s} 25. Bh4
Rg1+ {-0.10/25 34s} 26. Kb2 {+0.28/23 45s} Nd7 {-0.16/25 28s} 27. Rd6
Rh1 {0.00/25 22s} 28. Rd3 {+0.18/22 44s} c4 {-0.09/21 25s}
29. bxc4 {+0.26/22 32s} Rf1 {-0.23/22 27s} 30. f5 {+0.33/23 28s}
exf5 {-0.07/23 36s} 31. exf5 {+0.11/22 26s} Rxf5 {0.00/21 26s}
32. Bg3 {0.00/20 26s} Rf6 {0.00/21 39s} 33. Nd5 {+0.05/21 40s} Rc6 {0.00/22 38s}
34. Rd4 {0.00/21 30s} Nc5 {0.00/22 39s} 35. Ka3 {+0.07/23 49s} f5 {-0.20/20 39s}
36. Bh2 {+0.03/22 33s} Bc8 {0.00/20 29s} 37. Rh4 {0.00/22 53s}
Ne4 {-0.02/21 29s} 38. Bf4 {0.00/24 49s} Rxc4 {-0.02/22 35s} 39. Rxh6
Rxc2 {0.00/21 36s} 40. Rxb6 {0.00/24 44s} Kf7 {0.00/20 31s}
41. Be3 {0.00/26 32s} a5 {0.00/19 19s} 42. h4 {0.00/26 31s} Rh2 {0.00/19 28s}
43. Rb5 {0.00/25 32s} Rxh4 {0.00/20 28s} 44. Rxa5 {+0.27/22 25s}
Rh1 {0.00/20 31s} 45. Nf4 {+0.15/19 29s} Rd1 {0.00/18 24s}
46. Ra7+ {+0.44/20 25s} Kf6 {-0.12/19 32s} 47. a5 {+0.58/21 32s}
Ke5 {-0.17/19 32s} 48. Kb2 {+0.63/22 24s} Rd6 {-0.25/19 32s}
49. Re7+ {+0.60/22 23s} Kf6 {-0.07/21 21s} 50. Rh7 {+0.58/22 25s}
Ke5 {-0.07/22 32s} 51. Re7+ {+0.57/22 39s} Kf6 {0.00/34 21s} 52. Re8
Ba6 {-0.07/20 26s} 53. Ka3 {+0.61/23 43s} Bb5 {-0.09/18 24s}
54. Rb8 {+0.60/22 35s} Bf1 {-0.19/19 29s} 55. Re8 {+0.62/22 31s}
Bb5 {0.00/21 23s} 56. Rf8+ {+0.61/23 32s} Ke5 {-0.18/22 33s} 57. Kb4
Bf1 {-0.18/19 21s} 58. Re8+ {+0.60/23 42s} Kf6 {-0.18/21 29s} 59. Kb3
Ba6 {-0.14/19 26s} 60. Kb4 {+0.66/21 30s} Bf1 {0.00/26 24s}
61. Rg8 {+0.65/21 102s} Ke5 {-0.14/19 32s} 62. Ng6+ {+0.53/22 23s}
Ke6 {-0.05/19 32s} 63. Rb8 {+0.34/20 25s} Nf6 {-0.11/19 35s}
64. Bh6 {+0.24/19 35s} Rd4+ {0.00/18 30s} 65. Kc3 {0.00/20 40s}
Rc4+ {0.00/19 36s} 66. Kb3 {0.00/22 35s} Nd5 {0.00/18 27s} 67. a6 {0.00/23 26s}
Rc7 {0.00/18 27s} 68. Nf4+ {0.00/24 22s} Nxf4 {+1.31/22 37s}
69. Bxf4 {0.00/27 32s} Ra7 {+1.37/23 31s} 70. Rb6+ {0.00/28 29s}
Kd5 {+1.61/22 37s} 71. Rf6 {0.00/31 36s} Ke4 {+1.65/24 28s}
72. Bb8 {0.00/34 31s} Rxa6 {+1.65/25 28s} 73. Rxa6 {0.00/38 33s}
Bxa6 {+1.65/40 24s, White makes an illegal move: a1a1} 0-1

The test had to be aborted anyway since I screwed up the book settings and all 300+ games were played using the same B24 line.

The error appears to be related to Syzygy access. I have Topple (the Westmere exec) set up to access the 5-men set in e:\345. This box is an IvyBridge 20-core E5-2690v2 running Win 7 x64 Pro SP1. The illegal move appears to occur every time a 5-men TB position is reached.

When I attempted to reproduce this via FEN or PGN I disovered to my surprise that I cannot -- Topple makes a normal move. However, I don't get any tbhits either (i.e. I get tbhits 0), despite Topple reporting that it finds 145 tablebases on startup. Bizarre!

This bug is somewhat similar to that in recent versions of The Baron. The author only used the 6-men Syzygy set in his tests, which I never use out of speed considerations. So with the 5-men set The Baron made illegal moves; with the 6-men set the problem went away.

Does the UCI option SyzygyResolve have any bearing on this? What does it do, anyway? This should be documented in a readme, methinks.

I'll restart the test from scratch with the proper book settings and keep you posted if I manage to capture a debug log.

Tirsa@CCRL

Matthies commented 5 years ago

I can confirm what Tirsa believes. I also had an illegal move from Topple today when entering 6-piece board but using only 5-men tablebase. Here are the related lines in Arena log:

... 2019-05-21 12:36:32,240-->2:position startpos moves d2d4 g8f6 c2c4 d7d6 b1c3 e7e5 d4e5 d6e5 d1d8 e8d8 g1f3 b8d7 h1g1 h7h6 g2g4 e5e4 f3d4 d7e5 g4g5 h6g5 c1g5 c8d7 c3e4 f8b4 e1d1 b4e7 e4f6 g7f6 g5f4 e5c4 b2b3 e7d6 f4g3 d6g3 h2g3 c4d6 e2e3 c7c5 d4e2 a7a5 e2c3 a5a4 b3a4 d7a4 d1e2 a4c6 f1g2 a8a3 c3b1 c6b5 e2f3 a3d3 a2a4 b5c4 g1c1 d3d5 g3g4 d5g5 b1d2 c4e6 f3e2 e6g4 g2f3 g4f3 d2f3 g5d5 a4a5 d6e4 a1a2 d8c7 f3d2 e4d2 a2d2 d5d2 e2d2 h8d8 d2e2 c7d6 c1b1 d8d7 e2d2 d6d5 d2c3 d7e7 b1d1 d5c6 d1b1 f6f5 b1b2 b7b5 a5b6 e7b7 f2f3 b7b6 b2h2 c6b5 h2b2 b5c6 b2h2 b6a6 h2h7 f7f6 h7h5 f5f4 h5f5 a6a3 c3b2 a3e3 f5f6 c6d5 f6f5 d5c6 f5f6 c6d7 f6f4 2019-05-21 12:36:32,241-->2:go wtime 3344 btime 46549 winc 1000 binc 1000 2019-05-21 12:36:32,244<--2:bestmove 0000 2019-05-21 12:36:32,2442---------> Arena:Illegaler Zug!: "0000" (Feinprüfung)

konsolas commented 5 years ago

Thanks for finding this.

How does v0.6.1 work for you?

tpoppins commented 5 years ago

Not so well.

At the moment I'm running a 40/4 gauntlet for v0.6.1, primarily to determine if we could avoid testing it separately at 40/40 since it's supposed to be mostly a bugfix. I observe games that reach 5-men TB positions and terminate normally without Topple generating illegal moves, yet in the tournament PGN eight games out of 389 still feature aborts due to that same illegal a1a1 move. All eight are in the attached PGN. Some of them enter 5-men TB positions without incident and go on for quite a few moves before the error strikes.

Setup: 16-core E5-2670 (SandyBridge) 32 GB RAM, HT off Win 7 x64 Pro SP1 Cute Chess 1.0.1 2019-04-27 concurrency=14 SyzygyPath=e:\345 (5-men on SSD)

topple-061-illegal-moves.zip

tpoppins commented 5 years ago

2) Another observation: upon reaching 5-men TB positions Topple starts reporting tbhits 0. Is this the intended behavior?

3) I must reiterate my questions about the UCI option SyzygyResolve: what does it do, what is it for? Supposing for a moment that I had to use v0.6.0 and v0.6.1 in some future tests: could changing the value of this option from the default 512 help minimize the number of games lost due to illegal moves?

4) As before, the exec used is the Westmere one.

tpoppins commented 5 years ago

Two 1000-games blitz gauntlets have been completed, one each for v0.6.0 and for v0.6.1. They performed within 2 Elo of each other, with +/-18 Elo error margins. 24 games terminated with the illegal move a1a1 in one test, 22 in the other.

konsolas commented 5 years ago

2: Yes, topple is supposed to stop probing tablebases during search once a TB position is reached. Tablebases are probed once at root, and then again after searching as required by SyzygyResolve.

3: SyzygyResolve is used to play out a DTZ-optimal mating line to send to the GUI as a PV. The maximum playout length is the value of the option. This is currently documented in README.md as of the 0.6.0 update.

I doubt that disabling it would affect anything, because if it fails, it simply defaults to returning the original PV from search, though it might be worth a shot.

Unfortunately, I haven't had much time recently to review my syzygy code recently. What will probably happen is that I'll swap out the whole thing for Fathom in the next update.

konsolas commented 5 years ago

@tpoppins I've found what I believe to be the issue (moving from hash), and corrected this in 0.7.0.

I haven't seen any illegal moves after 200 games with 5-piece tablebases. Please tell me if this works for you.

tpoppins commented 5 years ago

A 1000-game 40/4 gauntlet is completed today -- zero abnormal terminations. Looks like you nailed the issue at last, Vincent! A decent 20 Elo gain over v0.6.1, according to Ordo, too. Will probably be less on our blitz list as it uses BayesElo rather than Ordo, still this is good news in every respect.

Funny it took so many versions for this issue to surface, eh? I hope we won't see another a1a1 error ever again -- third time is a charm, no? :)