Bug 1849549

Summary: Mayavi throws errors on startup
Product: [Fedora] Fedora Reporter: david08741
Component: MayaviAssignee: Orion Poplawski <orion>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 31CC: chedi.toueiti, orion, rakesh.pandit
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-07-03 01:37:14 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description david08741 2020-06-22 08:10:16 UTC
Description of problem:
mayavi2 raises various errors on startup:
👍 mayavi2 
Exception occurred in traits notification handler for object: <mayavi.plugins.envisage_engine.EnvisageEngine object at 0x7f315dce8e90>, trait: children_ui_list, old value: scenes_items, new value: [<mayavi.core.scene.Scene object at 0x7f315cdec830>]
Traceback (most recent call last):
  File "/usr/lib64/python3.7/site-packages/traits/trait_notifiers.py", line 591, in _dispatch_change_event
    self.dispatch(handler, *args)
  File "/usr/lib64/python3.7/site-packages/traits/trait_notifiers.py", line 695, in dispatch
    handler(*args)
  File "/usr/lib/python3.7/site-packages/traitsui/qt4/tree_editor.py", line 1530, in _children_replaced
    self._append_node(nid, child_node, child)
  File "/usr/lib/python3.7/site-packages/traitsui/qt4/tree_editor.py", line 415, in _append_node
    return self._insert_node(nid, None, node, object)
  File "/usr/lib/python3.7/site-packages/traitsui/qt4/tree_editor.py", line 432, in _insert_node
    self._add_listeners(node, object)
  File "/usr/lib/python3.7/site-packages/traitsui/qt4/tree_editor.py", line 634, in _add_listeners
    node.when_label_changed(object, self._label_updated, False)
  File "/usr/lib/python3.7/site-packages/traitsui/tree_node.py", line 1516, in when_label_changed
    return object.tno_when_label_changed(self, listener, remove)
  File "/usr/lib/python3.7/site-packages/traitsui/tree_node.py", line 1898, in tno_when_label_changed
    self._listener_cache[memo] = wrapped_listener
AttributeError: 'Scene' object has no attribute '_listener_cache'
ERROR|2020-06-22 10:02:50,514|Exception occurred in traits notification handler for object: <mayavi.plugins.envisage_engine.EnvisageEngine object at 0x7f315dce8e90>, trait: children_ui_list, old value: scenes_items, new value: [<mayavi.core.scene.Scene object at 0x7f315cdec830>]
Traceback (most recent call last):
  File "/usr/lib64/python3.7/site-packages/traits/trait_notifiers.py", line 591, in _dispatch_change_event
    self.dispatch(handler, *args)
  File "/usr/lib64/python3.7/site-packages/traits/trait_notifiers.py", line 695, in dispatch
    handler(*args)
  File "/usr/lib/python3.7/site-packages/traitsui/qt4/tree_editor.py", line 1530, in _children_replaced
    self._append_node(nid, child_node, child)
  File "/usr/lib/python3.7/site-packages/traitsui/qt4/tree_editor.py", line 415, in _append_node
    return self._insert_node(nid, None, node, object)
  File "/usr/lib/python3.7/site-packages/traitsui/qt4/tree_editor.py", line 432, in _insert_node
    self._add_listeners(node, object)
  File "/usr/lib/python3.7/site-packages/traitsui/qt4/tree_editor.py", line 634, in _add_listeners
    node.when_label_changed(object, self._label_updated, False)
  File "/usr/lib/python3.7/site-packages/traitsui/tree_node.py", line 1516, in when_label_changed
    return object.tno_when_label_changed(self, listener, remove)
  File "/usr/lib/python3.7/site-packages/traitsui/tree_node.py", line 1898, in tno_when_label_changed
    self._listener_cache[memo] = wrapped_listener
AttributeError: 'Scene' object has no attribute '_listener_cache'



It also refuses to close. It shows a dialog, confirming to quit. If I click yes, it prints the following error (but keeps running):
👍 mayavi2 
Exception occurred in traits notification handler for object: <mayavi.plugins.envisage_engine.EnvisageEngine object at 0x7f315dce8e90>, trait: children_ui_list, old value: scenes_items, new value: [<mayavi.core.scene.Scene object at 0x7f315cdec830>]
Traceback (most recent call last):
  File "/usr/lib64/python3.7/site-packages/traits/trait_notifiers.py", line 591, in _dispatch_change_event
    self.dispatch(handler, *args)
  File "/usr/lib64/python3.7/site-packages/traits/trait_notifiers.py", line 695, in dispatch
    handler(*args)
  File "/usr/lib/python3.7/site-packages/traitsui/qt4/tree_editor.py", line 1530, in _children_replaced
    self._append_node(nid, child_node, child)
  File "/usr/lib/python3.7/site-packages/traitsui/qt4/tree_editor.py", line 415, in _append_node
    return self._insert_node(nid, None, node, object)
  File "/usr/lib/python3.7/site-packages/traitsui/qt4/tree_editor.py", line 432, in _insert_node
    self._add_listeners(node, object)
  File "/usr/lib/python3.7/site-packages/traitsui/qt4/tree_editor.py", line 634, in _add_listeners
    node.when_label_changed(object, self._label_updated, False)
  File "/usr/lib/python3.7/site-packages/traitsui/tree_node.py", line 1516, in when_label_changed
    return object.tno_when_label_changed(self, listener, remove)
  File "/usr/lib/python3.7/site-packages/traitsui/tree_node.py", line 1898, in tno_when_label_changed
    self._listener_cache[memo] = wrapped_listener
AttributeError: 'Scene' object has no attribute '_listener_cache'
ERROR|2020-06-22 10:02:50,514|Exception occurred in traits notification handler for object: <mayavi.plugins.envisage_engine.EnvisageEngine object at 0x7f315dce8e90>, trait: children_ui_list, old value: scenes_items, new value: [<mayavi.core.scene.Scene object at 0x7f315cdec830>]
Traceback (most recent call last):
  File "/usr/lib64/python3.7/site-packages/traits/trait_notifiers.py", line 591, in _dispatch_change_event
    self.dispatch(handler, *args)
  File "/usr/lib64/python3.7/site-packages/traits/trait_notifiers.py", line 695, in dispatch
    handler(*args)
  File "/usr/lib/python3.7/site-packages/traitsui/qt4/tree_editor.py", line 1530, in _children_replaced
    self._append_node(nid, child_node, child)
  File "/usr/lib/python3.7/site-packages/traitsui/qt4/tree_editor.py", line 415, in _append_node
    return self._insert_node(nid, None, node, object)
  File "/usr/lib/python3.7/site-packages/traitsui/qt4/tree_editor.py", line 432, in _insert_node
    self._add_listeners(node, object)
  File "/usr/lib/python3.7/site-packages/traitsui/qt4/tree_editor.py", line 634, in _add_listeners
    node.when_label_changed(object, self._label_updated, False)
  File "/usr/lib/python3.7/site-packages/traitsui/tree_node.py", line 1516, in when_label_changed
    return object.tno_when_label_changed(self, listener, remove)
  File "/usr/lib/python3.7/site-packages/traitsui/tree_node.py", line 1898, in tno_when_label_changed
    self._listener_cache[memo] = wrapped_listener
AttributeError: 'Scene' object has no attribute '_listener_cache'


Ctrl-C is also ignored.

Only xkill / SIGTERM / SIGKILL does the job of stopping mayavi

Version-Release number of selected component (if applicable):
Mayavi-4.7.1-2.fc31.x86_64

How reproducible:
Always

Steps to Reproduce:
1. mayavi2
2. Alt-F4 (or whatever your windowmanager uses)
3. Click yes

Actual results:
Errors on startup + no exit

Expected results:
no errors on startup + exits cleanly

Comment 1 Fedora Update System 2020-06-24 03:45:13 UTC
FEDORA-2020-7f588ead48 has been submitted as an update to Fedora 31. https://bodhi.fedoraproject.org/updates/FEDORA-2020-7f588ead48

Comment 2 Fedora Update System 2020-06-25 00:57:12 UTC
FEDORA-2020-7f588ead48 has been pushed to the Fedora 31 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-7f588ead48`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-7f588ead48

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 3 Fedora Update System 2020-07-03 01:37:14 UTC
FEDORA-2020-7f588ead48 has been pushed to the Fedora 31 stable repository.
If problem still persists, please make note of it in this bug report.