Project

General

Profile

Actions

Bug #5632

open

kill application change dictionary size during iteration

Added by Anchi Cheng over 6 years ago. Updated over 6 years ago.

Status:
Assigned
Priority:
Normal
Assignee:
Category:
-
Start date:
03/26/2018
Due date:
% Done:

0%

Estimated time:
Affected Version:
Appion/Leginon 3.3
Show in known bugs:
No
Workaround:

Description

Exception in thread data binder handler thread:
Traceback (most recent call last):
File "/Users/acheng/miniconda/lib/python2.7/threading.py", line 801, in _bootstrap_inner
self.run()
File "/Users/acheng/miniconda/lib/python2.7/threading.py", line 754, in run
self.
_target(*self.__args, **self.__kwargs)
File "/Users/acheng/myami/leginon/manager.py", line 42, in handleData
method(args)
File "/Users/acheng/myami/leginon/manager.py", line 563, in unregisterNode
self.removeNode(nodename)
File "/Users/acheng/myami/leginon/manager.py", line 590, in removeNode
self.removeNodeDistmaps(name)
File "/Users/acheng/myami/leginon/manager.py", line 606, in removeNodeDistmaps
for othernodename in self.distmap[eventclass]:
RuntimeError: dictionary changed size during iteration

Actions #1

Updated by Anchi Cheng over 6 years ago

  • Assignee set to Anchi Cheng

make a copy of distmap before looping should be enough since killed node are handled in the loop.

Actions #2

Updated by Anchi Cheng over 6 years ago

Changed to use list(dict) to copy keys.

Actions #3

Updated by Anchi Cheng over 6 years ago

  • Subject changed from kill application thread not synced to kill application change dictionary size during iteration
Actions

Also available in: Atom PDF