Opened 8 years ago
Closed 8 years ago
#763 closed defect (fixed)
undisplayed labels make everything really slow (and closing gives traceback?)
Reported by: | Elaine Meng | Owned by: | Tom Goddard |
---|---|---|---|
Priority: | major | Milestone: | |
Component: | Graphics | Version: | |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Notify when closed: | Platform: | all | |
Project: | ChimeraX |
Description
I don't know if the traceback is from the undisplayed labels, but I'm reporting both in this ticket since they occur with the same simple test case:
open 2gbp
hide
~cartoon
show ligand
la #1
... response time becomes very very slow. Maybe only the labels for the displayed subset of #1 should be created instead of all atoms of #1? Closing #1 at this point gives the traceback:
close
Traceback (most recent call last):
File "/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/chimerax/cmd_line/tool.py", line 178, in execute
cmd.run(cmd_text)
File "/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/chimerax/core/commands/cli.py", line 2395, in run
result = ci.function(session, kw_args)
File "/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/chimerax/core/commands/close.py", line 32, in close
m.close(cmodels)
File "/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/chimerax/core/models.py", line 403, in close
m.delete()
File "/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/chimerax/core/atomic/pbgroup.py", line 39, in delete
self.session.models.remove([self])
File "/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/chimerax/core/models.py", line 379, in remove
mlist.sort(key=lambda m: len(m.id), reverse=True)
File "/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/chimerax/core/models.py", line 379, in <lambda>
mlist.sort(key=lambda m: len(m.id), reverse=True)
TypeError: object of type 'NoneType' has no len()
TypeError: object of type 'NoneType' has no len()
File "/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/chimerax/core/models.py", line 379, in
mlist.sort(key=lambda m: len(m.id), reverse=True)
See log for complete Python traceback.
If you wish to report this error, send mail to chimerax-bugs@… and describe what you were doing and include a copy of the contents of the log.
Error processing trigger "graphics update"
Traceback (most recent call last):
File "/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/chimerax/core/triggerset.py", line 126, in invoke
return self._func(self._name, data)
File "/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/chimerax/label/label3d.py", line 231, in _update_graphics_if_needed
ld._update_graphics()
File "/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/chimerax/label/label3d.py", line 357, in _update_graphics
self._position_label()
File "/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/chimerax/label/label3d.py", line 387, in _position_label
xyz = self.location()
File "/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/chimerax/label/label3d.py", line 416, in location
return self.atom.coord
File "/Users/chimera/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/chimerax/core/atomic/molc.py", line 67, in get_prop
cget(self._c_pointer_ref, 1, v_ref)
AttributeError: 'Atom' object has no attribute '_c_pointer_ref'
Change History (5)
comment:1 by , 8 years ago
follow-up: 2 comment:2 by , 8 years ago
Sorry about including that traceback. Now I see that just opening and closing 2gbp does it. Should I make a separate ticket assigned to Eric?
follow-up: 3 comment:3 by , 8 years ago
I will fix the pseudobond group delete problem. Should be quick.
follow-up: 4 comment:4 by , 8 years ago
Whatever your fix is, make sure 1bna also opens without error — that’s where the problematic change came from (it’s structure-based hydrogen bond group gets changed into a global pseudobond group). —Eric
comment:5 by , 8 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Decided to let Eric fix the pseudobond group delete problem, made new ticket #764, not sure what his code change from Friday to the PseudobondGroup delete() method was trying to do, so best if he resolve it.
Fixed slow drawing with many hidden labels. The hidden labels were being repositioned to face the camera even when undisplayed.
The traceback appears to be a pseudobond group deletion bug unrelated to labels. I have not been able to reproduce that yet.