From: jfa Date: Thu, 21 Oct 2021 10:39:36 +0000 (+0300) Subject: [bos #26531] [CEA] Shaper tests fail with SEGFAULT. Use copy of sys.modules to avoid... X-Git-Tag: V9_8_0b1~7 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=a13ff29bd87b42fa8e6fad7bdabe9da27e1f6a88;p=modules%2Fshaper.git [bos #26531] [CEA] Shaper tests fail with SEGFAULT. Use copy of sys.modules to avoid exception: dictionary changed size during iteration. --- diff --git a/src/PythonAPI/model/dump/DumpAssistant.py b/src/PythonAPI/model/dump/DumpAssistant.py index b1b40edeb..8c94d1e75 100644 --- a/src/PythonAPI/model/dump/DumpAssistant.py +++ b/src/PythonAPI/model/dump/DumpAssistant.py @@ -50,8 +50,11 @@ class DumpAssistant(ModelHighAPI.ModelHighAPI_Dumper): def collectFeatures(self): self.myFeatures = {} self.myWrapperNames = {} - for aModule in sys.modules: - for aName, anObj in inspect.getmembers(sys.modules[aModule], inspect.isclass): + # Fixing [bos #26531] [CEA] Shaper tests fail with SEGFAULT + # Use copy of sys.modules to avoid exception "dictionary changed size during iteration" + sys_modules = sys.modules.copy() + for aModule in sys_modules: + for aName, anObj in inspect.getmembers(sys_modules[aModule], inspect.isclass): if issubclass(anObj, ModelHighAPI.ModelHighAPI_Interface) and hasattr(anObj, "ID") and anObj.dump != ModelHighAPI.ModelHighAPI_Interface.dump: self.myFeatures[anObj.ID()] = anObj self.myWrapperNames[anObj.ID()] = aName