Opened 5 years ago

Closed 5 years ago

Last modified 5 years ago

#4405 closed defect (fixed)

self._positions is None

Reported by: m-schmid@… Owned by: Tom Goddard
Priority: normal Milestone:
Component: VR Version:
Keywords: Cc:
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

The following bug report has been submitted:
Platform:        Windows-10-10.0.18362
ChimeraX Version: 1.1 (2020-09-09 22:22:27 UTC)
Description
Opened a .cxs file

Log:
UCSF ChimeraX version: 1.1 (2020-09-09)  
© 2016-2020 Regents of the University of California. All rights reserved.  

> open X:/TOXOPLASMA/CONOID_HEIGHT/T22_markers.cxs

Traceback (most recent call last):  
File "C:\Program Files\ChimeraX 1.1\bin\lib\site-
packages\chimerax\core\triggerset.py", line 130, in invoke  
return self._func(self._name, data)  
File "C:\Program Files\ChimeraX 1.1\bin\lib\site-
packages\chimerax\vive\vr.py", line 1537, in _tool_window_show  
self._add_tool_panel(tool_window)  
File "C:\Program Files\ChimeraX 1.1\bin\lib\site-
packages\chimerax\vive\vr.py", line 1545, in _add_tool_panel  
p = Panel(tool_window, self._ui_model, self, add_titlebar = not is_toolbar)  
File "C:\Program Files\ChimeraX 1.1\bin\lib\site-
packages\chimerax\vive\vr.py", line 1911, in __init__  
drawing_parent.add_drawing(d)  
File "C:\Program Files\ChimeraX 1.1\bin\lib\site-
packages\chimerax\graphics\drawing.py", line 305, in add_drawing  
if self.display:  
File "C:\Program Files\ChimeraX 1.1\bin\lib\site-
packages\chimerax\graphics\drawing.py", line 355, in get_display  
return self._any_displayed_positions and len(self._positions) > 0  
TypeError: object of type 'NoneType' has no len()  
  
Error processing trigger "tool window show":  
TypeError: object of type 'NoneType' has no len()  
  
File "C:\Program Files\ChimeraX 1.1\bin\lib\site-
packages\chimerax\graphics\drawing.py", line 355, in get_display  
return self._any_displayed_positions and len(self._positions) > 0  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File "C:\Program Files\ChimeraX 1.1\bin\lib\site-
packages\chimerax\core\triggerset.py", line 130, in invoke  
return self._func(self._name, data)  
File "C:\Program Files\ChimeraX 1.1\bin\lib\site-
packages\chimerax\vive\vr.py", line 1537, in _tool_window_show  
self._add_tool_panel(tool_window)  
File "C:\Program Files\ChimeraX 1.1\bin\lib\site-
packages\chimerax\vive\vr.py", line 1545, in _add_tool_panel  
p = Panel(tool_window, self._ui_model, self, add_titlebar = not is_toolbar)  
File "C:\Program Files\ChimeraX 1.1\bin\lib\site-
packages\chimerax\vive\vr.py", line 1911, in __init__  
drawing_parent.add_drawing(d)  
File "C:\Program Files\ChimeraX 1.1\bin\lib\site-
packages\chimerax\graphics\drawing.py", line 305, in add_drawing  
if self.display:  
File "C:\Program Files\ChimeraX 1.1\bin\lib\site-
packages\chimerax\graphics\drawing.py", line 355, in get_display  
return self._any_displayed_positions and len(self._positions) > 0  
TypeError: object of type 'NoneType' has no len()  
  
Error processing trigger "tool window show":  
TypeError: object of type 'NoneType' has no len()  
  
File "C:\Program Files\ChimeraX 1.1\bin\lib\site-
packages\chimerax\graphics\drawing.py", line 355, in get_display  
return self._any_displayed_positions and len(self._positions) > 0  
  
See log for complete Python traceback.  
  
Log from Wed Mar 24 14:32:53 2021 Startup Messages  
---  
note | available bundle cache was for a different toolshed  
  
UCSF ChimeraX version: 1.1 (2020-09-09)  
© 2016-2020 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> open X:/TOXOPLASMA/CONOID_HEIGHT/T23-axy150u8.hdf

Opened T23-axy150u8.hdf, grid size 928,960,420, pixel 14.2, shown at step 1,
values uint8  

> volume #1 region 0,0,0,927,959,419 step 4

> volume #1 region 0,0,0,927,959,419 step 1 colorMode opaque8 showOutlineBox
> true imageMode "box faces"

> volume #1

> volume #1 level 86

> volume #1 change image level 79,0 level 89.99,0.8 level 180,1

> surface dust #1 size 200

> color height #1 center 0,0,0 axis z palette rainbow

> vr nearClipDistance 0.5

started SteamVR rendering  
VR mode mark point  

> marker #2 position 5548,5882,-381.4 color yellow radius 1

VR mode resize markers  

> marker change #2 radius 100

> vr false

> hide #!1 models

> show #!1 models

> vr true

started SteamVR rendering  

> marker #2 position 4431,5961,-368.5 color yellow radius 100

> marker #2 position 4437,5993,-427.6 color yellow radius 100

> marker #2 position 3839,8375,2723 color yellow radius 100

> marker #2 position 4561,6188,2537 color yellow radius 100

> marker #2 position 4302,8658,2725 color yellow radius 100

> marker #2 position 5229,6375,2421 color yellow radius 100

> marker #2 position 4754,8946,2834 color yellow radius 100

> marker #2 position 5986,6881,2389 color yellow radius 100

> marker #2 position 3220,8130,2996 color yellow radius 100

> marker #2 position 3867,6099,2748 color yellow radius 100

> marker #2 position 2572,7752,3442 color yellow radius 100

> marker #2 position 3288,5557,3330 color yellow radius 100

> help marker

> vr false

> turn y 180

> marker delete #2:1

Deleted 1 markers  

> marker delete #2:2

Deleted 1 markers  

> marker delete #2:3

Deleted 1 markers  

> marker link #2:4,5 radius 20 color white

> marker link #2:6,7 radius 20 color white

> marker link #2:88,9 radius 20 color white

marker link command requires exactly 2 markers, got 1  

> marker link #2:8,9 radius 20 color white

> marker link #2:10,11 radius 20 color white

> marker link #2:12,13 radius 20 color white

> hide #!1 models

> show #!1 models

> hide #!1 models

> show #!1 models

> save X:/TOXOPLASMA/CONOID_HEIGHT/T23_markers.cxs

> help distance

> distance #2:4 #2:5

Distance between /M mark 4 M and mark 5 M: 2309.883Å  

> distance #2:6 #2:7

Distance between /M mark 6 M and mark 7 M: 2482.802Å  

> distance #2:8 #2:9

Distance between /M mark 8 M and mark 9 M: 2445.361Å  

> distance #2:10 #2:11

Distance between /M mark 10 M and mark 11 M: 2145.351Å  

> distance #2:12 #2:13

Distance between /M mark 12 M and mark 13 M: 2311.031Å  

> save X:/TOXOPLASMA/CONOID_HEIGHT/T23_markers.cxs

> close session

> open X:/TOXOPLASMA/CONOID_HEIGHT/T22-axy150u8.hdf

Opened T22-axy150u8.hdf, grid size 928,960,357, pixel 14.2,14.2,14.2, shown at
step 1, values uint8  

> volume #1 region 0,0,0,927,959,356 step 4

> volume #1 region 0,0,0,927,959,356 step 1 colorMode opaque8 showOutlineBox
> true imageMode "box faces"

> volume #1

> color height #1 center 0,0,0 axis z palette rainbow

> volume #1 level 80

> volume #1 change image level 73,0 level 87,0.8 level 123,1

> surface dust #1 size 200

> vr true

started SteamVR rendering  

> marker #2 position 5666,8596,3687 color yellow radius 100

> marker #2 position 5854,5499,3978 color yellow radius 100

> marker #2 position 5208,8547,3554 color yellow radius 100

> marker #2 position 5492,5366,3870 color yellow radius 100

> marker #2 position 4905,8494,3289 color yellow radius 100

> marker #2 position 4737,5595,3660 color yellow radius 100

> marker #2 position 6069,8557,3721 color yellow radius 100

> marker #2 position 6447,5609,3965 color yellow radius 100

> marker #2 position 6781,8562,3363 color yellow radius 100

> marker #2 position 7493,6323,3821 color yellow radius 100

> vr false

> hide #!1 models

> distance #2:1 #2:2

Expected exactly two atoms and/or measurable objects (e.g. axes, planes), got
0  

> distance #2:14 #2:15

Distance between /M mark 14 M and mark 15 M: 3117.036Å  

> distance #2:14 #2:15 radius 20 color white

Distance already exists; modify distance properties with 'distance style'  

> marker link #2:14 #2:15 radius 20 color white

> marker link #2:16 #2:17 radius 20 color white

> marker link #2:18 #2:19 radius 20 color white

> marker link #2:20 #2:21 radius 20 color white

> marker link #2:22 #2:23 radius 20 color white

> distance #2:14 #2:15

Distance already exists; modify distance properties with 'distance style'  

> distance #2:16 #2:17

Distance between /M mark 16 M and mark 17 M: 3209.164Å  

> distance #2:18 #2:19

Distance between /M mark 18 M and mark 19 M: 2927.595Å  

> distance #2:20 #2:21

Distance between /M mark 20 M and mark 21 M: 2981.829Å  

> distance #2:22 #2:23

Distance between /M mark 22 M and mark 23 M: 2394.305Å  

> show #!1 models

> save X:/TOXOPLASMA/CONOID_HEIGHT/T22_markers.cxs

opened ChimeraX session  
Traceback (most recent call last):  
File "C:\Program Files\ChimeraX 1.1\bin\lib\site-
packages\chimerax\core\triggerset.py", line 130, in invoke  
return self._func(self._name, data)  
File "C:\Program Files\ChimeraX 1.1\bin\lib\site-
packages\chimerax\vive\vr.py", line 1537, in _tool_window_show  
self._add_tool_panel(tool_window)  
File "C:\Program Files\ChimeraX 1.1\bin\lib\site-
packages\chimerax\vive\vr.py", line 1545, in _add_tool_panel  
p = Panel(tool_window, self._ui_model, self, add_titlebar = not is_toolbar)  
File "C:\Program Files\ChimeraX 1.1\bin\lib\site-
packages\chimerax\vive\vr.py", line 1911, in __init__  
drawing_parent.add_drawing(d)  
AttributeError: 'NoneType' object has no attribute 'add_drawing'  
  
Error processing trigger "tool window show":  
AttributeError: 'NoneType' object has no attribute 'add_drawing'  
  
File "C:\Program Files\ChimeraX 1.1\bin\lib\site-
packages\chimerax\vive\vr.py", line 1911, in __init__  
drawing_parent.add_drawing(d)  
  
See log for complete Python traceback.  
  




OpenGL version: 3.3.0 NVIDIA 456.71
OpenGL renderer: GeForce GTX 1080/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation
Manufacturer: ASUS
Model: All Series
OS: Microsoft Windows 10 Pro (Build 18363)
Memory: 17,086,476,288
MaxProcessMemory: 137,438,953,344
CPU: 16 Intel(R) Core(TM) i7-6900K CPU @ 3.20GHz"
PyQt version: 5.12.3
Compiled Qt version: 5.12.4
Runtime Qt version: 5.12.9
Installed Packages:
    alabaster: 0.7.12
    appdirs: 1.4.4
    Babel: 2.8.0
    backcall: 0.2.0
    blockdiag: 2.0.1
    certifi: 2020.6.20
    chardet: 3.0.4
    ChimeraX-AddH: 2.1.1
    ChimeraX-AlignmentAlgorithms: 2.0
    ChimeraX-AlignmentHdrs: 3.2
    ChimeraX-AlignmentMatrices: 2.0
    ChimeraX-Alignments: 2.1
    ChimeraX-Arrays: 1.0
    ChimeraX-Atomic: 1.6.1
    ChimeraX-AtomSearch: 2.0
    ChimeraX-AxesPlanes: 2.0
    ChimeraX-BasicActions: 1.1
    ChimeraX-BILD: 1.0
    ChimeraX-BlastProtein: 1.0.1
    ChimeraX-BondRot: 2.0
    ChimeraX-BugReporter: 1.0
    ChimeraX-BuildStructure: 2.0
    ChimeraX-Bumps: 1.0
    ChimeraX-BundleBuilder: 1.0
    ChimeraX-ButtonPanel: 1.0
    ChimeraX-CageBuilder: 1.0
    ChimeraX-CellPack: 1.0
    ChimeraX-Centroids: 1.1
    ChimeraX-ChemGroup: 2.0
    ChimeraX-Clashes: 2.0
    ChimeraX-ColorActions: 1.0
    ChimeraX-ColorGlobe: 1.0
    ChimeraX-CommandLine: 1.1.3
    ChimeraX-ConnectStructure: 2.0
    ChimeraX-Contacts: 1.0
    ChimeraX-Core: 1.1
    ChimeraX-CoreFormats: 1.0
    ChimeraX-coulombic: 1.0.1
    ChimeraX-Crosslinks: 1.0
    ChimeraX-Crystal: 1.0
    ChimeraX-DataFormats: 1.0
    ChimeraX-Dicom: 1.0
    ChimeraX-DistMonitor: 1.1
    ChimeraX-DistUI: 1.0
    ChimeraX-Dssp: 2.0
    ChimeraX-EMDB-SFF: 1.0
    ChimeraX-ExperimentalCommands: 1.0
    ChimeraX-FileHistory: 1.0
    ChimeraX-FunctionKey: 1.0
    ChimeraX-Geometry: 1.1
    ChimeraX-gltf: 1.0
    ChimeraX-Graphics: 1.0
    ChimeraX-Hbonds: 2.0
    ChimeraX-Help: 1.0
    ChimeraX-HKCage: 1.0
    ChimeraX-IHM: 1.0
    ChimeraX-ImageFormats: 1.0
    ChimeraX-IMOD: 1.0
    ChimeraX-IO: 1.0
    ChimeraX-Label: 1.0
    ChimeraX-ListInfo: 1.0
    ChimeraX-Log: 1.1.1
    ChimeraX-LookingGlass: 1.1
    ChimeraX-Map: 1.0.1
    ChimeraX-MapData: 2.0
    ChimeraX-MapEraser: 1.0
    ChimeraX-MapFilter: 2.0
    ChimeraX-MapFit: 2.0
    ChimeraX-MapSeries: 2.0
    ChimeraX-Markers: 1.0
    ChimeraX-Mask: 1.0
    ChimeraX-MatchMaker: 1.1
    ChimeraX-MDcrds: 2.0
    ChimeraX-MedicalToolbar: 1.0.1
    ChimeraX-Meeting: 1.0
    ChimeraX-MLP: 1.0
    ChimeraX-mmCIF: 2.2
    ChimeraX-MMTF: 2.0
    ChimeraX-Modeller: 1.0
    ChimeraX-ModelPanel: 1.0
    ChimeraX-ModelSeries: 1.0
    ChimeraX-Mol2: 2.0
    ChimeraX-Morph: 1.0
    ChimeraX-MouseModes: 1.0
    ChimeraX-Movie: 1.0
    ChimeraX-Neuron: 1.0
    ChimeraX-Nucleotides: 2.0
    ChimeraX-OpenCommand: 1.2.1
    ChimeraX-PDB: 2.1
    ChimeraX-PDBBio: 1.0
    ChimeraX-PickBlobs: 1.0
    ChimeraX-Positions: 1.0
    ChimeraX-PresetMgr: 1.0
    ChimeraX-PubChem: 2.0
    ChimeraX-Read-Pbonds: 1.0
    ChimeraX-Registration: 1.1
    ChimeraX-RemoteControl: 1.0
    ChimeraX-ResidueFit: 1.0
    ChimeraX-RestServer: 1.0
    ChimeraX-RNALayout: 1.0
    ChimeraX-RotamerLibMgr: 2.0
    ChimeraX-RotamerLibsDunbrack: 2.0
    ChimeraX-RotamerLibsDynameomics: 2.0
    ChimeraX-RotamerLibsRichardson: 2.0
    ChimeraX-SaveCommand: 1.2
    ChimeraX-SchemeMgr: 1.0
    ChimeraX-SDF: 2.0
    ChimeraX-Segger: 1.0
    ChimeraX-Segment: 1.0
    ChimeraX-SeqView: 2.2
    ChimeraX-Shape: 1.0.1
    ChimeraX-Shell: 1.0
    ChimeraX-Shortcuts: 1.0
    ChimeraX-ShowAttr: 1.0
    ChimeraX-ShowSequences: 1.0
    ChimeraX-SideView: 1.0
    ChimeraX-Smiles: 2.0
    ChimeraX-SmoothLines: 1.0
    ChimeraX-SpaceNavigator: 1.0
    ChimeraX-StdCommands: 1.0.4
    ChimeraX-STL: 1.0
    ChimeraX-Storm: 1.0
    ChimeraX-Struts: 1.0
    ChimeraX-Surface: 1.0
    ChimeraX-SwapAA: 2.0
    ChimeraX-SwapRes: 2.0
    ChimeraX-TapeMeasure: 1.0
    ChimeraX-Test: 1.0
    ChimeraX-Toolbar: 1.0
    ChimeraX-ToolshedUtils: 1.0
    ChimeraX-Tug: 1.0
    ChimeraX-UI: 1.2.3
    ChimeraX-uniprot: 2.0
    ChimeraX-ViewDockX: 1.0
    ChimeraX-Vive: 1.1
    ChimeraX-VolumeMenu: 1.0
    ChimeraX-VTK: 1.0
    ChimeraX-WavefrontOBJ: 1.0
    ChimeraX-WebCam: 1.0
    ChimeraX-WebServices: 1.0
    ChimeraX-Zone: 1.0
    colorama: 0.4.3
    comtypes: 1.1.7
    cxservices: 1.0
    cycler: 0.10.0
    Cython: 0.29.20
    decorator: 4.4.2
    distlib: 0.3.1
    docutils: 0.16
    filelock: 3.0.12
    funcparserlib: 0.3.6
    gdcm: 2.8.8
    grako: 3.16.5
    h5py: 2.10.0
    html2text: 2020.1.16
    idna: 2.10
    ihm: 0.16
    imagecodecs: 2020.5.30
    imagecodecs-lite: 2020.1.31
    imagesize: 1.2.0
    ipykernel: 5.3.0
    ipython: 7.15.0
    ipython-genutils: 0.2.0
    jedi: 0.17.2
    Jinja2: 2.11.2
    jupyter-client: 6.1.3
    jupyter-core: 4.6.3
    kiwisolver: 1.2.0
    line-profiler: 2.1.2
    lxml: 4.5.1
    MarkupSafe: 1.1.1
    matplotlib: 3.2.1
    msgpack: 1.0.0
    netifaces: 0.10.9
    networkx: 2.4
    numexpr: 2.7.1
    numpy: 1.18.5+mkl
    numpydoc: 1.0.0
    openvr: 1.12.501
    packaging: 20.4
    parso: 0.7.1
    pickleshare: 0.7.5
    Pillow: 7.1.2
    pip: 20.2.2
    pkginfo: 1.5.0.1
    prompt-toolkit: 3.0.7
    psutil: 5.7.0
    pycollada: 0.7.1
    pydicom: 2.0.0
    Pygments: 2.6.1
    PyOpenGL: 3.1.5
    PyOpenGL-accelerate: 3.1.5
    pyparsing: 2.4.7
    PyQt5-commercial: 5.12.3
    PyQt5-sip: 4.19.19
    PyQtWebEngine-commercial: 5.12.1
    python-dateutil: 2.8.1
    pytz: 2020.1
    pywin32: 228
    pyzmq: 19.0.2
    qtconsole: 4.7.4
    QtPy: 1.9.0
    RandomWords: 0.3.0
    requests: 2.24.0
    scipy: 1.4.1
    setuptools: 49.4.0
    sfftk-rw: 0.6.6.dev0
    six: 1.15.0
    snowballstemmer: 2.0.0
    sortedcontainers: 2.2.2
    Sphinx: 3.1.1
    sphinxcontrib-applehelp: 1.0.2
    sphinxcontrib-blockdiag: 2.0.0
    sphinxcontrib-devhelp: 1.0.2
    sphinxcontrib-htmlhelp: 1.0.3
    sphinxcontrib-jsmath: 1.0.1
    sphinxcontrib-qthelp: 1.0.3
    sphinxcontrib-serializinghtml: 1.1.4
    suds-jurko: 0.6
    tables: 3.6.1
    tifffile: 2020.6.3
    tinyarray: 1.2.2
    tornado: 6.0.4
    traitlets: 5.0.4
    urllib3: 1.25.10
    wcwidth: 0.2.5
    webcolors: 1.11.1
    wheel: 0.34.2
    WMI: 1.5.1

Change History (6)

comment:1 by pett, 5 years ago

Component: UnassignedVR
Owner: set to Tom Goddard
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionself._positions is None

Despite the Reporter being chimeras-bug-report, my Mail app believes the sender is Michael Schmid.

comment:2 by Tom Goddard, 5 years ago

Reporter: changed from chimerax-bug-report@… to m-schmid@…

I am baffled. It might be a problem in the session file. Could you attach the session file?

open X:/TOXOPLASMA/CONOID_HEIGHT/T22_markers.cxs

The cause of the error is that the VR user interface panel has been deleted and a tool panel appears and the error happens when that tool panel is added to the dead VR user interface.

I could see how that might happen after deleting the VR user interface (maybe with the close command). Maybe if you are running VR and then open the session it first closes all existing models. But the log in this bug report looks like the session was opened right after starting ChimeraX and VR had not been started.

comment:3 by Tom Goddard, 5 years ago

It does look like the VR code does not properly clean up when the VR user interface model is closed. It doesn't remove the "tool window show" trigger handler which can lead to the dead user interface being called after it has been deleted. I will try to produce that error.

comment:4 by Tom Goddard, 5 years ago

Resolution: fixed
Status: assignedclosed

This bug was fixed 6 months ago after the ChimeraX 1.1 release. It happens when you are using VR and then you open another session that was saved while in VR. You can avoid this error in ChimeraX 1.1 by using command "vr off" before opening the session file. Or you can use the ChimeraX daily build where you can leave VR on. We will be releasing ChimeraX 1.2 in April that will also have this fix.

comment:5 by Tom Goddard, 5 years ago

Debugging this problem I found another bug that happens when you are in VR and open a VR session. Each time it reinitialized the VR when it should only be initialized once, and this caused slow down in rendering and an error after the 3rd or 4th time. Fixed this bug #4407 in the daily build.

in reply to:  6 ; comment:6 by m-schmid@…, 5 years ago

Hi-
Thanks. I haven't used ChimeraX for a while and it seems a bit sluggish in VR. Maybe it has accumulated some lard, like all of us during this time....
Mike

On 3/24/21, 7:54 PM, "ChimeraX" <ChimeraX-bugs-admin@cgl.ucsf.edu> wrote:

    #4405: self._positions is None
    ---------------------------------+-------------------------
              Reporter:  m-schmid@…  |      Owner:  Tom Goddard
                  Type:  defect      |     Status:  closed
              Priority:  normal      |  Milestone:
             Component:  VR          |    Version:
            Resolution:  fixed       |   Keywords:
            Blocked By:              |   Blocking:
    Notify when closed:              |   Platform:  all
               Project:  ChimeraX    |
    ---------------------------------+-------------------------

    Comment (by Tom Goddard):

     Debugging this problem I found another bug that happens when you are in VR
     and open a VR session.  Each time it reinitialized the VR when it should
     only be initialized once, and this caused slow down in rendering and an
     error after the 3rd or 4th time.  Fixed this bug #4407 in the daily build.

    --
    Ticket URL: <https://plato.cgl.ucsf.edu/trac/ChimeraX/ticket/4405#comment:5>
    ChimeraX <http://www.rbvi.ucsf.edu/chimerax/>
    ChimeraX Issue Tracker

Note: See TracTickets for help on using tickets.