fowode / pychess

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

pre-move deadlock #812

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
I was playing a fischer random game on FICS and while waiting for my opponent 
to move, I made a pre-move capture, PxNe4, after which my opponent's move, Bh7 
came through and then an immediate lockup occurred. This is end of the log:

16:11:05 Default Debug: GameModel.run: releasing self.applyingMoveLock
16:11:05 Default Debug: GameModel.run: id=139975616647888, players=[mgatto 
(1665), GuestVQLS (U)], self.ply=16: updating mgatto (1665)'s time
16:11:05 Default Debug: GameModel.run: id=139975616647888, players=[mgatto 
(1665), GuestVQLS (U)], self.ply=16: calling mgatto (1665).makeMove()
16:11:05 Default Debug: Human.makeMove: move=g8h7, board1=#White FAfa -
# ♜ ♝ ♛ ♚ . ♜ . . 
# ♟ ♟ . . . ♟ ♟ ♝ 
# . . . ♞ ♟ . ♞ ♟ 
# . . ♟ . . . . . 
# ♙ . . . ♘ ♙ . . 
# . . . ♙ . ♘ ♙ . 
# . ♙ ♙ . . . . ♙ 
# ♖ ♗ ♕ ♔ . ♖ ♗ . 
#  board2=#Black FAfa -
# ♜ ♝ ♛ ♚ . ♜ ♝ . 
# ♟ ♟ . . . ♟ ♟ . 
# . . . ♞ ♟ . ♞ ♟ 
# . . ♟ . . . . . 
# ♙ . . . ♘ ♙ . . 
# . . . ♙ . ♘ ♙ . 
# . ♙ ♙ . . . . ♙ 
# ♖ ♗ ♕ ♔ . ♖ ♗ . 
# 
16:11:07 ('GuestYDNR', 'raw') Debug: 
<wa> Pfehlauer 001029 0P0P1658P0P0P0P0P0P
fics% 
Pfehlauer Blitz (1029), Std (----), Wild (1658), Light(----), Bug(----)
  is now available for matches.
fics% 
16:11:07 ('GuestYDNR', 'nonmatched') Debug: 
16:11:07 ('GuestYDNR', 'lines') Debug: <wa> Pfehlauer 001029 0P0P1658P0P0P0P0P0P

Original issue reported on code.google.com by mattgatto on 25 Aug 2013 at 11:26

Attachments:

GoogleCodeExporter commented 9 years ago
Reverting that last change gets rid of the deadlock:

[gatto@fedora-19 pychess]$ hg diff
diff -r a904a3c874d4 lib/pychess/widgets/BoardView.py
--- a/lib/pychess/widgets/BoardView.py  Wed Aug 14 05:47:46 2013 -0700
+++ b/lib/pychess/widgets/BoardView.py  Tue Aug 27 05:55:44 2013 -0700
@@ -1386,9 +1386,9 @@
             self.showPrev()

     def setPremove(self, premovePiece, premove0, premove1, premovePly, promotion=None):
-        with self.animationLock:
-            self.premovePiece = premovePiece
-            self.premove0 = premove0
-            self.premove1 = premove1
-            self.premovePly = premovePly
-            self.premovePromotion = promotion
+#        with self.animationLock:
+        self.premovePiece = premovePiece
+        self.premove0 = premove0
+        self.premove1 = premove1
+        self.premovePly = premovePly
+        self.premovePromotion = promotion

Original comment by mattgatto on 27 Aug 2013 at 12:57

GoogleCodeExporter commented 9 years ago
This issue was closed by revision f3c870323931.

Original comment by gbtami on 27 Aug 2013 at 1:21

GoogleCodeExporter commented 9 years ago
Thx, Matt!

Original comment by gbtami on 27 Aug 2013 at 1:22