Aleks31 / pychess

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

connection.players.get_online_playernames() causes "RuntimeError: dictionary changed size during iteration" #803

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
I logged into FICS and played a game against a computer (Kurushi). I never 
opened the Chat window. After the game, Kurushi sent me an automated "thanks" 
message which led to a crash.

05:51:08 ('mgatto', 'lines') Debug: kurushi(C) says: thanks for playing Sjeng
05:51:08 ('mgatto', 'raw') Info: 85 xtell chlog show shout -t 30
05:51:08 ('GuestBSYP', 'raw') Debug: 
<wa> dragunz 001443 0P0P0P0P0P0P0P0P
fics% 
dragunz Blitz (1443), Std (----), Wild (----), Light(----), Bug(----)
  is now available for matches.
fics% 
05:51:08 ('GuestBSYP', 'nonmatched') Debug: 
05:51:08 ('GuestBSYP', 'lines') Debug: <wa> dragunz 001443 0P0P0P0P0P0P0P0P
05:51:08 ('mgatto', 'raw') Info: 86 inchannel shout
05:51:08 ('mgatto', 'raw') Info: 87 set shout 1
05:51:08 ('mgatto', 'raw') Info: 88 +channel shout
05:51:08 ('mgatto', 'raw') Info: 89 xtell chlog show cshout -t 30
05:51:08 stdout Debug: Traceback (most recent call last):
05:51:08 stdout Debug:   File 
"/home/gatto/code/hg/pychess/lib/pychess/widgets/ChatWindow.py", line 606, in 
onConversationAdded
05:51:08 stdout Debug:     panel.addItem(id, text, type, chatView)
05:51:08 stdout Debug:   File 
"/home/gatto/code/hg/pychess/lib/pychess/widgets/ChatWindow.py", line 295, in 
addItem
05:51:08 stdout Debug:     infoItem = self.ChannelInfoItem(id, text, chatView, 
self.connection)
05:51:08 stdout Debug:   File 
"/home/gatto/code/hg/pychess/lib/pychess/widgets/ChatWindow.py", line 382, in 
__init__
05:51:08 stdout Debug:     self.cm.getPeopleInChannel(id)
05:51:08 stdout Debug:   File 
"/home/gatto/code/hg/pychess/lib/pychess/ic/managers/ChatManager.py", line 246, 
in getPeopleInChannel
05:51:08 stdout Debug:     people = 
self.connection.players.get_online_playernames()
05:51:08 stdout Debug:   File 
"/home/gatto/code/hg/pychess/lib/pychess/ic/FICSObjects.py", line 393, in 
get_online_playernames
05:51:08 stdout Debug:     for player in self.players.itervalues():
05:51:08 stdout Debug: RuntimeError: dictionary changed size during iteration
05:51:08 ('mgatto', 'raw') Info: 90 set cshout 1
05:51:08 ('mgatto', 'raw') Info: 91 +channel cshout
05:51:08 stdout Debug: Traceback (most recent call last):
05:51:08 stdout Debug:   File 
"/home/gatto/code/hg/pychess/lib/pychess/widgets/ChatWindow.py", line 614, in 
onConversationSelected
05:51:08 stdout Debug:     panel.selectItem(id)
05:51:08 stdout Debug:   File 
"/home/gatto/code/hg/pychess/lib/pychess/widgets/ChatWindow.py", line 302, in 
selectItem
05:51:08 stdout Debug:     child = self.id2Widget[id] 
05:51:08 stdout Debug: KeyError: 'cshout'

Original issue reported on code.google.com by mattgatto on 2 Aug 2013 at 3:03

GoogleCodeExporter commented 8 years ago
This issue was closed by revision 95e693949cdc.

Original comment by gbtami on 3 Aug 2013 at 11:05