rajrakeshdr / pychess

Automatically exported from code.google.com/p/pychess
GNU General Public License v3.0
0 stars 0 forks source link

Error Bad SAN move #203

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Played a rated blitz game on FICS with svn head.

Got this:
Error Bad SAN move 'Bxc3'. No piece is able to move to c3. None None Bishop
0  available moves: Nd5 f5 g6 g8 Kd7 f7 d8 f8 Ra7 b8 Rf8 g8 Bh3 g4 f5 e6
xd7 Qxd1 d2+ xf2 xc3+ d3 e3 a4 b4 c4 xe4 c5 xd5 e5 4b6 d6 xa7 d7 d8 a5 c5
f5 b6 g6 h6 b5 g5 h5 O-O
r1b1k2r/1pp1n1pp/p1p2p2/8/3qP3/P1B5/1PP2PPP/R2Q1RK1 b kq - 0 11

I think pychess got confused a bit inside.

Original issue reported on code.google.com by gbtami on 13 Sep 2007 at 2:00

Attachments:

GoogleCodeExporter commented 9 years ago
And after this error, could you continue play? Did the game react as ended (I 
guess
when you look at the status message) or did PyChess perhaps freeze?

Original comment by lobais on 13 Sep 2007 at 2:49

GoogleCodeExporter commented 9 years ago
I'v lost the game with out of time, as the status line shows, koz after i took 
my
last move i waited for my partners move, but the error message appeared only 
after
some time, and the game was lost by time. I can't remember what was first, the 
error
message or the time out, but at least 1 min was before all, while i was waiting 
for
my opponents move. Pychess was not in freeze iirc.

Original comment by gbtami on 13 Sep 2007 at 3:17

GoogleCodeExporter commented 9 years ago
I wonder if there could still be valueable info in your ~/.pychess.log file.
However it might have be emptied due to oversize.

Original comment by lobais on 13 Sep 2007 at 4:11

GoogleCodeExporter commented 9 years ago
This happened in my office PC, so i can look after tomorrow only.

Original comment by gbtami on 13 Sep 2007 at 5:01

GoogleCodeExporter commented 9 years ago
The log file is empty :(

Original comment by gbtami on 14 Sep 2007 at 6:51

GoogleCodeExporter commented 9 years ago
Dammit,
I'm afraid we won't be able to do so much about it then.
I've changed the log system in revision 592, so it now saves up to ten log 
files.
I'll also add a line when people enter issues to attach the log.

For this particularly bug, I guess we'll have to wait for it to happen again, 
or hope
it disappears among other fixes.

Original comment by lobais on 14 Sep 2007 at 11:24

GoogleCodeExporter commented 9 years ago
Seems it appeared again in the btami vs. bazin, game 324.
log file and the saved game attached.

Original comment by gbtami on 15 Sep 2007 at 6:31

Attachments:

GoogleCodeExporter commented 9 years ago
Nice To have the log :)
The important lines are those:

2007-09-15 20:18:25 freechess.org#23 Debug: <d1> 324 79 Rxb6 c6b6r 2200 2671 0
2007-09-15 20:18:26 freechess.org#23 Debug: <d1> 324 80 Bxb6 d8b6r 921 74908 185
2007-09-15 20:18:29 freechess.org#23 Log: Kf1
2007-09-15 20:18:29 freechess.org#23 Debug: <d1> 324 80 Bxb6 d8b6r 921 74908 0

2007-09-15 20:18:29 stdout Debug: Pushing back
2007-09-15 20:18:29 freechess.org#23 Debug: (gbtami vs. bazin) gbtami forfeits 
on
time} 0-1

2007-09-15 20:18:30 stdout Debug: Error
2007-09-15 20:18:30 stdout Debug: Bad SAN move 'Bxb6'. No piece is able to move 
to
b6. None None Bishop 0  available moves: Kf1 h1 h2 xf1 h1 h2 Rb1 a2 c2 d2 e2 
xb1 a2
c2 d2 e2 b3 b4 b3 b4 b1 a2 c2 d2 e2 b1 a2 c2 d2 e2 b3 b4 b3 b4 f3 g3 h4 xf3 xg3 
xh4
f4 g4 f4 g4 8/5k1p/1b6/1P3pp1/3pp3/7P/1R3PP1/6K1 w - - 0 41
2007-09-15 20:18:30 stdout Debug: moves are
2007-09-15 20:18:30 stdout Debug: ['e4', 'c6', 'Nf3', 'd5', 'exd5', 'cxd5', 
'd4',
'Nc6', 'Bb5', 'Bg4', 'h3', 'Bd7', 'Bxc6', 'Bxc6', 'Bf4', 'Nf6', 'O-O', 'e6', 
'Nc3',
'Be7', 'Ne5', 'O-O', 'Nxc6', 'bxc6', 'Be5', 'c5', 'Nb5', 'cxd4', 'Nxd4', 'Rc8', 
'c3',
'Bd6', 'Bxf6', 'Qxf6', 'Qf3', 'Qxf3', 'Nxf3', 'Rc7', 'Nd4', 'Rb8', 'Nb3', 'Kf8',
'Rfd1', 'Ke7', 'Rac1', 'Bf4', 'Rc2', 'Kd6', 'Nd4', 'Be5', 'Rdd2', 'f5', 'a4', 
'Bf6',
'Nb5+', 'Rxb5', 'axb5', 'g5', 'c4', 'd4', 'b4', 'e5', 'c5+', 'Kd5', 'b6', 
'axb6',
'cxb6', 'Rb7', 'Rc7', 'Rxb6', 'Rb2', 'e4', 'Rc5+', 'Ke6', 'b5', 'Kf7', 'Rc6', 
'Bd8',
'Rxb6', 'Bxb6']

So we see taht you send Rxb6 with 2.671 secs left.
Your opponent answers Bxb6.
Then 3 secs after your opponents move you send Kf1.
Your opponents move is recived again :S

So it seams like the time loose is correct.
The real bug is the PyChess handling of the seccond recieving of your opponents 
move.
We could outfilter this, but it might be a good idea to explore why it is sent.

Original comment by lobais on 15 Sep 2007 at 10:09

GoogleCodeExporter commented 9 years ago
Yes, in this game the lose with time was correct. But the bug seems the same as 
in
the original bugreport, and if you look closer into the original bugrepors
screenshot, in that game i made my move and has enough time, and was just 
waiting
long time for my opponents move, then got the lose with time result. Strange...

Original comment by gbtami on 16 Sep 2007 at 9:42

GoogleCodeExporter commented 9 years ago
Ok, I've made some testgames on FICS, and it seams like the last move is always
resent when you run out of time.
Even though I wasn't able to reproduce the crash - guess it might require some 
stress
to ensure gamemodel isn't closed before the extra move is tried executured - 
PyChess
should now ignore moves like this.

Perhaps in the first case some big bad lag (or unknown bug) resulted in you 
actually
waiting for yourself, until you ran out of time and your opponent flagged you.

In any case, I think this can now be marked as fixed, at least as long as it 
doesn't
happen again.

Original comment by lobais on 18 Sep 2007 at 10:11