Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Illegal moves 2 #8

Open
tpoppins opened this issue Oct 1, 2018 · 18 comments
Open

Illegal moves 2 #8

tpoppins opened this issue Oct 1, 2018 · 18 comments

Comments

@tpoppins
Copy link

tpoppins commented Oct 1, 2018

This is a continuation of #7 .
The good news: the Hash option now works as expected.
The bad news: illegal moves are still there.

[Event "?"]
[Site "?"]
[Date "2018.09.30"]
[Round "?"]
[White "Apollo 1.21 64-bit"]
[Black "__Thinker"]
[Result "0-1"]
[FEN "r2qk1nr/ppp1ppbp/3p2p1/3P4/2PnP1b1/2N2N2/PP3PPP/R1BQKB1R w KQkq - 0 7"]
[GameDuration "00:00:35"]
[GameEndTime "2018-09-30T21:13:40.344 Eastern Daylight Time"]
[GameStartTime "2018-09-30T21:13:04.692 Eastern Daylight Time"]
[PlyCount "6"]
[SetUp "1"]
[Termination "illegal move"]
[TimeControl "40/120"]

1. Qa4+ {0.00/13 2.4s} Bd7 {6.7s} 2. Qd1 {0.00/16 6.6s} Bg4 {5.3s}
3. Qa4+ {0.00/15 8.6s} Bd7 {6.0s, White makes an illegal move: a1a1} 0-1

Debug log:

<Apollo 1.21 64-bit(34): Apollo v1.2.0 by Stuart Nevans Locke
<Apollo 1.21 64-bit(34): id name Apollo Release 1.2.1
<Apollo 1.21 64-bit(34): id author Stuart Nevans Locke
<Apollo 1.21 64-bit(34): option name Hash type spin default 32 min 1 max 1048576
<Apollo 1.21 64-bit(34): uciok
>Apollo 1.21 64-bit(34): setoption name Hash value 256
>Apollo 1.21 64-bit(34): isready
<__Thinker(35): Thinker: 5.4D (NAM 047, 1500, for 64-bit architecture) Copyright (c) Kerwin Medina
<__Thinker(35): Thinker: uie pid sco lme
<__Thinker(35): Thinker: Freeware. No warranties whatsoever.
<__Thinker(35): feature setboard=1
>__Thinker(35): accepted setboard
<__Thinker(35): feature done=1
>__Thinker(35): accepted done
<Apollo 1.21 64-bit(34): readyok
>Apollo 1.21 64-bit(34): ucinewgame
>Apollo 1.21 64-bit(34): position fen r2qk1nr/ppp1ppbp/3p2p1/3P4/2PnP1b1/2N2N2/PP3PPP/R1BQKB1R w KQkq - 0 7
>__Thinker(35): new
>__Thinker(35): force
>__Thinker(35): setboard r2qk1nr/ppp1ppbp/3p2p1/3P4/2PnP1b1/2N2N2/PP3PPP/R1BQKB1R w KQkq - 0 7
>__Thinker(35): level 40 2 0
>__Thinker(35): post
>__Thinker(35): easy
>Apollo 1.21 64-bit(34): isready
<Apollo 1.21 64-bit(34): readyok
>Apollo 1.21 64-bit(34): go wtime 120000 btime 120000 movestogo 40
<Apollo 1.21 64-bit(34): info depth 1 score cp 6 nodes 50 nps 145713 time 0 pv d1a4
<Apollo 1.21 64-bit(34): info depth 2 score cp 6 nodes 59 nps 103692 time 0 pv d1a4 g4d7
<Apollo 1.21 64-bit(34): info depth 3 score cp 6 nodes 136 nps 112830 time 1 pv d1a4 g4d7 a4d1
<Apollo 1.21 64-bit(34): info depth 4 score cp 6 nodes 231 nps 102485 time 2 pv d1a4 g4d7 a4d1 d7g4
<Apollo 1.21 64-bit(34): info depth 5 score cp 0 nodes 531 nps 110920 time 4 pv d1a4 g4d7 a4d1 d7g4 d1a4
<Apollo 1.21 64-bit(34): info depth 6 score cp 0 nodes 1219 nps 114989 time 10 pv d1a4 g4d7 a4d1 d7g4 d1a4
<Apollo 1.21 64-bit(34): info depth 7 score cp 0 nodes 2122 nps 103510 time 20 pv d1a4 g4d7 a4d1 d7g4 d1a4
<Apollo 1.21 64-bit(34): info depth 8 score cp 0 nodes 4008 nps 101840 time 39 pv d1a4 g4d7 a4d1 d7g4 d1a4
<Apollo 1.21 64-bit(34): info depth 9 score cp 0 nodes 15417 nps 150832 time 102 pv d1a4 g4d7 a4d1 d7g4 d1a4
<Apollo 1.21 64-bit(34): info depth 10 score cp 0 nodes 45564 nps 162851 time 279 pv d1a4 g4d7 a4d1 d7g4 d1a4
<Apollo 1.21 64-bit(34): info depth 11 score cp 0 nodes 35745 nps 83335 time 428 pv d1a4 g4d7 a4d1 d7g4 d1a4
<Apollo 1.21 64-bit(34): info depth 12 score cp 0 nodes 63975 nps 91818 time 696 pv d1a4 g4d7 a4d1 d7g4 d1a4
<Apollo 1.21 64-bit(34): info depth 13 score cp 0 nodes 194297 nps 132637 time 1464 pv d1a4 g4d7 a4d1 d7g4 d1a4
<Apollo 1.21 64-bit(34): bestmove d1a4
>__Thinker(35): d1a4
>__Thinker(35): time 12000
otim 11758
>__Thinker(35): go
<__Thinker(35): move g4d7  
>Apollo 1.21 64-bit(34): position fen r2qk1nr/ppp1ppbp/3p2p1/3P4/2PnP1b1/2N2N2/PP3PPP/R1BQKB1R w KQkq - 0 7 moves d1a4 g4d7
>Apollo 1.21 64-bit(34): isready
<__Thinker(35): 18 0 669 13257906 g4d7  a4d1  d4f3  g2f3  
<Apollo 1.21 64-bit(34): readyok
>Apollo 1.21 64-bit(34): go wtime 117588 btime 113303 movestogo 39
<Apollo 1.21 64-bit(34): info depth 1 score cp 6 nodes 41 nps 273784 time 0 pv a4d1
<Apollo 1.21 64-bit(34): info depth 2 score cp 6 nodes 69 nps 190246 time 0 pv a4d1 d7g4
<Apollo 1.21 64-bit(34): info depth 3 score cp 0 nodes 87 nps 115975 time 0 pv a4d1 d7g4 d1a4
<Apollo 1.21 64-bit(34): info depth 4 score cp 0 nodes 61 nps 55282 time 1 pv a4d1 d7g4 d1a4
<Apollo 1.21 64-bit(34): info depth 5 score cp 0 nodes 25 nps 18529 time 1 pv a4d1 d7g4 d1a4
<Apollo 1.21 64-bit(34): info depth 6 score cp 0 nodes 26 nps 16083 time 1 pv a4d1 d7g4 d1a4
<Apollo 1.21 64-bit(34): info depth 7 score cp 0 nodes 18 nps 9638 time 1 pv a4d1 d7g4 d1a4
<Apollo 1.21 64-bit(34): info depth 8 score cp 0 nodes 3 nps 1222 time 2 pv a4d1 d7g4 d1a4
<Apollo 1.21 64-bit(34): info depth 9 score cp 0 nodes 41 nps 14149 time 2 pv a4d1 d7g4 d1a4
<Apollo 1.21 64-bit(34): info depth 10 score cp 0 nodes 55 nps 16176 time 3 pv a4d1 d7g4 d1a4
<Apollo 1.21 64-bit(34): info depth 11 score cp 0 nodes 51 nps 12800 time 3 pv a4d1 d7g4 d1a4
<Apollo 1.21 64-bit(34): info depth 12 score cp 0 nodes 1932 nps 132999 time 14 pv a4d1 d7g4 d1a4
<Apollo 1.21 64-bit(34): info depth 13 score cp 0 nodes 39202 nps 215985 time 181 pv a4d1 d7g4 d1a4
<Apollo 1.21 64-bit(34): info depth 14 score cp 0 nodes 53899 nps 132271 time 407 pv a4d1 d7g4 d1a4
<Apollo 1.21 64-bit(34): info depth 15 score cp 0 nodes 74912 nps 103430 time 724 pv a4d1 d7g4 d1a4
<Apollo 1.21 64-bit(34): info depth 16 score cp 0 nodes 172250 nps 121790 time 1414 pv a4d1 d7g4 d1a4
<Apollo 1.21 64-bit(34): bestmove a4d1
>__Thinker(35): time 11330
otim 11100
>__Thinker(35): a4d1
<__Thinker(35): move d7g4  
>Apollo 1.21 64-bit(34): position fen r2qk1nr/ppp1ppbp/3p2p1/3P4/2PnP1b1/2N2N2/PP3PPP/R1BQKB1R w KQkq - 0 7 moves d1a4 g4d7 a4d1 d7g4
>Apollo 1.21 64-bit(34): isready
<__Thinker(35): 17 0 530 10287548 d7g4  
<Apollo 1.21 64-bit(34): readyok
>Apollo 1.21 64-bit(34): go wtime 111007 btime 108006 movestogo 38
<Apollo 1.21 64-bit(34): info depth 1 score cp 0 nodes 54 nps 203278 time 0 pv d1a4
<Apollo 1.21 64-bit(34): info depth 2 score cp 0 nodes 37 nps 84390 time 0 pv d1a4
<Apollo 1.21 64-bit(34): info depth 3 score cp 0 nodes 1 nps 1977 time 0 pv d1a4
<Apollo 1.21 64-bit(34): info depth 4 score cp 0 nodes 2 nps 3370 time 0 pv d1a4
<Apollo 1.21 64-bit(34): info depth 5 score cp 0 nodes 1 nps 1492 time 0 pv d1a4
<Apollo 1.21 64-bit(34): info depth 6 score cp 0 nodes 2 nps 1863 time 1 pv d1a4
<Apollo 1.21 64-bit(34): info depth 7 score cp 0 nodes 40 nps 30099 time 1 pv d1a4
<Apollo 1.21 64-bit(34): info depth 8 score cp 0 nodes 54 nps 33232 time 1 pv d1a4
<Apollo 1.21 64-bit(34): info depth 9 score cp 0 nodes 42 nps 21179 time 1 pv d1a4
<Apollo 1.21 64-bit(34): info depth 10 score cp 0 nodes 53 nps 22239 time 2 pv d1a4
<Apollo 1.21 64-bit(34): info depth 11 score cp 0 nodes 31 nps 11241 time 2 pv d1a4
<Apollo 1.21 64-bit(34): info depth 12 score cp 0 nodes 200 nps 54323 time 3 pv d1a4
<Apollo 1.21 64-bit(34): info depth 13 score cp 0 nodes 41 nps 9731 time 4 pv d1a4
<Apollo 1.21 64-bit(34): info depth 14 score cp 0 nodes 51 nps 10530 time 4 pv d1a4
<Apollo 1.21 64-bit(34): info depth 15 score cp 0 nodes 184568 nps 251678 time 733 pv d1a4
<Apollo 1.21 64-bit(34): bestmove d1a4
>__Thinker(35): time 10800
otim 10243
>__Thinker(35): d1a4
<__Thinker(35): move g4d7  
>Apollo 1.21 64-bit(34): position fen r2qk1nr/ppp1ppbp/3p2p1/3P4/2PnP1b1/2N2N2/PP3PPP/R1BQKB1R w KQkq - 0 7 moves d1a4 g4d7 a4d1 d7g4 d1a4 g4d7
>Apollo 1.21 64-bit(34): isready
<__Thinker(35): 19 0 605 12287811 g4d7  
<Apollo 1.21 64-bit(34): readyok
>Apollo 1.21 64-bit(34): go wtime 102437 btime 101957 movestogo 37
<Apollo 1.21 64-bit(34): info depth 1 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 2 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 3 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 4 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 5 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 6 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 7 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 8 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 9 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 10 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 11 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 12 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 13 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 14 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 15 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 16 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 17 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 18 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 19 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 20 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 21 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 22 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 23 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 24 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 25 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 26 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 27 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 28 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 29 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 30 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 31 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 32 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 33 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 34 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 35 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 36 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 37 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 38 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 39 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 40 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 41 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 42 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 43 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 44 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 45 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 46 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 47 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 48 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 49 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 50 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 51 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 52 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 53 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 54 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 55 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 56 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 57 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 58 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 59 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 60 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 61 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 62 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 63 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 64 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 65 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 66 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 67 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 68 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 69 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 70 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 71 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 72 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 73 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 74 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 75 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 76 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 77 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 78 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 79 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 80 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 81 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 82 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 83 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 84 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 85 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 86 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 87 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 88 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 89 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 90 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 91 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 92 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 93 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 94 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 95 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 96 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 97 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 98 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 99 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 100 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 101 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 102 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 103 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 104 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 105 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 106 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 107 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 108 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 109 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 110 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 111 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 112 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 113 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 114 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 115 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 116 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 117 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 118 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 119 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 120 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 121 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 122 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 123 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 124 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 125 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 126 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 127 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 128 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 129 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 130 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 131 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 132 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 133 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 134 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 135 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 136 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 137 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 138 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 139 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 140 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 141 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 142 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 143 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 144 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 145 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 146 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 147 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 148 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 149 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 150 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 151 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 152 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 153 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 154 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 155 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 156 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 157 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 158 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 159 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 160 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 161 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 162 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 163 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 164 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 165 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 166 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 167 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 168 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 169 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 170 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 171 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 172 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 173 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 174 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 175 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 176 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 177 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 178 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 179 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 180 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 181 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 182 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 183 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 184 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 185 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 186 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 187 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 188 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 189 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 190 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 191 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 192 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 193 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 194 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 195 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 196 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 197 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 198 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): info depth 199 score cp 0 nodes 0 nps 0 time 0 pv
<Apollo 1.21 64-bit(34): bestmove a1a1
>Apollo 1.21 64-bit(34): isready
>__Thinker(35): force
>__Thinker(35): result 0-1 {White makes an illegal move: a1a1}
<Apollo 1.21 64-bit(34): readyok
@stnevans
Copy link
Owner

stnevans commented Oct 1, 2018

When I paste the commands shown in the debug log, the issue doesn't reproduce, so I'm not immediately sure what's causing the issue. Which exact binary are you using?

@stnevans
Copy link
Owner

stnevans commented Oct 1, 2018

Ignore that, I'm now able to reproduce. I understand the problem and will work on getting a fix.

@tpoppins
Copy link
Author

tpoppins commented Oct 1, 2018

The 64-bit (POPCNT) one, CRC-32: 5E1414A5. I just retested with Hash sizes 256, 128 and the default 32. Same illegal move a1a1 in every case.

edit: Ah, I've been ninja'd. ;) Standing by for the fix.

@stnevans
Copy link
Owner

stnevans commented Oct 1, 2018

I rolled out something I believe should fix the issue. I'm not 100% confident in the robustness of the patch, so I'll look into it more when I get some time. If this doesn't fix it, I know how to do so.
Can you confirm/deny that the fix worked?

@tpoppins
Copy link
Author

tpoppins commented Oct 1, 2018

Need a Makefile for Windows, something that would work with MSYS2 and Cygwin. Tried making my own and got tons of errors.

@stnevans
Copy link
Owner

stnevans commented Oct 1, 2018

I was planning on adding a Makefile at some point, but for me copying and pasting the compilation works fine.
Regardless, I actually updated the files under Release 1.2.1. Should have mentioned that.

@tpoppins
Copy link
Author

tpoppins commented Oct 1, 2018

The new exec (CRC-32 388D09A3) doesn't fix it. Besides the usual 40/4 and 512 hash I tried 40/20 and 32 hash, same result (a1a1).

@tpoppins
Copy link
Author

tpoppins commented Oct 1, 2018

Ditto for apollopocnt.exe CRC-32 165E3B63.

@stnevans
Copy link
Owner

stnevans commented Oct 1, 2018

Interesting. I'll take a look at it in the morning. Thank you very much for being patient with me and for reporting this bug.

@tpoppins
Copy link
Author

tpoppins commented Oct 1, 2018

No problemo.

An interesting find: if you start the game from the position where it wants to play a1a1, it chooses to play the queen back to d1 and the game goes on:

[Event "?"]
[Site "?"]
[Date "2018.10.01"]
[Round "?"]
[White "Apollo 1.21 64-bit"]
[Black "__Thinker"]
[Result "1/2-1/2"]
[FEN "r2qk1nr/ppp1ppbp/3p2p1/3P4/Q1PnP1b1/2N2N2/PP3PPP/R1B1KB1R b KQkq - 5 9"]
[GameDuration "00:00:30"]
[GameEndTime "2018-10-01T00:07:35.410 Eastern Daylight Time"]
[GameStartTime "2018-10-01T00:07:05.270 Eastern Daylight Time"]
[PlyCount "8"]
[SetUp "1"]
[Termination "adjudication"]
[TimeControl "40/120"]

1... Bd7 {3.8s} 2. Qd1 {0.00/15 5.1s} c5 {2.7s} 3. Qd3 {0.00/10 3.2s} Qb6 {2.7s}
4. g3 {0.00/10 5.4s} Nf6 {3.6s}
5. h3 {0.00/10 3.5s, Draw by adjudication: user decision} 1/2-1/2

Debug log:

<Apollo 1.21 64-bit(7): Apollo v1.2.1 by Stuart Nevans Locke
<Apollo 1.21 64-bit(7): id name Apollo Release 1.2.1
<Apollo 1.21 64-bit(7): id author Stuart Nevans Locke
<Apollo 1.21 64-bit(7): option name Hash type spin default 32 min 1 max 1048576
<Apollo 1.21 64-bit(7): uciok
>Apollo 1.21 64-bit(7): setoption name Hash value 512
>Apollo 1.21 64-bit(7): isready
<__Thinker(8): Thinker: 5.4D (NAM 047, 1500, for 64-bit architecture) Copyright (c) Kerwin Medina
<__Thinker(8): Thinker: uie pid sco lme
<__Thinker(8): Thinker: Freeware. No warranties whatsoever.
<__Thinker(8): feature setboard=1
>__Thinker(8): accepted setboard
<__Thinker(8): feature done=1
>__Thinker(8): accepted done
<Apollo 1.21 64-bit(7): readyok
>Apollo 1.21 64-bit(7): ucinewgame
>Apollo 1.21 64-bit(7): position fen r2qk1nr/ppp1ppbp/3p2p1/3P4/Q1PnP1b1/2N2N2/PP3PPP/R1B1KB1R b KQkq - 5 9
>__Thinker(8): new
>__Thinker(8): force
>__Thinker(8): b2b3
>__Thinker(8): setboard r2qk1nr/ppp1ppbp/3p2p1/3P4/Q1PnP1b1/2N2N2/PP3PPP/R1B1KB1R b KQkq - 5 9
>__Thinker(8): level 40 2 0
>__Thinker(8): post
>__Thinker(8): easy
>__Thinker(8): time 12000
otim 12000
>__Thinker(8): go
<__Thinker(8): move g4d7  
>Apollo 1.21 64-bit(7): position fen r2qk1nr/ppp1ppbp/3p2p1/3P4/Q1PnP1b1/2N2N2/PP3PPP/R1B1KB1R b KQkq - 5 9 moves g4d7
>Apollo 1.21 64-bit(7): isready
<__Thinker(8): 16 0 377 7424682 g4d7  c3b5  d4f3  g2f3  
<Apollo 1.21 64-bit(7): readyok
>Apollo 1.21 64-bit(7): go wtime 120000 btime 116221 movestogo 40
<Apollo 1.21 64-bit(7): info depth 1 score cp 6 nodes 44 nps 171028 time 0 pv a4d1
<Apollo 1.21 64-bit(7): info depth 2 score cp 6 nodes 89 nps 161777 time 0 pv a4d1 d7g4
<Apollo 1.21 64-bit(7): info depth 3 score cp 6 nodes 169 nps 123947 time 1 pv a4d1 d7g4 d1a4
<Apollo 1.21 64-bit(7): info depth 4 score cp 0 nodes 287 nps 117487 time 2 pv a4d1 d7g4 d1a4 g4d7
<Apollo 1.21 64-bit(7): info depth 5 score cp 0 nodes 322 nps 81987 time 3 pv a4d1 d7g4 d1a4 g4d7
<Apollo 1.21 64-bit(7): info depth 6 score cp 0 nodes 638 nps 90372 time 7 pv a4d1 d7g4 d1a4 g4d7
<Apollo 1.21 64-bit(7): info depth 7 score cp 0 nodes 1627 nps 115101 time 14 pv a4d1 d7g4 d1a4 g4d7
<Apollo 1.21 64-bit(7): info depth 8 score cp 0 nodes 5382 nps 161233 time 33 pv a4d1 d7g4 d1a4 g4d7
<Apollo 1.21 64-bit(7): info depth 9 score cp 0 nodes 7366 nps 120011 time 61 pv a4d1 d7g4 d1a4 g4d7
<Apollo 1.21 64-bit(7): info depth 10 score cp 0 nodes 8578 nps 85828 time 99 pv a4d1 d7g4 d1a4 g4d7
<Apollo 1.21 64-bit(7): info depth 11 score cp 0 nodes 22004 nps 114649 time 191 pv a4d1 d7g4 d1a4 g4d7
<Apollo 1.21 64-bit(7): info depth 12 score cp 0 nodes 44730 nps 119015 time 375 pv a4d1 d7g4 d1a4 g4d7
<Apollo 1.21 64-bit(7): info depth 13 score cp 0 nodes 99082 nps 126624 time 782 pv a4d1 d7g4 d1a4 g4d7
<Apollo 1.21 64-bit(7): info depth 14 score cp 0 nodes 146981 nps 108389 time 1356 pv a4d1 d7g4 d1a4 g4d7
<Apollo 1.21 64-bit(7): info depth 15 score cp 0 nodes 258300 nps 109232 time 2364 pv a4d1 d7g4 d1a4 g4d7
<Apollo 1.21 64-bit(7): bestmove a4d1
>__Thinker(8): time 11622
otim 11491
>__Thinker(8): a4d1
<__Thinker(8): move c7c5  
>Apollo 1.21 64-bit(7): position fen r2qk1nr/ppp1ppbp/3p2p1/3P4/Q1PnP1b1/2N2N2/PP3PPP/R1B1KB1R b KQkq - 5 9 moves g4d7 a4d1 c7c5
>Apollo 1.21 64-bit(7): isready
<__Thinker(8): 15 0 273 5358655 c7c5  f3d4  c5d4  
<Apollo 1.21 64-bit(7): readyok
>Apollo 1.21 64-bit(7): go wtime 114917 btime 113487 movestogo 39
<Apollo 1.21 64-bit(7): info depth 1 score cp 8 nodes 39 nps 203876 time 0 pv c1f4
<Apollo 1.21 64-bit(7): info depth 2 score cp 24 nodes 83 nps 180267 time 0 pv d5c6 d4f3
<Apollo 1.21 64-bit(7): info depth 3 score cp 5 nodes 442 nps 251881 time 1 pv c1g5 d7g4 d1a4
<Apollo 1.21 64-bit(7): info depth 4 score cp 6 nodes 635 nps 149106 time 4 pv c1f4 d4f3 d1f3 g7d4
<Apollo 1.21 64-bit(7): info depth 5 score cp 2 nodes 2854 nps 195064 time 14 pv f3d4 g7d4 c1d2 f7f6 d5c6
<Apollo 1.21 64-bit(7): info depth 6 score cp 3 nodes 5668 nps 166157 time 34 pv f3d4 g7d4 c1d2 g8f6 f1d3 d7g4
<Apollo 1.21 64-bit(7): info depth 7 score cp 4 nodes 8431 nps 125501 time 67 pv e1d2 d4f3 d1f3 g7e5 d2d3 g8f6
<Apollo 1.21 64-bit(7): info depth 8 score cp 3 nodes 23658 nps 149704 time 158 pv d1d3 d7g4 f3d4 g7d4 c1f4 g8f6 f2f3
<Apollo 1.21 64-bit(7): info depth 9 score cp 2 nodes 76832 nps 166202 time 462 pv d1d3 d8a5 a1b1 d7g4 f3d4 c5d4 h2h3 d4c3
<Apollo 1.21 64-bit(7): info depth 10 score cp 0 nodes 147593 nps 138937 time 1062 pv d1d3 d8a5 a1b1 d7g4 f3d4 c5d4 b2b4 d4c3 c3b5
<Apollo 1.21 64-bit(7): bestmove d1d3
>__Thinker(8): time 11348
otim 11175
>__Thinker(8): d1d3
<__Thinker(8): move d8b6  
>Apollo 1.21 64-bit(7): position fen r2qk1nr/ppp1ppbp/3p2p1/3P4/Q1PnP1b1/2N2N2/PP3PPP/R1B1KB1R b KQkq - 5 9 moves g4d7 a4d1 c7c5 d1d3 d8b6
>Apollo 1.21 64-bit(7): isready
<__Thinker(8): 13 26 265 5273012 d8b6  f3d4  c5d4  
<Apollo 1.21 64-bit(7): readyok
>Apollo 1.21 64-bit(7): go wtime 111758 btime 110822 movestogo 38
<Apollo 1.21 64-bit(7): info depth 1 score cp 19 nodes 38 nps 216851 time 0 pv f3d4
<Apollo 1.21 64-bit(7): info depth 2 score cp 5 nodes 49 nps 122595 time 0 pv e1d2 d7b5
<Apollo 1.21 64-bit(7): info depth 3 score cp 1 nodes 134 nps 148042 time 0 pv e1d2 g7h6 d2d1
<Apollo 1.21 64-bit(7): info depth 4 score cp 4 nodes 259 nps 134001 time 1 pv e1d2 g7f6 d2e3 f6e5
<Apollo 1.21 64-bit(7): info depth 5 score cp 5 nodes 607 nps 144031 time 4 pv e1d2 g7h6 d2d1 h6c1 d1c1
<Apollo 1.21 64-bit(7): info depth 6 score cp 3 nodes 6044 nps 221561 time 27 pv b2b3 d4f3 d3f3 g7e5 e1d2
<Apollo 1.21 64-bit(7): info depth 7 score cp 3 nodes 8778 nps 146608 time 59 pv b2b3 d4f3 d3f3 g7d4 f1e2 a8b8 c1b2
<Apollo 1.21 64-bit(7): info depth 8 score cp 2 nodes 41940 nps 188539 time 222 pv h2h3 d4f3 d3f3 g7e5 e1d2 f7f6 f1e2
<Apollo 1.21 64-bit(7): info depth 9 score cp 3 nodes 34632 nps 96197 time 360 pv h2h3 d4f3 d3f3 g7e5 e1d2 b6a5 f3d3 g8f6
<Apollo 1.21 64-bit(7): info depth 10 score cp 0 nodes 402059 nps 205323 time 1958 pv g2g3 b6a5 f3d2 g8f6 c3e2 f6g4 e2f4 g7e5
<Apollo 1.21 64-bit(7): bestmove g2g3
>__Thinker(8): time 11082
otim 10639
>__Thinker(8): g2g3
<__Thinker(8): move g8f6  
>Apollo 1.21 64-bit(7): position fen r2qk1nr/ppp1ppbp/3p2p1/3P4/Q1PnP1b1/2N2N2/PP3PPP/R1B1KB1R b KQkq - 5 9 moves g4d7 a4d1 c7c5 d1d3 d8b6 g2g3 g8f6
>Apollo 1.21 64-bit(7): isready
<__Thinker(8): 14 60 363 7330888 g8f6  f3d4  c5d4  
<Apollo 1.21 64-bit(7): readyok
>Apollo 1.21 64-bit(7): go wtime 106393 btime 107172 movestogo 37
<Apollo 1.21 64-bit(7): info depth 1 score cp 15 nodes 39 nps 342712 time 0 pv f3d4
<Apollo 1.21 64-bit(7): info depth 2 score cp 15 nodes 45 nps 159941 time 0 pv f3d4 c5d4
<Apollo 1.21 64-bit(7): info depth 3 score cp 13 nodes 90 nps 127699 time 0 pv f3d4 c5d4 c3e2
<Apollo 1.21 64-bit(7): info depth 4 score cp 13 nodes 150 nps 109285 time 1 pv f3d4 c5d4 c3e2 b6b4
<Apollo 1.21 64-bit(7): info depth 5 score cp 9 nodes 409 nps 125312 time 3 pv f3d4 c5d4 c3e2 b6b4 e1d1
<Apollo 1.21 64-bit(7): info depth 6 score cp 9 nodes 1442 nps 150308 time 9 pv f3d4 c5d4 c3e2 b6b4 e1d1 b4a4
<Apollo 1.21 64-bit(7): info depth 7 score cp 11 nodes 2354 nps 116670 time 20 pv f3d4 c5d4 c3e2 b6b4 e1d1 d7a4 b2b3
<Apollo 1.21 64-bit(7): info depth 8 score cp 7 nodes 91680 nps 239831 time 382 pv f1g2 a8c8 b2b3 d7g4 c3a4 d4f3 g2f3 b6b4
<Apollo 1.21 64-bit(7): info depth 9 score cp 2 nodes 119622 nps 139644 time 856 pv f1g2 f6g4 g2h3 g4e5 h3d7 e8d7 f3e5 g7e5 e1g1
<Apollo 1.21 64-bit(7): info depth 10 score cp 0 nodes 275845 nps 139568 time 1976 pv h2h3 e7e5 d5e6 d4f3 d3f3
<Apollo 1.21 64-bit(7): bestmove h2h3
>__Thinker(8): time 10717
otim 10288
>__Thinker(8): h2h3
>Apollo 1.21 64-bit(7): isready
>__Thinker(8): ?
>__Thinker(8): force
>__Thinker(8): result 1/2-1/2 {Draw by adjudication: user decision}
<Apollo 1.21 64-bit(7): readyok
<__Thinker(8): move d4f3  
<__Thinker(8): 9 56 21 375427 d4f3  d3f3  e8g8  

On another positive note, I don't see any more crashes under Cute Chess. It does crash under Fritz 16 GUI, will make a separate issue for that.

@stnevans
Copy link
Owner

stnevans commented Oct 1, 2018

The heart of the issue is that apollo checks if the current position is a repetition, and if so, it returns to cut down on the search time. The problem is apollo previously checked if there was a transposition table entry for the current position, and if so it returned. When outputting the best move, however, apollo uses a triangular pv array. The array was never filled in that case.

I just threw together a fix to fill the pv array in this case, however I'd like to look more deeply at this issue and related ideas to make sure I didn't miss anything when I get more time.
I tested the exact commands you used before that caused apollo to return a1a1, and I now get the move a4d1.

Could you confirm that the new patch(binarys under release 1.2.1 also updated) fixes this issue?

@tpoppins
Copy link
Author

tpoppins commented Oct 1, 2018

Great, now it's fixed.

There only remains a slight issue of nodes, NPS and time all displayed as zeroes for every iteration of the very last move (4.Qd1).

@tpoppins tpoppins closed this as completed Oct 1, 2018
@tpoppins
Copy link
Author

tpoppins commented Oct 8, 2018

Another example found, possibly unrelated to those reported previously. It took 80 games to surface.

[Event "Apollo 1.21 64-bit 40/4"]
[Site "Dual X5670"]
[Date "2018.10.08"]
[Round "19"]
[White "Apollo 1.21 64-bit"]
[Black "TSCP 1.81"]
[Result "0-1"]
[ECO "A40"]
[GameDuration "00:05:19"]
[GameEndTime "2018-10-08T12:35:20.951 Eastern Daylight Time"]
[GameStartTime "2018-10-08T12:30:01.105 Eastern Daylight Time"]
[Opening "Queen's pawn"]
[PlyCount "108"]
[Termination "illegal move"]
[TimeControl "40/120"]

1. d4 {book} e6 {book} 2. e4 {book} d5 {book} 3. e5 {book} c5 {book}
4. c3 {book} Ne7 {book} 5. Nf3 {book} Nec6 {book} 6. a3 {book} a5 {book}
7. Qc2 {+0.05/9 3.2s} cxd4 {-0.25/6 4.0s} 8. cxd4 {+0.01/10 2.3s}
Be7 {-0.17/5 3.9s} 9. Bd3 {+0.17/11 4.8s} Nd7 {-0.21/5 3.7s}
10. Bxh7 {+0.73/9 2.7s} Qb6 {-0.46/5 3.6s} 11. Nbd2 {-0.02/11 3.6s}
a4 {+0.62/5 3.5s} 12. O-O {+0.03/11 2.3s} g5 {+0.42/5 3.4s}
13. h3 {+0.03/12 4.9s} Qa7 {+0.35/5 3.3s} 14. Bd3 {+0.47/11 3.1s}
Nxd4 {+0.11/5 3.2s} 15. Nxd4 {+0.30/13 2.8s} Qxd4 {+0.11/5 3.0s}
16. Nf3 {+0.30/13 4.6s} Qc5 {-0.02/6 2.9s} 17. Be3 {+0.25/12 3.8s}
Qxc2 {+0.04/6 2.8s} 18. Bxc2 {+0.19/13 5.4s} Rg8 {+0.04/6 2.8s}
19. Rac1 {+0.14/12 9.9s} g4 {+0.05/6 2.7s} 20. hxg4 {+0.20/12 3.4s}
Rxg4 {0.00/6 2.6s} 21. g3 {+0.15/10 1.9s} b6 {+0.25/6 2.5s}
22. Rfd1 {+0.17/10 1.7s} Bb7 {+0.40/6 2.4s} 23. Kg2 {+0.14/10 3.5s}
Bc5 {+0.60/5 2.3s} 24. Bxc5 {+0.12/11 3.6s} bxc5 {+0.70/6 2.2s}
25. Bd3 {+0.14/10 1.8s} c4 {+0.81/6 2.2s} 26. Kh3 {+0.08/11 1.3s}
Rg8 {+0.82/6 2.1s} 27. Bc2 {+0.10/10 1.2s} Bc6 {+0.76/6 2.0s}
28. Nd4 {+0.30/12 2.2s} Rh8+ {+0.60/6 2.0s} 29. Kg2 {+0.41/12 2.6s}
Bb7 {+0.53/6 1.9s} 30. f4 {+0.30/11 2.6s} Rg8 {+0.56/5 1.8s}
31. Rd2 {+0.37/10 2.1s} Nc5 {+0.62/5 1.8s} 32. f5 {+0.07/10 2.2s}
Ne4 {+0.94/6 1.7s} 33. Bxe4 {+0.28/12 1.3s} dxe4 {+0.27/7 1.7s}
34. Kf2 {+0.28/11 1.2s} Rg5 {+0.25/6 1.6s} 35. Rxc4 {+0.69/12 1.7s}
exf5 {+0.14/6 1.5s} 36. Nb5 {+0.81/12 1.1s} Kf8 {-0.50/6 1.5s}
37. Nd6 {+0.96/12 1.1s} Ba6 {-1.09/6 1.4s} 38. Rc7 {+1.04/12 1.2s}
Rg7 {-0.69/6 1.4s} 39. Nxf5 {+1.27/12 1.4s} Rg5 {-1.11/6 1.4s}
40. Nd6 {+1.30/12 1.7s} Rxe5 {-1.18/6 1.3s} 41. Rxf7+ {+1.23/13 9.9s}
Kg8 {-1.10/7 5.3s} 42. Ke3 {+1.15/13 4.5s} Rb8 {-1.39/7 5.1s}
43. Rff2 {+1.15/13 11s} Bd3 {-1.60/7 4.9s} 44. Rf4 {+1.15/14 7.9s}
Rb3 {-1.60/7 4.8s} 45. Kd4 {+1.15/14 4.9s} Re6 {-1.30/7 4.6s}
46. Rg4+ {+1.15/15 4.7s} Kf8 {-1.30/6 4.4s} 47. Nxe4 {+1.15/15 7.1s}
Bxe4 {-1.30/7 4.3s} 48. Rf2+ {+1.15/16 9.5s} Ke7 {-1.30/7 4.1s}
49. Rxe4 {+1.20/16 9.4s} Rxe4+ {-1.20/9 4.0s} 50. Kxe4 {+1.25/15 5.5s}
Rxg3 {-1.20/8 3.9s} 51. Rf3 {+1.25/14 5.4s} Rxf3 {-1.00/9 3.8s}
52. Kxf3 {+1.25/15 1.6s} Kd6 {-1.12/12 3.6s} 53. Ke4 {+2.60/20 0.87s}
Kc5 {-1.42/13 3.5s} 54. b4+ {+2.65/20 0.67s}
axb3 {-1.01/10 3.4s, White makes an illegal move: c5c4} 0-1

It would also appear that v1.21 is considerably stronger than v1.1. That's probably not a bug.

@tpoppins tpoppins reopened this Oct 8, 2018
@stnevans
Copy link
Owner

stnevans commented Nov 8, 2018

Still looking at this, not easily reproduced by me. Just settings up the last position and running a search didn't output that move for me, so my best guess is it's an issue with the transposition table.
Sorry it took me so long to respond.

@tpoppins
Copy link
Author

Another example, this one at LTC and involving an e.p capture:

[Event "Apollo 1.21 64-bit 40/40 Gauntlet"]
[Site "Dual E5-2670"]
[Date "2019.03.21"]
[Round "5"]
[White "Apollo 1.21 64-bit"]
[Black "EnkoChess 290818"]
[Result "0-1"]
[ECO "B23"]
[GameDuration "00:46:53"]
[GameEndTime "2019-03-21T01:46:26.513 Eastern Daylight Time"]
[GameStartTime "2019-03-21T00:59:33.025 Eastern Daylight Time"]
[Opening "Sicilian"]
[PlyCount "88"]
[Termination "illegal move"]
[TimeControl "40/1320"]
[Variation "Closed"]

1. e4 {book} c5 {book} 2. Nc3 {book} d6 {book} 3. Nge2 {book} e5 {book}
4. Nd5 {book} Nf6 {book} 5. Nec3 {+0.04/16 34s} Nc6 {37s}
6. Nxf6+ {+0.06/15 38s} gxf6 {37s} 7. Qh5 {+0.25/15 36s} Nd4 {37s}
8. Bc4 {+0.24/17 49s} Be6 {37s} 9. Bxe6 {+0.25/16 24s} Nxe6 {37s}
10. Nd5 {+0.31/15 46s} Nd4 {37s} 11. Kd1 {+0.32/15 31s} Bg7 {37s}
12. f4 {+0.47/14 59s} O-O {37s} 13. Rf1 {+0.50/14 34s} Qd7 {37s}
14. b3 {+0.57/15 83s} Nc6 {37s} 15. d3 {+0.84/14 80s} Nb4 {37s}
16. Rf3 {+0.79/14 26s} Nxd5 {37s} 17. exd5 {+1.16/14 19s} Rae8 {37s}
18. Rg3 {+2.72/16 74s} exf4 {37s} 19. Bxf4 {+2.84/18 22s} Qe7 {37s}
20. Kd2 {+5.70/18 35s} f5 {37s} 21. Bh6 {+5.85/17 19s} Qe5 {37s}
22. Rxg7+ {+6.49/17 41s} Qxg7 {37s} 23. Bxg7 {+6.64/14 24s} Kxg7 {37s}
24. Qg5+ {+6.83/13 57s} Kh8 {37s} 25. Qf6+ {+6.83/13 56s} Kg8 {37s}
26. Qxd6 {+6.89/12 34s} f6 {37s} 27. Qxc5 {+7.30/11 16s} b6 {37s}
28. Qc6 {+7.70/11 19s} Re5 {37s} 29. Re1 {+8.15/11 20s} Rxe1 {37s}
30. Kxe1 {+8.30/12 22s} Kf7 {37s} 31. Qc7+ {+10.85/12 19s} Kg6 {37s}
32. d6 {+10.95/12 16s} Re8+ {37s} 33. Kd2 {+11.75/13 11s} b5 {37s}
34. d7 {+12.45/12 14s} Rh8 {37s} 35. d8=N {+12.75/12 33s} Rf8 {37s}
36. Qe7 {+13.05/11 12s} Rxd8 {37s} 37. Qxd8 {+13.30/10 5.2s} f4 {37s}
38. Qe8+ {+13.20/8 5.4s} Kg5 {37s} 39. Qxb5+ {+13.75/9 12s} f5 {37s}
40. Qd7 {+13.80/8 5.7s} h6 {35s} 41. Qg7+ {+M9/13 147s} Kh5 {2.7s}
42. Ke2 {+M7/13 63s} Kh4 43. Kf3 {+M5/13 65s} Kh5 44. g4+ {+M3/13 45s}
fxg3 {White makes an illegal move: f5g4} 0-1

Out of 672 games 27 ended in abnormal terminations:

  • 12 stalls
  • 7 illegal moves
  • 5 disconnects
  • 3 losses on time

Clearly there's some debugging still to be done. :>

@tpoppins
Copy link
Author

Curiously, all five disconnects occurred when 160 moves have been completed for both sides, with Apollo playing black. Another game ended after 159 moves in a stalled connection. Apparently Apollo cannot last longer than four 40-move playing sessions.

@tpoppins
Copy link
Author

And now for something different -- Apollo achieves a completely winning position (mate in 6) and its eval goes completely haywire. 30 moves later the game ends in an illegal move.

[Event "Apollo 1.21 64-bit 40/40 Gauntlet"]
[Site "Dual E5-2670"]
[Date "2019.03.21"]
[Round "7"]
[White "EnkoChess 290818"]
[Black "Apollo 1.21 64-bit"]
[Result "0-1"]
[ECO "B22"]
[GameDuration "02:21:21"]
[GameEndTime "2019-03-21T10:22:11.968 Eastern Daylight Time"]
[GameStartTime "2019-03-21T08:00:50.741 Eastern Daylight Time"]
[Opening "Sicilian"]
[PlyCount "280"]
[Termination "illegal move"]
[TimeControl "40/1320"]
[Variation "Alapin's Variation (2.c3)"]

1. e4 {book} c5 {book} 2. c3 {book} Qa5 {book} 3. g3 {book} Nc6 {book}
4. Na3 {book} Nf6 {book} 5. Qc2 {37s} d5 {+0.12/15 33s} 6. exd5 {37s}
Nxd5 {+0.09/15 33s} 7. Qb3 {37s} e6 {+0.14/14 37s} 8. Bb5 {37s}
Qc7 {+0.12/14 73s} 9. Nf3 {37s} a6 {+0.10/14 34s} 10. Bxc6+ {37s}
Qxc6 {+0.22/15 52s} 11. Ne5 {37s} Qd6 {+0.24/15 49s} 12. Nac4 {37s}
Qd8 {+0.29/14 29s} 13. a4 {37s} f6 {+0.30/15 28s} 14. Nf3 {37s}
e5 {+0.30/15 72s} 15. h4 {37s} Rb8 {+0.48/13 40s} 16. d4 {37s} e4 {+0.42/13 27s}
17. Nfd2 {37s} cxd4 {+0.68/13 20s} 18. Nxe4 {37s} f5 {+0.53/14 28s}
19. Ng5 {37s} h6 {+0.43/14 36s} 20. Nf3 {37s} dxc3 {+0.39/14 35s} 21. bxc3 {37s}
f4 {+0.32/13 32s} 22. Bxf4 {37s} Nxf4 {+0.56/14 24s} 23. gxf4 {37s}
Qd5 {+0.61/13 33s} 24. Ncd2 {37s} Qxb3 {+0.84/18 41s} 25. Nxb3 {37s}
Bd6 {+0.74/17 26s} 26. Ne5 {37s} O-O {+0.91/16 19s} 27. Rd1 {37s}
Bc7 {+0.92/16 44s} 28. Rd4 {37s} Re8 {+0.92/14 17s} 29. O-O {37s}
Bxe5 {+0.95/14 20s} 30. fxe5 {37s} Rxe5 {+0.91/15 40s} 31. Rd8+ {37s}
Kh7 {+0.89/14 15s} 32. Nd4 {37s} Re4 {+1.34/14 37s} 33. f4 {37s}
Re3 {+0.85/13 16s} 34. Rc1 {37s} g6 {+0.88/13 18s} 35. Kf2 {37s}
Re4 {+0.76/14 19s} 36. Kg3 {37s} Ra8 {+0.73/13 9.8s} 37. Rf8 {37s}
a5 {+0.73/13 9.3s} 38. Rf7+ {37s} Kg8 {+0.40/15 12s} 39. Rc7 {37s}
Re8 {+0.59/14 15s} 40. Rg1 {35s} Kh8 {+0.53/14 31s} 41. Kh2 {33s}
Ra6 {-0.16/16 41s} 42. Nf3 {33s} Re2+ {-0.05/17 84s} 43. Rg2 {33s}
Rxg2+ {0.00/16 50s} 44. Kxg2 {33s} Bf5 {+0.21/15 78s} 45. Rxb7 {33s}
Bc2 {+0.17/14 53s} 46. Rb8+ {33s} Kh7 {+0.17/14 68s} 47. Rb7+ {33s}
Kg8 {+0.19/15 83s} 48. Rb8+ {33s} Kg7 {+0.18/14 46s} 49. Ne5 {33s}
Bxa4 {+0.19/14 60s} 50. Rb7+ {33s} Kf8 {+0.19/13 17s} 51. Rb8+ {33s}
Be8 {+0.25/12 12s} 52. c4 {33s} Ke7 {+0.28/12 9.3s} 53. c5 {33s}
Re6 {+0.30/12 11s} 54. Kh3 {33s} a4 {+0.30/13 12s} 55. Rb7+ {33s}
Kd8 {+0.30/14 23s} 56. Kg4 {33s} Rf6 {+0.30/13 8.7s} 57. Kg3 {33s}
h5 {+0.30/12 15s} 58. Rb8+ {33s} Ke7 {0.00/14 21s} 59. Rb7+ {33s}
Kd8 {0.00/14 13s} 60. Rb8+ {33s} Ke7 {0.00/15 30s} 61. Ra8 {33s}
Re6 {+0.30/13 10s} 62. Ra7+ {33s} Kd8 {+0.30/14 16s} 63. Kf2 {33s}
Kc8 {+0.30/14 19s} 64. Kg2 {33s} Kb8 {+0.30/14 12s} 65. Ra5 {33s}
Kb7 {+0.30/14 12s} 66. Kf2 {33s} Kc7 {+0.30/14 20s} 67. Ra7+ {33s}
Kb8 {+0.30/15 9.1s} 68. Ra5 {33s} Kb7 {+0.30/14 8.8s} 69. Nc4 {33s}
Kc7 {+0.30/14 23s} 70. Ra8 {33s} Bc6 {+0.30/14 18s} 71. Ra7+ {33s}
Kb8 {+0.33/14 26s} 72. Rf7 {33s} Bb5 {+0.51/13 17s} 73. Nd6 {33s}
Bd3 {+0.35/13 9.6s} 74. Rb7+ {33s} Ka8 {+0.37/15 15s} 75. Rb2 {33s}
a3 {+0.38/15 20s} 76. Rb3 {33s} Re2+ {+0.57/15 14s} 77. Kf3 {33s}
a2 {+0.57/15 18s} 78. Ra3+ {33s} Kb8 {+0.60/14 14s} 79. Ra5 {33s}
Rb2 {+0.63/13 14s} 80. Ke3 {32s} Bc2 {+0.65/13 22s} 81. Ra6 {33s}
Bb3 {+0.80/15 69s} 82. Rb6+ {33s} Kc7 {+1.02/18 289s} 83. Nb5+ {33s}
Kd8 {+3.66/17 56s} 84. Ra6 {33s} Rb1 {+3.75/15 66s} 85. Ra8+ {33s}
Ke7 {+3.94/16 39s} 86. Ra7+ {33s} Kf6 {+3.96/16 65s} 87. c6 {33s}
a1=R {+3.99/14 39s} 88. Rxa1 {33s} Rxa1 {+4.87/14 48s} 89. c7 {33s}
Be6 {+5.18/14 62s} 90. Nc3 {33s} Ke7 {+5.44/14 62s} 91. Nb5 {33s}
Rc1 {+5.44/13 55s} 92. Kd4 {33s} Bd7 {+5.54/13 31s} 93. Nc3 {33s}
Kd6 {+5.57/14 39s} 94. c8=Q {33s} Bxc8 {+6.31/15 56s} 95. Ne4+ {33s}
Ke7 {+6.34/14 71s} 96. Nc3 {33s} Rh1 {+6.36/13 34s} 97. Nd5+ {33s}
Kf7 {+6.58/13 29s} 98. Nc3 {33s} Bd7 {+6.53/13 56s} 99. Ne4 {33s}
Rxh4 {+6.60/13 40s} 100. Ke5 {33s} Rh1 {+6.66/12 5.8s} 101. Nd6+ {33s}
Ke7 {+6.72/12 11s} 102. Nc4 {33s} Re1+ {+7.07/11 6.5s} 103. Kd4 {33s}
h4 {+7.55/11 6.5s} 104. Nd2 {33s} h3 {+8.32/11 6.5s} 105. Nf3 {33s}
Bg4 {+9.49/12 14s} 106. Nh2 {33s} Bh5 {+10.02/12 5.4s} 107. Kd5 {33s}
Rh1 {+13.40/13 5.8s} 108. f5 {33s} Rxh2 {+17.50/13 7.6s} 109. fxg6 {33s}
Bxg6 {+17.52/12 8.1s} 110. Ke5 {33s} Rd2 {+21474824.17/12 6.6s} 111. Kf4 {33s}
h2 {+21474824.17/12 6.3s} 112. Ke3 {9.5s} Ra2 {+21474824.17/11 7.5s}
113. Kd4 {0.72s} Rc2 {+21474824.17/10 5.7s} 114. Ke5 h1=Q {+21474824.17/11 13s}
115. Kf4 Ra2 {+21474824.17/10 28s} 116. Kg5 Qh7 {+21474824.17/9 5.4s} 117. Kg4
Qh6 {+21474824.15/9 5.6s} 118. Kf3 Qc1 {+21474824.17/9 6.5s} 119. Kg4
Qe3 {+21474824.17/9 7.1s} 120. Kh4 Qf4+ {+21474824.17/9 6.0s} 121. Kh3
Qf1+ {+21474824.17/11 95s} 122. Kh4 Qf5 {+21474824.17/10 51s} 123. Kg3
Qh5 {+21474824.15/10 44s} 124. Kf4 Rg2 {+21474824.15/10 38s} 125. Ke3
Rc2 {+21474824.15/10 33s} 126. Kf4 Qd1 {+21474824.15/10 68s} 127. Kg3
Bh7 {+21474824.15/10 38s} 128. Kf4 Bd3 {+21474824.15/10 34s} 129. Ke3
Qe2+ {+21474824.15/10 29s} 130. Kf4 Qg2 {+21474824.15/10 26s} 131. Ke5
Qh3 {+21474824.15/10 26s} 132. Kd4 Bg6 {+21474824.15/10 25s} 133. Ke5
Qf3 {+21474824.15/10 24s} 134. Kd4 Bd3 {+21474824.15/10 51s} 135. Ke5
Qh5+ {+21474824.15/11 116s} 136. Kf4 Qe2 {+21474824.15/11 126s} 137. Kg5
Qe1 {+21474824.15/11 145s} 138. Kf4 Qe4+ {+21474824.15/11 117s} 139. Kg5
Qe6 {+21474824.15/11 92s} 140. Kh5 {76s}
Kd7 {+21474824.15/10 17s, White makes an illegal move: 0000} 0-1

@TheBlackPlague
Copy link

TheBlackPlague/StockNemo#10 - I am developing my own chess engine, StockNemo. Is the lack of ELO on Apollo's part because of that? StockNemo shouldn't be 2K ELO right now (AB-Search, MVVLVA/Promotion Move Ordering, Mate Distance Pruning, Draw Pruning, Transposition Table, Material + PSQT Evaluation, QSearch, Null Move Pruning) ... what are your thoughts?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants