Opened 6 years ago

Closed 6 years ago

#1894 closed defect (can't reproduce)

AttributeError: 'was_deleted' in PseudobondGroup

Reported by: k.futterer@… Owned by: Tom Goddard
Priority: normal Milestone:
Component: Graphics Version:
Keywords: Cc: pett
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

The following bug report has been submitted:
Platform:        Darwin-18.5.0-x86_64-i386-64bit
ChimeraX Version: 0.9 (2019-04-15)
Description
(Describe the actions that caused this problem to occur here)
opening of .csx file after launch of ChimeraX

Log:
UCSF ChimeraX version: 0.9 (2019-04-15)  
© 2016-2019 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> open /Users/futterer/Project/gpvi/chimeraX/g6b_2019-04-16_3.cxs format
session

opened ChimeraX session  
Exception ignored in: <function Drawing.__del__ at 0x1084288c8>  
Traceback (most recent call last):  
File
"/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/graphics/drawing.py", line 1084, in __del__  
if not self.was_deleted:  
File
"/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/atomic/attr_registration.py", line 39, in _getattr_  
return look_in_class._attr_registration.get_attr(attr_name)  
File
"/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/atomic/attr_registration.py", line 67, in get_attr  
raise AttributeError("'%s' object has no attribute '%s'" %
(self.class_.__name__, attr_name)) from None  
AttributeError: 'PseudobondGroup' object has no attribute 'was_deleted'  
Traceback (most recent call last):  
File
"/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/triggerset.py", line 130, in invoke  
return self._func(self._name, data)  
File
"/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/dist_monitor/monitor.py", line 103, in _changes_handler  
if pb.group in self.monitored_groups:  
File
"/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/atomic/attr_registration.py", line 39, in _getattr_  
return look_in_class._attr_registration.get_attr(attr_name)  
File
"/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/atomic/attr_registration.py", line 65, in get_attr  
raise AttributeError("Execution of '%s' object's '%s' property raised
AttributeError" % (self.class_.__name__, attr_name)) from None  
AttributeError: Execution of 'Pseudobond' object's 'group' property raised
AttributeError  
  
Error processing trigger "changes": Execution of 'Pseudobond' object's 'group'
property raised AttributeError:  
AttributeError: Execution of 'Pseudobond' object's 'group' property raised
AttributeError  
  
File
"/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/atomic/attr_registration.py", line 65, in get_attr  
raise AttributeError("Execution of '%s' object's '%s' property raised
AttributeError" % (self.class_.__name__, attr_name)) from None  
  
See log for complete Python traceback.  
  




OpenGL version: 4.1 INTEL-12.8.38
OpenGL renderer: Intel HD Graphics 5000 OpenGL Engine
OpenGL vendor: Intel Inc.

Change History (4)

comment:1 by pett, 6 years ago

Component: UnassignedGraphics
Owner: set to Tom Goddard
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionAttributeError: 'was_deleted' in PseudobondGroup

Reported by Klaus Futterer

comment:2 by Tom Goddard, 6 years ago

You would need to send us the ChimeraX session file to debug this.

comment:3 by Tom Goddard, 6 years ago

Cc: pett added

There are two error messages in the log on opening the session. The first seems impossible. It is in the first line of Drawing.del() and claims was_deleted is not an attribute of PseudobondGroup. But the was_deleted attribute is set in the Drawing constructor and is never removed so the error message seems like it must be wrong. The error message is not coming from Python builtin attribute lookup, it is coming from our atomic/attr_registration.py code so it may be a misleading error message.

The second message says pb.group raised AttributeError. Again it is atomic/attr_registration.py code reporting this. If this pseudobond belongs to the group deleted in the previous error message, that might explain this error. It would be good to know what the text of the pb.group (a property that makes a ctypes call) AttributeError said, but this seems to be lost in attr_registration.py raising its own AttributeError. Probably attr_registration should be preserving the text of the original error as part of its error message to assist debugging these situations.

comment:4 by Tom Goddard, 6 years ago

Resolution: can't reproduce
Status: assignedclosed

Not enough info to debug this without a session file.

Note: See TracTickets for help on using tickets.