usnistgov / fipy

FiPy is a Finite Volume PDE solver written in Python
http://pages.nist.gov/fipy/en/latest
Other
489 stars 148 forks source link

Mayavi viewer failing #1008

Open guyer opened 5 months ago

guyer commented 5 months ago

As reported in #1006, the Mayavi viewer is failing:

`FIPY_VIEWER=mayavi python examples/diffusion/circle.py` ```python INFO:root:******************************************************************************** INFO:root:logfile is: '/Users/guyer/.enthought/mayavi_e3/mayavi.log' INFO:root:******************************************************************************** DEBUG:mayavi.plugins.mayavi_workbench_application:---------- workbench application ---------- DEBUG:envisage.application:---------- application starting ---------- DEBUG:envisage.plugin_manager:plugin envisage.core starting WARNING:envisage.plugin:plugin has no Id - using WARNING:envisage.plugin:plugin has no Id - using DEBUG:envisage.provider_extension_registry:extensions to <[[], ['pkgfile://envisage.ui.workbench/preferences.ini'], ['pkgfile://mayavi/preferences/preferences.ini'], ['pkgfile://tvtk.plugins.scene/preferences.ini'], ['pkgfile://apptools.logger/plugin/preferences.ini'], [], [], [], [], []]> DEBUG:apptools.preferences.preferences:loading preferences from <<_io.BufferedReader name='/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/envisage/ui/workbench/preferences.ini'>> DEBUG:apptools.preferences.preferences:loading preferences from <<_io.BufferedReader name='/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/mayavi/preferences/preferences.ini'>> DEBUG:apptools.preferences.preferences:loading preferences from <<_io.BufferedReader name='/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/tvtk/plugins/scene/preferences.ini'>> DEBUG:apptools.preferences.preferences:loading preferences from <<_io.BufferedReader name='/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/apptools/logger/plugin/preferences.ini'>> DEBUG:envisage.provider_extension_registry:extensions to <[[], [, ], [], [], [], [], [], [], [], []]> DEBUG:envisage.service_registry:service <1> registered apptools.preferences.ui.preferences_manager.PreferencesManager DEBUG:envisage.service_registry:service <2> registered envisage.ui.workbench.workbench.Workbench DEBUG:envisage.plugin_manager:plugin envisage.core started DEBUG:envisage.plugin_manager:plugin envisage.ui.workbench starting DEBUG:envisage.plugin_manager:plugin envisage.ui.workbench started DEBUG:envisage.plugin_manager:plugin mayavi starting DEBUG:envisage.plugin_manager:plugin mayavi started DEBUG:envisage.plugin_manager:plugin tvtk.scene starting DEBUG:envisage.plugin_manager:plugin tvtk.scene started DEBUG:envisage.plugin_manager:plugin apptools.logger starting ERROR:pyface.ui.qt.workbench.workbench_window_layout:error creating view control [envisage.plugins.python_shell_view] Traceback (most recent call last): File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/pyface/ui/qt/workbench/workbench_window_layout.py", line 106, in add_view self._qt4_add_view(view, position, relative_to, size) File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/pyface/ui/qt/workbench/workbench_window_layout.py", line 469, in _qt4_add_view dw = self._qt4_create_view_dock_widget(view, size) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/pyface/ui/qt/workbench/workbench_window_layout.py", line 541, in _qt4_create_view_dock_widget view.control = view.create_control(dw.widget()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/envisage/plugins/python_shell/view/python_shell_view.py", line 123, in create_control self.bind(name, value) File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/envisage/plugins/python_shell/view/python_shell_view.py", line 178, in bind self.shell.bind(name, value) File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/pyface/i_python_shell.py", line 124, in bind self.interpreter().locals[name] = value ^^^^^^^^^^^^^^^^^^ File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/pyface/ui/qt/python_shell.py", line 88, in interpreter return self.control.interpreter ^^^^^^^^^^^^^^^^^^^^^^^^ AttributeError: 'NoneType' object has no attribute 'interpreter' ERROR|2024-02-14 09:52:29,366|error creating view control [envisage.plugins.python_shell_view] Traceback (most recent call last): File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/pyface/ui/qt/workbench/workbench_window_layout.py", line 106, in add_view self._qt4_add_view(view, position, relative_to, size) File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/pyface/ui/qt/workbench/workbench_window_layout.py", line 469, in _qt4_add_view dw = self._qt4_create_view_dock_widget(view, size) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/pyface/ui/qt/workbench/workbench_window_layout.py", line 541, in _qt4_create_view_dock_widget view.control = view.create_control(dw.widget()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/envisage/plugins/python_shell/view/python_shell_view.py", line 123, in create_control self.bind(name, value) File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/envisage/plugins/python_shell/view/python_shell_view.py", line 178, in bind self.shell.bind(name, value) File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/pyface/i_python_shell.py", line 124, in bind self.interpreter().locals[name] = value ^^^^^^^^^^^^^^^^^^ File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/pyface/ui/qt/python_shell.py", line 88, in interpreter return self.control.interpreter ^^^^^^^^^^^^^^^^^^^^^^^^ AttributeError: 'NoneType' object has no attribute 'interpreter' ERROR:traits:Exception occurred in traits notification handler for object: , trait: active_perspective, old value: None, new value: Perspective(Mayavi) Traceback (most recent call last): File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/pyface/ui/qt/workbench/workbench_window_layout.py", line 106, in add_view self._qt4_add_view(view, position, relative_to, size) File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/pyface/ui/qt/workbench/workbench_window_layout.py", line 469, in _qt4_add_view dw = self._qt4_create_view_dock_widget(view, size) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/pyface/ui/qt/workbench/workbench_window_layout.py", line 541, in _qt4_create_view_dock_widget view.control = view.create_control(dw.widget()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/envisage/plugins/python_shell/view/python_shell_view.py", line 123, in create_control self.bind(name, value) File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/envisage/plugins/python_shell/view/python_shell_view.py", line 178, in bind self.shell.bind(name, value) File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/pyface/i_python_shell.py", line 124, in bind self.interpreter().locals[name] = value ^^^^^^^^^^^^^^^^^^ File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/pyface/ui/qt/python_shell.py", line 88, in interpreter return self.control.interpreter ^^^^^^^^^^^^^^^^^^^^^^^^ AttributeError: 'NoneType' object has no attribute 'interpreter' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/traits/trait_notifiers.py", line 342, in __call__ self.handler(*args) File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/pyface/workbench/workbench_window.py", line 808, in _active_perspective_changed self._show_perspective(old, new) File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/pyface/workbench/workbench_window.py", line 756, in _show_perspective new.create(self) File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/pyface/workbench/perspective.py", line 97, in create self._add_contents(window, self.contents) File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/pyface/workbench/perspective.py", line 134, in _add_contents self._add_perspective_item(window, item) File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/pyface/workbench/perspective.py", line 155, in _add_perspective_item window.add_view( File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/pyface/workbench/workbench_window.py", line 297, in add_view self.layout.add_view(view, position, relative_to, size) File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/pyface/ui/qt/workbench/workbench_window_layout.py", line 115, in add_view view.destroy_control() File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/envisage/plugins/python_shell/view/python_shell_view.py", line 149, in destroy_control self.window.application.unregister_service(self._service_id) ^^^^^^^^^^^^^^^^ AttributeError: 'PythonShellView' object has no attribute '_service_id' ERROR|2024-02-14 09:52:29,404|Exception occurred in traits notification handler for object: , trait: active_perspective, old value: None, new value: Perspective(Mayavi) Traceback (most recent call last): File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/pyface/ui/qt/workbench/workbench_window_layout.py", line 106, in add_view self._qt4_add_view(view, position, relative_to, size) File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/pyface/ui/qt/workbench/workbench_window_layout.py", line 469, in _qt4_add_view dw = self._qt4_create_view_dock_widget(view, size) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/pyface/ui/qt/workbench/workbench_window_layout.py", line 541, in _qt4_create_view_dock_widget view.control = view.create_control(dw.widget()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/envisage/plugins/python_shell/view/python_shell_view.py", line 123, in create_control self.bind(name, value) File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/envisage/plugins/python_shell/view/python_shell_view.py", line 178, in bind self.shell.bind(name, value) File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/pyface/i_python_shell.py", line 124, in bind self.interpreter().locals[name] = value ^^^^^^^^^^^^^^^^^^ File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/pyface/ui/qt/python_shell.py", line 88, in interpreter return self.control.interpreter ^^^^^^^^^^^^^^^^^^^^^^^^ AttributeError: 'NoneType' object has no attribute 'interpreter' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/traits/trait_notifiers.py", line 342, in __call__ self.handler(*args) File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/pyface/workbench/workbench_window.py", line 808, in _active_perspective_changed self._show_perspective(old, new) File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/pyface/workbench/workbench_window.py", line 756, in _show_perspective new.create(self) File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/pyface/workbench/perspective.py", line 97, in create self._add_contents(window, self.contents) File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/pyface/workbench/perspective.py", line 134, in _add_contents self._add_perspective_item(window, item) File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/pyface/workbench/perspective.py", line 155, in _add_perspective_item window.add_view( File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/pyface/workbench/workbench_window.py", line 297, in add_view self.layout.add_view(view, position, relative_to, size) File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/pyface/ui/qt/workbench/workbench_window_layout.py", line 115, in add_view view.destroy_control() File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/envisage/plugins/python_shell/view/python_shell_view.py", line 149, in destroy_control self.window.application.unregister_service(self._service_id) ^^^^^^^^^^^^^^^^ AttributeError: 'PythonShellView' object has no attribute '_service_id' ERROR:envisage.plugin:getting extensions from Plugin(id='envisage.ui.workbench', name='Workbench'), trait Traceback (most recent call last): File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/envisage/plugin.py", line 326, in _get_extensions_from_trait extensions = getattr(self, trait_name) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/envisage/ui/workbench/workbench_plugin.py", line 185, in _my_action_sets_default from .default_action_set import DefaultActionSet File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/envisage/ui/workbench/default_action_set.py", line 21, in class DefaultActionSet(ActionSet): File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/envisage/ui/workbench/default_action_set.py", line 25, in DefaultActionSet Menu( File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/traits/trait_types.py", line 2695, in validate return TraitListObject(self, object, name, value) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/traits/trait_list_object.py", line 584, in __init__ super().__init__( File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/traits/trait_list_object.py", line 213, in __init__ super().__init__(self.item_validator(item) for item in iterable) File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/traits/trait_list_object.py", line 213, in super().__init__(self.item_validator(item) for item in iterable) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/traits/trait_list_object.py", line 867, in _item_validator return trait_validator(object, self.name, value) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/traits/base_trait_handler.py", line 74, in error raise TraitError( traits.trait_errors.TraitError: Each element of the 'groups' trait of a Menu instance must be a Group or None, but a value of 'OpenGroup' was specified. ERROR|2024-02-14 09:52:29,413|getting extensions from Plugin(id='envisage.ui.workbench', name='Workbench'), trait Traceback (most recent call last): File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/envisage/plugin.py", line 326, in _get_extensions_from_trait extensions = getattr(self, trait_name) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/envisage/ui/workbench/workbench_plugin.py", line 185, in _my_action_sets_default from .default_action_set import DefaultActionSet File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/envisage/ui/workbench/default_action_set.py", line 21, in class DefaultActionSet(ActionSet): File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/envisage/ui/workbench/default_action_set.py", line 25, in DefaultActionSet Menu( File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/traits/trait_types.py", line 2695, in validate return TraitListObject(self, object, name, value) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/traits/trait_list_object.py", line 584, in __init__ super().__init__( File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/traits/trait_list_object.py", line 213, in __init__ super().__init__(self.item_validator(item) for item in iterable) File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/traits/trait_list_object.py", line 213, in super().__init__(self.item_validator(item) for item in iterable) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/traits/trait_list_object.py", line 867, in _item_validator return trait_validator(object, self.name, value) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/traits/base_trait_handler.py", line 74, in error raise TraitError( traits.trait_errors.TraitError: Each element of the 'groups' trait of a Menu instance must be a Group or None, but a value of 'OpenGroup' was specified. ERROR:fipy:Uncaught exception: Traceback (most recent call last): File "/Users/guyer/Documents/research/FiPy/fipy/fipy/viewers/mayaviViewer/mayaviDaemon.py", line 328, in main(sys.argv[1:]) File "/Users/guyer/Documents/research/FiPy/fipy/fipy/viewers/mayaviViewer/mayaviDaemon.py", line 324, in main m.main(argv) File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/mayavi/plugins/app.py", line 197, in main app.run() File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/mayavi/plugins/mayavi_workbench_application.py", line 81, in run window.open() File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/pyface/workbench/workbench_window.py", line 159, in open self.create() File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/pyface/ui/qt/application_window.py", line 114, in create self._create_trim_widgets(self.control) File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/pyface/i_application_window.py", line 161, in _create_trim_widgets self._create_menu_bar(parent) File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/pyface/ui/qt/application_window.py", line 55, in _create_menu_bar if self.menu_bar_manager is not None: ^^^^^^^^^^^^^^^^^^^^^ File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/envisage/ui/workbench/workbench_window.py", line 106, in _menu_bar_manager_default return self._action_manager_builder.create_menu_bar_manager("MenuBar") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/envisage/ui/workbench/workbench_window.py", line 224, in __action_manager_builder_default window=self, action_sets=self.action_sets ^^^^^^^^^^^^^^^^ File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/envisage/ui/workbench/workbench_window.py", line 168, in _action_sets_default return [factory(window=self) for factory in self._action_sets] ^^^^^^^^^^^^^^^^^ File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/envisage/extension_point.py", line 122, in get extensions = extension_registry.get_extensions(self.id) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/envisage/application.py", line 206, in get_extensions return self.extension_registry.get_extensions(extension_point_id) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/envisage/extension_registry.py", line 110, in get_extensions return self._get_extensions(extension_point_id)[:] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/envisage/provider_extension_registry.py", line 99, in _get_extensions extensions = self._initialize_extensions(extension_point_id) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/envisage/provider_extension_registry.py", line 279, in _initialize_extensions extensions.append(provider.get_extensions(extension_point_id)[:]) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/envisage/plugin.py", line 137, in get_extensions extensions = self._get_extensions_from_trait(trait_names[0]) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/envisage/plugin.py", line 326, in _get_extensions_from_trait extensions = getattr(self, trait_name) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/envisage/ui/workbench/workbench_plugin.py", line 185, in _my_action_sets_default from .default_action_set import DefaultActionSet File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/envisage/ui/workbench/default_action_set.py", line 21, in class DefaultActionSet(ActionSet): File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/envisage/ui/workbench/default_action_set.py", line 25, in DefaultActionSet Menu( File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/traits/trait_types.py", line 2695, in validate return TraitListObject(self, object, name, value) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/traits/trait_list_object.py", line 584, in __init__ super().__init__( File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/traits/trait_list_object.py", line 213, in __init__ super().__init__(self.item_validator(item) for item in iterable) File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/traits/trait_list_object.py", line 213, in super().__init__(self.item_validator(item) for item in iterable) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/traits/trait_list_object.py", line 867, in _item_validator return trait_validator(object, self.name, value) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/traits/base_trait_handler.py", line 74, in error raise TraitError( traits.trait_errors.TraitError: Each element of the 'groups' trait of a Menu instance must be a Group or None, but a value of 'OpenGroup' was specified. ERROR|2024-02-14 09:52:29,419|Uncaught exception: Traceback (most recent call last): File "/Users/guyer/Documents/research/FiPy/fipy/fipy/viewers/mayaviViewer/mayaviDaemon.py", line 328, in main(sys.argv[1:]) File "/Users/guyer/Documents/research/FiPy/fipy/fipy/viewers/mayaviViewer/mayaviDaemon.py", line 324, in main m.main(argv) File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/mayavi/plugins/app.py", line 197, in main app.run() File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/mayavi/plugins/mayavi_workbench_application.py", line 81, in run window.open() File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/pyface/workbench/workbench_window.py", line 159, in open self.create() File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/pyface/ui/qt/application_window.py", line 114, in create self._create_trim_widgets(self.control) File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/pyface/i_application_window.py", line 161, in _create_trim_widgets self._create_menu_bar(parent) File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/pyface/ui/qt/application_window.py", line 55, in _create_menu_bar if self.menu_bar_manager is not None: ^^^^^^^^^^^^^^^^^^^^^ File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/envisage/ui/workbench/workbench_window.py", line 106, in _menu_bar_manager_default return self._action_manager_builder.create_menu_bar_manager("MenuBar") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/envisage/ui/workbench/workbench_window.py", line 224, in __action_manager_builder_default window=self, action_sets=self.action_sets ^^^^^^^^^^^^^^^^ File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/envisage/ui/workbench/workbench_window.py", line 168, in _action_sets_default return [factory(window=self) for factory in self._action_sets] ^^^^^^^^^^^^^^^^^ File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/envisage/extension_point.py", line 122, in get extensions = extension_registry.get_extensions(self.id) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/envisage/application.py", line 206, in get_extensions return self.extension_registry.get_extensions(extension_point_id) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/envisage/extension_registry.py", line 110, in get_extensions return self._get_extensions(extension_point_id)[:] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/envisage/provider_extension_registry.py", line 99, in _get_extensions extensions = self._initialize_extensions(extension_point_id) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/envisage/provider_extension_registry.py", line 279, in _initialize_extensions extensions.append(provider.get_extensions(extension_point_id)[:]) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/envisage/plugin.py", line 137, in get_extensions extensions = self._get_extensions_from_trait(trait_names[0]) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/envisage/plugin.py", line 326, in _get_extensions_from_trait extensions = getattr(self, trait_name) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/envisage/ui/workbench/workbench_plugin.py", line 185, in _my_action_sets_default from .default_action_set import DefaultActionSet File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/envisage/ui/workbench/default_action_set.py", line 21, in class DefaultActionSet(ActionSet): File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/envisage/ui/workbench/default_action_set.py", line 25, in DefaultActionSet Menu( File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/traits/trait_types.py", line 2695, in validate return TraitListObject(self, object, name, value) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/traits/trait_list_object.py", line 584, in __init__ super().__init__( File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/traits/trait_list_object.py", line 213, in __init__ super().__init__(self.item_validator(item) for item in iterable) File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/traits/trait_list_object.py", line 213, in super().__init__(self.item_validator(item) for item in iterable) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/traits/trait_list_object.py", line 867, in _item_validator return trait_validator(object, self.name, value) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/guyer/mambaforge-arm/envs/fipy311/lib/python3.11/site-packages/traits/base_trait_handler.py", line 74, in error raise TraitError( traits.trait_errors.TraitError: Each element of the 'groups' trait of a Menu instance must be a Group or None, but a value of 'OpenGroup' was specified. ```