Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#2692 closed defect (fixed)

One-shot triggersets: 'set' object has no attribute 'append'

Reported by: Tristan Croll Owned by: Eric Pettersen
Priority: normal Milestone:
Component: Core Version:
Keywords: Cc:
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

The following bug report has been submitted:
Platform:        Linux-3.10.0-957.12.2.el7.x86_64-x86_64-with-centos-7.6.1810-Core
ChimeraX Version: 0.91 (2019-12-10)
Description
Trying to use TriggerSet with `default_one_time=True` in `add_trigger()` leads to this (`TriggerSet._pending_del` is a set, not a list).

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

> isolde demo crystal_intro

> set selectionWidth 4

before.pdb title:  
Crystal structure of etub from clostridium kluyveri [more info...]  
  
Chain information for before.pdb #1  
---  
Chain | Description  
A | predicted microcompartment protein  
  
Done loading forcefield  
before.pdb title:  
Crystal structure of etub from clostridium kluyveri [more info...]  
  
Chain information for before.pdb  
---  
Chain | Description  
1.1/A | predicted microcompartment protein  
  

WARNING: multiple experimental reflection datasets found:  
(dataset) FOBS, SIGFOBS,  
(dataset) IOBS, SIGIOBS,  
(dataset) DANO, SIGDANO,  
(dataset) F(+), SIGF(+), F(-), SIGF(-),  
(dataset) I(+), SIGI(+), I(-), SIGI(-)  
Automatically choosing "(dataset) IOBS, SIGIOBS".  

Reflection data provided as intensities. Performing French & Wilson scaling to
convert to amplitudes...  
Loaded crystallographic demo: PDB ID 3io0  

> isolde demo crystal_intro

before.pdb title:  
Crystal structure of etub from clostridium kluyveri [more info...]  
  
Chain information for before.pdb #2  
---  
Chain | Description  
A | predicted microcompartment protein  
  
before.pdb title:  
Crystal structure of etub from clostridium kluyveri [more info...]  
  
Chain information for before.pdb  
---  
Chain | Description  
2.1/A | predicted microcompartment protein  
  

WARNING: multiple experimental reflection datasets found:  
(dataset) FOBS, SIGFOBS,  
(dataset) IOBS, SIGIOBS,  
(dataset) DANO, SIGDANO,  
(dataset) F(+), SIGF(+), F(-), SIGF(-),  
(dataset) I(+), SIGI(+), I(-), SIGI(-)  
Automatically choosing "(dataset) IOBS, SIGIOBS".  

Reflection data provided as intensities. Performing French & Wilson scaling to
convert to amplitudes...  
Loaded crystallographic demo: PDB ID 3io0  
Traceback (most recent call last):  
File "/opt/UCSF/ChimeraX-daily/lib/python3.7/site-
packages/chimerax/core/triggerset.py", line 130, in invoke  
return self._func(self._name, data)  
File "/home/tic20/.local/share/ChimeraX/0.91/site-
packages/chimerax/clipper/delayed_reaction.py", line 52, in callback  
self.ff(*self.ff_args)  
File "/home/tic20/.local/share/ChimeraX/0.91/site-
packages/chimerax/clipper/maps/map_handler_base.py", line 165, in
_use_fast_thread_result  
self._set_surface(va, na, ta, hidden_edges)  
File "/opt/UCSF/ChimeraX-daily/lib/python3.7/site-
packages/chimerax/map/volume.py", line 2106, in _set_surface  
self.set_geometry(va, na, ta)  
File "/opt/UCSF/ChimeraX-daily/lib/python3.7/site-
packages/chimerax/core/graphics/drawing.py", line 653, in set_geometry  
art()  
File "/home/tic20/.local/share/ChimeraX/0.91/site-
packages/chimerax/clipper/maps/mask_handler.py", line 268, in __call__  
self.set_surface_mask()  
File "/home/tic20/.local/share/ChimeraX/0.91/site-
packages/chimerax/clipper/maps/mask_handler.py", line 279, in set_surface_mask  
indices = numpy.where(self.mgr.get_vertex_mask(v))[0]  
File "/home/tic20/.local/share/ChimeraX/0.91/site-
packages/chimerax/clipper/maps/mask_handler.py", line 168, in get_vertex_mask  
self._update_mask()  
File "/home/tic20/.local/share/ChimeraX/0.91/site-
packages/chimerax/clipper/maps/mask_handler.py", line 163, in _update_mask  
self.triggers.activate_trigger('mask updated', None)  
File "/opt/UCSF/ChimeraX-daily/lib/python3.7/site-
packages/chimerax/core/triggerset.py", line 325, in activate_trigger  
trigger.activate(data)  
File "/opt/UCSF/ChimeraX-daily/lib/python3.7/site-
packages/chimerax/core/triggerset.py", line 188, in activate  
self._pending_del.append(handler)  
AttributeError: 'set' object has no attribute 'append'  
  
Error processing trigger "new frame":  
AttributeError: 'set' object has no attribute 'append'  
  
File "/opt/UCSF/ChimeraX-daily/lib/python3.7/site-
packages/chimerax/core/triggerset.py", line 188, in activate  
self._pending_del.append(handler)  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File "/opt/UCSF/ChimeraX-daily/lib/python3.7/site-
packages/chimerax/core/triggerset.py", line 130, in invoke  
return self._func(self._name, data)  
File "/home/tic20/.local/share/ChimeraX/0.91/site-
packages/chimerax/clipper/delayed_reaction.py", line 52, in callback  
self.ff(*self.ff_args)  
File "/home/tic20/.local/share/ChimeraX/0.91/site-
packages/chimerax/clipper/maps/map_handler_base.py", line 165, in
_use_fast_thread_result  
self._set_surface(va, na, ta, hidden_edges)  
File "/opt/UCSF/ChimeraX-daily/lib/python3.7/site-
packages/chimerax/map/volume.py", line 2106, in _set_surface  
self.set_geometry(va, na, ta)  
File "/opt/UCSF/ChimeraX-daily/lib/python3.7/site-
packages/chimerax/core/graphics/drawing.py", line 653, in set_geometry  
art()  
File "/home/tic20/.local/share/ChimeraX/0.91/site-
packages/chimerax/clipper/maps/mask_handler.py", line 268, in __call__  
self.set_surface_mask()  
File "/home/tic20/.local/share/ChimeraX/0.91/site-
packages/chimerax/clipper/maps/mask_handler.py", line 279, in set_surface_mask  
indices = numpy.where(self.mgr.get_vertex_mask(v))[0]  
File "/home/tic20/.local/share/ChimeraX/0.91/site-
packages/chimerax/clipper/maps/mask_handler.py", line 168, in get_vertex_mask  
self._update_mask()  
File "/home/tic20/.local/share/ChimeraX/0.91/site-
packages/chimerax/clipper/maps/mask_handler.py", line 163, in _update_mask  
self.triggers.activate_trigger('mask updated', None)  
File "/opt/UCSF/ChimeraX-daily/lib/python3.7/site-
packages/chimerax/core/triggerset.py", line 325, in activate_trigger  
trigger.activate(data)  
File "/opt/UCSF/ChimeraX-daily/lib/python3.7/site-
packages/chimerax/core/triggerset.py", line 188, in activate  
self._pending_del.append(handler)  
AttributeError: 'set' object has no attribute 'append'  
  
Error processing trigger "new frame":  
AttributeError: 'set' object has no attribute 'append'  
  
File "/opt/UCSF/ChimeraX-daily/lib/python3.7/site-
packages/chimerax/core/triggerset.py", line 188, in activate  
self._pending_del.append(handler)  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File "/opt/UCSF/ChimeraX-daily/lib/python3.7/site-
packages/chimerax/core/triggerset.py", line 130, in invoke  
return self._func(self._name, data)  
File "/home/tic20/.local/share/ChimeraX/0.91/site-
packages/chimerax/clipper/delayed_reaction.py", line 52, in callback  
self.ff(*self.ff_args)  
File "/home/tic20/.local/share/ChimeraX/0.91/site-
packages/chimerax/clipper/maps/map_handler_base.py", line 165, in
_use_fast_thread_result  
self._set_surface(va, na, ta, hidden_edges)  
File "/opt/UCSF/ChimeraX-daily/lib/python3.7/site-
packages/chimerax/map/volume.py", line 2106, in _set_surface  
self.set_geometry(va, na, ta)  
File "/opt/UCSF/ChimeraX-daily/lib/python3.7/site-
packages/chimerax/core/graphics/drawing.py", line 653, in set_geometry  
art()  
File "/home/tic20/.local/share/ChimeraX/0.91/site-
packages/chimerax/clipper/maps/mask_handler.py", line 268, in __call__  
self.set_surface_mask()  
File "/home/tic20/.local/share/ChimeraX/0.91/site-
packages/chimerax/clipper/maps/mask_handler.py", line 279, in set_surface_mask  
indices = numpy.where(self.mgr.get_vertex_mask(v))[0]  
File "/home/tic20/.local/share/ChimeraX/0.91/site-
packages/chimerax/clipper/maps/mask_handler.py", line 168, in get_vertex_mask  
self._update_mask()  
File "/home/tic20/.local/share/ChimeraX/0.91/site-
packages/chimerax/clipper/maps/mask_handler.py", line 163, in _update_mask  
self.triggers.activate_trigger('mask updated', None)  
File "/opt/UCSF/ChimeraX-daily/lib/python3.7/site-
packages/chimerax/core/triggerset.py", line 325, in activate_trigger  
trigger.activate(data)  
File "/opt/UCSF/ChimeraX-daily/lib/python3.7/site-
packages/chimerax/core/triggerset.py", line 188, in activate  
self._pending_del.append(handler)  
AttributeError: 'set' object has no attribute 'append'  
  
Error processing trigger "new frame":  
AttributeError: 'set' object has no attribute 'append'  
  
File "/opt/UCSF/ChimeraX-daily/lib/python3.7/site-
packages/chimerax/core/triggerset.py", line 188, in activate  
self._pending_del.append(handler)  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File "/opt/UCSF/ChimeraX-daily/lib/python3.7/site-
packages/chimerax/core/triggerset.py", line 130, in invoke  
return self._func(self._name, data)  
File "/home/tic20/.local/share/ChimeraX/0.91/site-
packages/chimerax/clipper/delayed_reaction.py", line 52, in callback  
self.ff(*self.ff_args)  
File "/home/tic20/.local/share/ChimeraX/0.91/site-
packages/chimerax/clipper/maps/map_handler_base.py", line 165, in
_use_fast_thread_result  
self._set_surface(va, na, ta, hidden_edges)  
File "/opt/UCSF/ChimeraX-daily/lib/python3.7/site-
packages/chimerax/map/volume.py", line 2106, in _set_surface  
self.set_geometry(va, na, ta)  
File "/opt/UCSF/ChimeraX-daily/lib/python3.7/site-
packages/chimerax/core/graphics/drawing.py", line 653, in set_geometry  
art()  
File "/home/tic20/.local/share/ChimeraX/0.91/site-
packages/chimerax/clipper/maps/mask_handler.py", line 268, in __call__  
self.set_surface_mask()  
File "/home/tic20/.local/share/ChimeraX/0.91/site-
packages/chimerax/clipper/maps/mask_handler.py", line 279, in set_surface_mask  
indices = numpy.where(self.mgr.get_vertex_mask(v))[0]  
File "/home/tic20/.local/share/ChimeraX/0.91/site-
packages/chimerax/clipper/maps/mask_handler.py", line 168, in get_vertex_mask  
self._update_mask()  
File "/home/tic20/.local/share/ChimeraX/0.91/site-
packages/chimerax/clipper/maps/mask_handler.py", line 163, in _update_mask  
self.triggers.activate_trigger('mask updated', None)  
File "/opt/UCSF/ChimeraX-daily/lib/python3.7/site-
packages/chimerax/core/triggerset.py", line 325, in activate_trigger  
trigger.activate(data)  
File "/opt/UCSF/ChimeraX-daily/lib/python3.7/site-
packages/chimerax/core/triggerset.py", line 188, in activate  
self._pending_del.append(handler)  
AttributeError: 'set' object has no attribute 'append'  
  
Error processing trigger "new frame":  
AttributeError: 'set' object has no attribute 'append'  
  
File "/opt/UCSF/ChimeraX-daily/lib/python3.7/site-
packages/chimerax/core/triggerset.py", line 188, in activate  
self._pending_del.append(handler)  
  
See log for complete Python traceback.  
  

> toolshed show Shell

/opt/UCSF/ChimeraX-daily/lib/python3.7/site-
packages/IPython/core/history.py:226: UserWarning: IPython History requires
SQLite, your history will not be saved  
warn("IPython History requires SQLite, your history will not be saved")  




OpenGL version: 3.3.0 NVIDIA 418.87.01
OpenGL renderer: TITAN Xp/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation

Change History (3)

comment:1 by Eric Pettersen, 6 years ago

Component: UnassignedCore
Owner: set to Eric Pettersen
Platform: all
Project: ChimeraX
Status: newaccepted
Summary: ChimeraX bug report submissionOne-shot triggersets: 'set' object has no attribute 'append'

comment:2 by Eric Pettersen, 6 years ago

Resolution: fixed
Status: acceptedclosed

I have committed a fix. As the only current user of default-one-shot triggersets, you will have to be the one to verify the fix. :-)

in reply to:  3 ; comment:3 by Tristan Croll, 6 years ago

Well, I *thought* I had an application for it. Now I’m not so sure...
 

 


Note: See TracTickets for help on using tickets.