Opened 6 years ago

Closed 6 years ago

#2420 closed defect (fixed)

Error with nucleotide/ring graphics after session restore

Reported by: wenfeili@… Owned by: pett
Priority: normal Milestone:
Component: Depiction Version:
Keywords: Cc: Greg Couch
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

The following bug report has been submitted:
Platform:        Linux-4.4.0-154-generic-x86_64-with-debian-stretch-sid
ChimeraX Version: 0.91 (2019-07-18)
Description
i got this erro when i tried to open a previous session

Log:
UCSF ChimeraX version: 0.91 (2019-07-18)  
© 2016-2019 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> open 190915_ASL.cxs

opened ChimeraX session  
Traceback (most recent call last):  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/core/triggerset.py", line 130, in invoke  
return self._func(self._name, data)  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/atomic/nucleotides/_data.py", line 501, in rebuild  
_rebuild_molecule('internal', mol)  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/atomic/nucleotides/_data.py", line 621, in _rebuild_molecule  
mol.bounds() # need to recompute ribbon first TODO: another way?  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/atomic/structure.py", line 1691, in bounds  
self._update_graphics_if_needed() # Ribbon bounds computed from graphics  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/atomic/structure.py", line 314, in
_update_graphics_if_needed  
self._create_ring_graphics()  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/atomic/structure.py", line 500, in _create_ring_graphics  
atoms = ring.ordered_atoms  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/atomic/molc.py", line 161, in get_prop  
vcount = getattr(self, value_count)  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/atomic/molc.py", line 93, in get_prop  
cget(self._c_pointer_ref, 1, v_ref)  
AttributeError: 'Ring' object has no attribute '_c_pointer_ref'  
  
Error processing trigger "new frame": 'Ring' object has no attribute
'_c_pointer_ref':  
AttributeError: 'Ring' object has no attribute '_c_pointer_ref'  
  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/atomic/molc.py", line 93, in get_prop  
cget(self._c_pointer_ref, 1, v_ref)  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/core/triggerset.py", line 130, in invoke  
return self._func(self._name, data)  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/atomic/structure.py", line 2677, in
_update_graphics_if_needed  
s[i]._update_graphics_if_needed()  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/atomic/structure.py", line 314, in
_update_graphics_if_needed  
self._create_ring_graphics()  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/atomic/structure.py", line 500, in _create_ring_graphics  
atoms = ring.ordered_atoms  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/atomic/molc.py", line 161, in get_prop  
vcount = getattr(self, value_count)  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/atomic/molc.py", line 93, in get_prop  
cget(self._c_pointer_ref, 1, v_ref)  
AttributeError: 'Ring' object has no attribute '_c_pointer_ref'  
  
Error processing trigger "graphics update": 'Ring' object has no attribute
'_c_pointer_ref':  
AttributeError: 'Ring' object has no attribute '_c_pointer_ref'  
  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/atomic/molc.py", line 93, in get_prop  
cget(self._c_pointer_ref, 1, v_ref)  
  
See log for complete Python traceback.  
  
An error occurred in drawing the scene. Redrawing graphics is now stopped to
avoid a continuous stream of error messages. To restart graphics use the
command "graphics restart" after changing the settings that caused the error.  
  
Traceback (most recent call last):  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/core/updateloop.py", line 72, in draw_new_frame  
view.draw(check_for_changes = False)  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/core/graphics/view.py", line 164, in draw  
self._draw_scene(camera, drawings)  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/core/graphics/view.py", line 226, in _draw_scene  
draw_opaque(r, opaque_drawings)  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/core/graphics/drawing.py", line 1418, in draw_opaque  
_draw_multiple(drawings, renderer, Drawing.OPAQUE_DRAW_PASS)  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/core/graphics/drawing.py", line 1429, in _draw_multiple  
d.draw(renderer, draw_pass)  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/core/graphics/drawing.py", line 711, in draw  
if not self.display:  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/core/graphics/drawing.py", line 334, in get_display  
return self._any_displayed_positions and len(self._positions) > 0  
TypeError: object of type 'NoneType' has no len()  
  




OpenGL version: 3.3.0 NVIDIA 418.67
OpenGL renderer: GeForce GTX 1080/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation
File attachment: error2.png

error2.png

Attachments (2)

error2.png (43.6 KB ) - added by wenfeili@… 6 years ago.
Added by email2trac
foo.cxs (30.8 KB ) - added by Greg Couch 6 years ago.
example session using 2tpk

Download all attachments as: .zip

Change History (8)

by wenfeili@…, 6 years ago

Attachment: error2.png added

Added by email2trac

comment:1 by pett, 6 years ago

Component: UnassignedDepiction
Owner: set to Greg Couch
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionError with nucleotide/ring graphics after session restore

comment:2 by Greg Couch, 6 years ago

Status: assignedfeedback

Can you send me the session? If you want to keep it private, send it directly to me at gregc@…. Or you can send it as an attachement. Thanks.

comment:3 by Greg Couch, 6 years ago

Was able replicate by display an RNA structure (2tpk), then switched to the Filled base representation, saved a session, and then tried to restore it.

by Greg Couch, 6 years ago

Attachment: foo.cxs added

example session using 2tpk

comment:4 by Greg Couch, 6 years ago

Cc: Greg Couch added
Status: feedbackaccepted

comment:5 by Greg Couch, 6 years ago

Owner: changed from Greg Couch to pett
Status: acceptedassigned

Error is in Structure._create_ring_graphics(). In the loop over all_rings, the size of all_rings goes to zero after the first iteration.

comment:6 by pett, 6 years ago

Resolution: fixed
Status: assignedclosed

Ring-list info can change "spontaneously" if anything else cause a ring computation, so fetch out the info we actually need from the ring list and loop through that.

Note: See TracTickets for help on using tickets.