H.G.Muller wrote:OK, I solved the problem as follows:
Verify Claims can now be turned on even when Detect Mates is off. (Of course Legality Testing still has to be on.) Even when DM is off, WinBoard tests if a move results in a mate after every move, but if it is, and DM was off, it just rembers the result (checkmate or stalemate) with the position (in the variable where it normally remembers e.p. status), just like it remembers if there is a 50-move, 3-fold-rep or insufficient-mating-material condition. When an engine claims, and VC is on, the claim is then checked against this remembered result, and changed into a loss when the claim turns out to be false.
After this whole process, when the result is not a draw, the pieces of the alleged winner are counted. If the count is <= 1, the result is corrected to draw. WinBoard will append the words "but bare king" to the result-details message. This happens even when legality testing is off, and not just to engine claims, but also to xboard adjudictions. But only if VC is on.
So in the Romi case, we would get the message:
{False draw claim: 'we are all out of ammo' but bare king} 1/2-1/2
When white would have claimed, however, it would remain a loss. Similarly you could get
{white loses on time, but bare king} 1/2-1/2
{engine 'buggy.exe' exited unexpectedly but bare king} 1/2-1/2
{black resigned but bare king} 1/2-1/2
The improved executable is hidden in the
usual place.
Can you check again on this, I got one case here where white wins on time but has only a king. The adjudication was wrong, it gave the win to white. I use Winboard 4.3.15c.
[diag]8/8/8/8/5b2/8/4k2p/7K b - - 87 153 [/diag]
Deuterium 08.01.26.270-5-Neurosis 2.4
Black to play
Black overstepped the time limit here. Black played f4d6 based from debug below.
Please be noted that other adjudication by this new winboard version is correct, like I have one here, Black wins on time but bare king.
SOME PARTS OF DEBUG FILE:
Interrupting second
714922 >second: time 23
714922 >second: otim 4686
714922 >second: g2h1
715016 <second: Found usermove : Kh1
715063 <second: Legal moves: 18 Static score: 313
715063 <second: Ply Score Time Nodes Best move and expected line
715063 <second: ------------------------------------------------------------
715063 <second: 2 313 0 26 Bd6 Kg2 Ke1 Kh1 Bb8 Kg2 Bd6
715078 <second: 3 313 0 75 Bd6 Kg2 Ke1 Kh1 Bb8 Kg2 Bd6
715078 <second: Total nodes:347 n/sec:347 (q-nodes:1% max depth:4)
715094 <second: move f4d6
machine move 305, castling = -1 -1 -1 7 -1 -1
move to parse: f4d6
7 0 4 7 0 4 Legality test? f4d6
-1 -1 -1 7 -1 -1 Legality test? f4d6
(-1,0) (-1,0) (-1,0) (7,7) (-1,7) (-1,7) castling rights
GameEnds(37, White wins on time, 4)
GameEnds(37, White wins on time, 4) clock stopped
GameEnds(37, White wins on time, 4) bare king k=64 color=0
GameEnds(37, White wins on time, 4) after test
times = 59937 60000 60000 60000, seconds=0
....
....
715328 >first : result 1-0 {White wins on time}
Interrupting second
715328 >second: result 1-0 {White wins on time}
715328 >first : quit
715328 >second: force
COMPLETE GAME RECORD:
[Event "nts2006, t47, g1+1"]
[Site "VIVELEROI"]
[Date "2008.08.24"]
[Round "13"]
[White "Deuterium 08.01.26.270-5"]
[Black "Neurosis 2.4"]
[Result "1-0"]
[TimeControl "1000/60"]
[Annotator "19. +0.14 18... +0.08"]
1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 d6 8.
c3 O-O 9. h3 Na5 10. Bc2 c5 11. d4 Qc7 12. Nbd2 cxd4 13. cxd4 Nc6 14. Nb3
a5 15. Be3 a4 16. Nbd2 Bd7 17. Rc1 Qb7 18. d5 {+0.57/2 0} Nb4 {+0.08/7 0}
19. Bb1 {+0.14/4 0} Rfc8 {-0.08/7 0} 20. Rc3 {+0.14/2 0} Na6 {-0.08/6 0}
21. Qc1 {+0.36/2 0} Rxc3 {+0.03/6 0} 22. bxc3 {-0.10/4 0} Rc8 {+0.00/6 0}
23. Qb2 {-0.15/3 0} Qc7 {-0.05/6 0} 24. Bd3 {-0.04/3 0} Qxc3 {+1.02/6 0}
25. Qxc3 {-1.31/4 0} Rxc3 {+1.08/6 0} 26. Bf1 {-1.33/4 0} Nc5 {+1.24/6 0}
27. Rb1 {-1.26/3 0} Nfxe4 {+1.24/7 0} 28. Bxb5 {-0.93/4 0} Nxd2 {+1.17/7 0}
29. Bxd2 {-0.82/5 0} Bf5 {+1.18/7 0} 30. Rb2 {-0.70/5 0} Rc2 {+1.20/8 0}
31. Rxc2 {-0.69/5 0} Bxc2 {+1.19/6 0} 32. Kf1 {-0.86/6 0} Be4 {+1.22/7 0}
33. Bc6 {-0.84/5 0} Ne6 {+1.37/7 0} 34. a3 {-1.06/4 0} Nc7 {+1.42/8 0} 35.
Bxa4 {-1.02/5 0} Bxd5 {+1.46/8 0} 36. Bd7 {-1.04/6 0} Bxf3 {+1.57/8 0} 37.
gxf3 {-0.73/6 0} d5 {+1.54/8 0} 38. a4 {-0.82/6 0} Bd6 {+1.50/8 1} 39.
a5 {-0.51/5 0} d4 {+1.52/7 0} 40. Ke2 {-0.49/5 0} Kf8 {+1.50/7 1} 41.
Kd3 {-0.49/5 0} Ke7 {+1.50/7 0} 42. Bc6 {-0.51/5 0} Ne6 {+1.47/8 0} 43.
f4 {-0.43/5 0} exf4 {+1.37/8 0} 44. Bd5 {-0.59/5 0} Bc5 {+1.33/8 0} 45.
a6 {-0.61/5 0} g5 {+1.58/7 0} 46. Be4 {-0.77/5 0} h6 {+1.62/7 0} 47.
Bd5 {-0.68/5 0} Bb6 {+1.63/7 0} 48. Be1 {-0.83/4 0} Nc5+ {+2.06/7 0} 49.
Kxd4 {-0.79/5 0} Nxa6+ {+2.00/7 0} 50. Ke5 {-0.90/6 0} Bc5 {+2.05/7 0} 51.
f3 {-1.09/5 0} Bd6+ {+1.93/7 0} 52. Kf5 {-0.91/7 0} Bb4 {+1.86/9 0} 53.
Bf2 {-0.99/7 0} Bc5 {+1.86/9 0} 54. Be1 {-1.18/7 0} Nc7 {+1.99/8 0} 55.
Bc4 {-1.16/6 0} Ne8 {+1.45/8 0} 56. Ke5 {-1.05/6 0} Bd6+ {+1.47/8 0} 57.
Ke4 {-0.96/6 0} Nf6+ {+1.77/7 0} 58. Kf5 {-1.00/6 0} Nh5 {+1.47/8 0} 59.
Ke4 {-0.98/6 0} Ng3+ {+1.49/8 0} 60. Kd3 {-1.06/6 0} f5 {+1.99/7 0} 61.
Bc3 {-1.10/5 0} h5 {+2.06/8 0} 62. Bd5 {-1.24/6 0} g4 {+2.08/7 0} 63.
h4 {-1.19/5 0} Nf1 {+2.48/7 0} 64. Bd4 {-2.06/6 0} Nh2 {+2.53/8 0} 65.
Ke2 {-1.84/6 0} Nxf3 {+2.60/10 0} 66. Bxf3 {-1.96/6 0} gxf3+ {+2.57/9 0}
67. Kf2 {-2.11/7 0} Ke6 {+2.58/9 0} 68. Kxf3 {-2.11/7 0} Be7 {+2.58/8 0}
69. Bf2 {-1.96/7 0} Bd6 {+2.55/9 0} 70. Bd4 {+0.00/10 0} Be5 {+2.58/9 0}
71. Bc5 {-2.09/8 0} Bf6 {+2.55/9 0} 72. Bf2 {-1.67/8 0} Ke5 {+2.46/9 0} 73.
Be1 {-1.81/8 0} Be7 {+2.58/10 0} 74. Bc3+ {-2.11/8 0} Ke6 {+2.58/9 0} 75.
Be1 {-2.11/8 0} Ke5 {+2.48/10 0} 76. Bc3+ {+0.00/10 0} Ke6 {+1.27/9 0} 77.
Be1 {+0.00/10 0} Bd6 {+1.28/9 0} 78. Bd2 {-2.11/8 0} Bc7 {+1.37/9 0} 79.
Bb4 {-2.11/9 0} Bd8 {+2.55/9 0} 80. Be1 {-1.59/7 0} Bc7 {+1.37/9 0} 81.
Bb4 {+0.00/11 0} Be5 {+1.37/9 0} 82. Bc5 {+0.00/11 0} Bf6 {+1.50/9 0} 83.
Bf2 {+0.00/11 0} Ke5 {+1.34/9 0} 84. Be1 {+0.00/12 0} Bd8 {+1.24/9 0} 85.
Bc3+ {-1.57/9 0} Ke6 {+1.25/9 0} 86. Be1 {+0.00/12 0} Kf6 {+1.26/9 0} 87.
Kxf4 {-1.63/8 0} Bc7+ {+1.25/8 0} 88. Kf3 {-1.63/8 0} Ke6 {+1.27/9 0} 89.
Bf2 {-1.63/8 0} Kd5 {+1.27/8 0} 90. Ba7 {-1.63/8 0} Be5 {+1.27/8 0} 91.
Bf2 {-1.47/7 0} Bd6 {+1.27/8 0} 92. Be3 {-1.58/6 0} Be5 {+1.26/8 0} 93.
Bf2 {+0.00/9 0} Bd6 {+1.25/7 0} 94. Be3 {+0.00/10 0} Bc7 {+1.25/7 0} 95.
Ba7 {+0.00/10 0} f4 {+1.25/7 0} 96. Be3 {-0.41/7 0} fxe3 {+2.35/8 0} 97.
Kxe3 {+0.00/8 0} Bg3 {+2.40/7 0} 98. Kf3 {+0.00/8 0} Bxh4 {+2.59/7 0} 99.
Kf4 {+0.00/11 0} Be1 {+2.67/7 0} 100. Kg5 {+0.00/38 0} h4 {+2.95/11 0} 101.
Kg4 {+0.00/12 0} Ke4 {+2.95/9 0} 102. Kh3 {+0.00/13 0} Kf3 {+2.95/7 0} 103.
Kh2 {+0.00/14 0} Bg3+ {+2.99/6 0} 104. Kg1 {+0.00/15 0} h3 {+3.13/6 0} 105.
Kh1 {+0.00/14 0} Bf4 {+3.13/4 0} 106. Kg1 {+0.00/16 0} Ke2 {+3.15/5 0} 107.
Kh1 {+0.00/17 0} Kf3 {+3.13/2 0} 108. Kg1 {+0.00/60 0} Ke2 {+3.15/5 0} 109.
Kh1 {+0.00/60 0} h2 {+3.15/6 0} 110. Kg2 {+0.00/21 0} Bg3 {+3.15/6 0} 111.
Kh1 {+0.00/23 0} Be5 {+3.02/6 0} 112. Kg2 {+0.00/26 0} Ke1 {+3.15/5 0} 113.
Kh1 {+0.00/30 0} Ke2 {+3.02/5 0} 114. Kg2 {+0.00/60 0} Bf4 {+3.13/5 0} 115.
Kh1 {+0.00/30 0} Ke1 {+3.13/5 0} 116. Kg2 {+0.00/34 0} Kd2 {+3.02/3 0} 117.
Kh1 {+0.00/33 0} Ke1 {+3.15/4 0} 118. Kg2 {+0.00/60 0} Kd2 {+3.15/5 0} 119.
Kh1 {+0.00/60 0} Be5 {+3.02/5 0} 120. Kg2 {+0.00/34 0} Ke2 {+3.15/5 0} 121.
Kh1 {+0.00/36 0} Kd2 {+3.15/4 0} 122. Kg2 {+0.00/60 0} Ke2 {+3.02/4 0} 123.
Kh1 {+0.00/60 0} Kd1 {+3.02/5 0} 124. Kg2 {+0.00/38 0} Bf4 {+3.15/5 0} 125.
Kh1 {+0.00/39 0} Be5 {+3.02/5 0} 126. Kg2 {+0.00/60 0} Bf4 {+3.02/4 0} 127.
Kh1 {+0.00/60 0} Kd2 {+3.02/6 0} 128. Kg2 {+0.00/39 0} Kd3 {+3.02/4 0} 129.
Kh1 {+0.00/39 0} Kd2 {+3.13/4 0} 130. Kg2 {+0.00/60 0} Bc7 {+3.15/5 0} 131.
Kh1 {+0.00/42 0} Ke2 {+3.13/5 0} 132. Kg2 {+0.00/44 0} Bd6 {+3.02/4 0} 133.
Kh1 {+0.00/45 0} Ke1 {+3.02/5 0} 134. Kg2 {+0.00/48 0} Ke2 {+3.15/5 0} 135.
Kh1 {+0.00/60 0} Ke1 {+3.09/5 0} 136. Kg2 {+0.00/60 0} Bf4 {+3.15/5 0} 137.
Kh1 {+0.00/50 0} Be5 {+3.02/5 0} 138. Kg2 {+0.00/53 0} Kd2 {+3.15/5 0} 139.
Kh1 {+0.00/53 0} Ke1 {+3.02/5 0} 140. Kg2 {+0.00/60 0} Bf4 {+3.15/5 0} 141.
Kh1 {+0.00/60 0} Bg3 {+3.02/5 0} 142. Kg2 {+0.00/57 0} Ke2 {+3.02/7 0} 143.
Kh1 {+0.00/60 0} Ke1 {+3.02/5 0} 144. Kg2 {+0.00/60 0} Bd6 {+3.13/7 0} 145.
Kh1 {+0.00/60 0} Bc7 {+3.02/5 0} 146. Kg2 {+0.00/60 0} Ke2 {+3.02/7 0} 147.
Kh1 {+0.00/60 0} Ke1 {+3.02/6 0} 148. Kg2 {+0.00/60 0} Ke2 {+3.13/6 0} 149.
Kh1 {+0.00/60 0} Kd3 {+3.02/6 0} 150. Kg2 {+0.00/59 0} Bf4 {+3.02/4 0} 151.
Kh1 {+0.00/60 0} Ke3 {+3.13/3 0} 152. Kg2 {+0.00/60 0} Ke2 {+3.00/3 0} 153.
Kh1 {+0.00/60 0} {+3.13/3 0}
{White wins on time} 1-0