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.
```
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