Opened 2 years ago

Closed 2 years ago

#9719 closed defect (fixed)

Error starting VR with OpenXR: 'NoneType' object has no attribute 'angle_left'

Reported by: goddard@… 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.19045
ChimeraX Version: 1.7.dev202308250224 (2023-08-25 02:24:41 UTC)
Description
Enabled vr with openxr and immediately got this error.

Log:
UCSF ChimeraX version: 1.7.dev202308250224 (2023-08-25)  
© 2016-2023 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> open 3nox format mmcif fromDatabase pdb

3nox title:  
Crystal structure of human DPP-IV in complex with
Sa-(+)-(6-(aminomethyl)-5-(2,4-dichlorophenyl)-7-methylimidazo[1,2-a]pyrimidin-2-yl)(morpholino)methanone
[more info...]  
  
Chain information for 3nox #1  
---  
Chain | Description | UniProt  
A B | Dipeptidyl-peptidase 4 (CD26, adenosine deaminase complexing protein 2)
| Q53TN1_HUMAN 39-766  
  
Non-standard residues in 3nox #1  
---  
6A5 —
Sa-(+)-(6-(aminomethyl)-5-(2,4-dichlorophenyl)-7-methylimidazo[1,2-a]pyrimidin-2-yl)(morpholino)methanone
(1-[5-(2,4-dichlorophenyl)-7-methyl-2-(morpholin-4-ylcarbonyl)imidazo[1,2-a]pyrimidin-6-yl]methanamine;
6-(aminomethyl)-5-(2,4-dichlorophenyl)-7-methyl-2-(morpholin-4-ylcarbonyl)imidazo[1,2-a]pyrimidin-4-ium-1-ide)  
GOL — glycerol (glycerin; propane-1,2,3-triol)  
NAG — 2-acetamido-2-deoxy-beta-D-glucopyranose (N-acetyl-beta-D-glucosamine;
2-acetamido-2-deoxy-beta-D-glucose; 2-acetamido-2-deoxy-D-glucose;
2-acetamido-2-deoxy-glucose; N-ACETYL-D-GLUCOSAMINE)  
  

> xr true

OpenXR runtime: Oculus  
OpenXR system: Oculus Quest2  
started OpenXR rendering  
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.  
  
'NoneType' object has no attribute 'angle_left'  
  
Traceback (most recent call last):  
File "C:\cygwin64\home\goddard\ucsf\chimerax\ChimeraX.app\bin\Lib\site-
packages\chimerax\core\updateloop.py", line 73, in draw_new_frame  
view.draw(check_for_changes = False)  
File "C:\cygwin64\home\goddard\ucsf\chimerax\ChimeraX.app\bin\Lib\site-
packages\chimerax\graphics\view.py", line 177, in draw  
self._draw_scene(camera, drawings)  
File "C:\cygwin64\home\goddard\ucsf\chimerax\ChimeraX.app\bin\Lib\site-
packages\chimerax\graphics\view.py", line 228, in _draw_scene  
self._update_projection(camera, vnum)  
File "C:\cygwin64\home\goddard\ucsf\chimerax\ChimeraX.app\bin\Lib\site-
packages\chimerax\graphics\view.py", line 922, in _update_projection  
pm = camera.projection_matrix(near_far, view_num, (ww, wh))  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\cygwin64\home\goddard\ucsf\chimerax\ChimeraX.app\bin\Lib\site-
packages\chimerax\vive\xr.py", line 954, in projection_matrix  
self._update_projection(view_num)  
File "C:\cygwin64\home\goddard\ucsf\chimerax\ChimeraX.app\bin\Lib\site-
packages\chimerax\vive\xr.py", line 618, in _update_projection  
fov4 = (xr_fov.angle_left, xr_fov.angle_right, xr_fov.angle_down,
xr_fov.angle_up)  
^^^^^^^^^^^^^^^^^  
AttributeError: 'NoneType' object has no attribute 'angle_left'  
  




OpenGL version: 3.3.0 NVIDIA 536.23
OpenGL renderer: NVIDIA GeForce GTX 1080 Ti/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation

Python: 3.11.2
Locale: en_US.cp1252
Qt version: PyQt6 6.3.1, Qt 6.3.1
Qt runtime version: 6.3.2
Qt platform: windows

Manufacturer: Gigabyte Technology Co., Ltd.
Model: Z270X-Gaming K7
OS: Microsoft Windows 10 Home (Build 19045)
Memory: 17,129,693,184
MaxProcessMemory: 137,438,953,344
CPU: 8 Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz
OSLanguage: en-US

Installed Packages:
    alabaster: 0.7.13
    appdirs: 1.4.4
    asttokens: 2.2.1
    Babel: 2.12.1
    backcall: 0.2.0
    beautifulsoup4: 4.11.2
    blockdiag: 3.0.0
    blosc2: 2.0.0
    build: 0.10.0
    certifi: 2023.7.22
    cftime: 1.6.2
    charset-normalizer: 3.2.0
    ChimeraX-AddCharge: 1.5.11
    ChimeraX-AddH: 2.2.5
    ChimeraX-AlignmentAlgorithms: 2.0.1
    ChimeraX-AlignmentHdrs: 3.4
    ChimeraX-AlignmentMatrices: 2.1
    ChimeraX-Alignments: 2.9.3
    ChimeraX-AlphaFold: 1.0
    ChimeraX-AltlocExplorer: 1.1.1
    ChimeraX-AmberInfo: 1.0
    ChimeraX-Arrays: 1.1
    ChimeraX-Atomic: 1.47.1
    ChimeraX-AtomicLibrary: 10.0.8
    ChimeraX-AtomSearch: 2.0.1
    ChimeraX-AxesPlanes: 2.3.2
    ChimeraX-BasicActions: 1.1.2
    ChimeraX-BILD: 1.0
    ChimeraX-BlastProtein: 2.1.2
    ChimeraX-BondRot: 2.0.4
    ChimeraX-BugReporter: 1.0.1
    ChimeraX-BuildStructure: 2.10.4
    ChimeraX-Bumps: 1.0
    ChimeraX-BundleBuilder: 1.2.2
    ChimeraX-ButtonPanel: 1.0.1
    ChimeraX-CageBuilder: 1.0.1
    ChimeraX-CellPack: 1.0
    ChimeraX-Centroids: 1.3.2
    ChimeraX-ChangeChains: 1.0.2
    ChimeraX-CheckWaters: 1.3.1
    ChimeraX-ChemGroup: 2.0.1
    ChimeraX-Clashes: 2.2.4
    ChimeraX-ColorActions: 1.0.3
    ChimeraX-ColorGlobe: 1.0
    ChimeraX-ColorKey: 1.5.3
    ChimeraX-CommandLine: 1.2.5
    ChimeraX-ConnectStructure: 2.0.1
    ChimeraX-Contacts: 1.0.1
    ChimeraX-Core: 1.7.dev202308250224
    ChimeraX-CoreFormats: 1.1
    ChimeraX-coulombic: 1.4.2
    ChimeraX-Crosslinks: 1.0
    ChimeraX-Crystal: 1.0
    ChimeraX-CrystalContacts: 1.0.1
    ChimeraX-DataFormats: 1.2.3
    ChimeraX-Dicom: 1.2
    ChimeraX-DistMonitor: 1.4
    ChimeraX-DockPrep: 1.1.2
    ChimeraX-Dssp: 2.0
    ChimeraX-EMDB-SFF: 1.0
    ChimeraX-ESMFold: 1.0
    ChimeraX-FileHistory: 1.0.1
    ChimeraX-FunctionKey: 1.0.1
    ChimeraX-Geometry: 1.3
    ChimeraX-gltf: 1.0
    ChimeraX-Graphics: 1.1.1
    ChimeraX-Hbonds: 2.4
    ChimeraX-Help: 1.2.2
    ChimeraX-HKCage: 1.3
    ChimeraX-IHM: 1.1
    ChimeraX-ImageFormats: 1.2
    ChimeraX-IMOD: 1.0
    ChimeraX-IO: 1.0.1
    ChimeraX-ItemsInspection: 1.0.1
    ChimeraX-IUPAC: 1.0
    ChimeraX-Label: 1.1.8
    ChimeraX-ListInfo: 1.2
    ChimeraX-Log: 1.1.5
    ChimeraX-LookingGlass: 1.1
    ChimeraX-Maestro: 1.9
    ChimeraX-Map: 1.1.4
    ChimeraX-MapData: 2.0
    ChimeraX-MapEraser: 1.0.1
    ChimeraX-MapFilter: 2.0.1
    ChimeraX-MapFit: 2.0
    ChimeraX-MapSeries: 2.1.1
    ChimeraX-Markers: 1.0.1
    ChimeraX-Mask: 1.0.2
    ChimeraX-MatchMaker: 2.1.2
    ChimeraX-MCopy: 1.0
    ChimeraX-MDcrds: 2.6
    ChimeraX-MedicalToolbar: 1.0.2
    ChimeraX-Meeting: 1.0.1
    ChimeraX-MLP: 1.1.1
    ChimeraX-mmCIF: 2.12.1
    ChimeraX-MMTF: 2.2
    ChimeraX-Modeller: 1.5.12
    ChimeraX-ModelPanel: 1.4
    ChimeraX-ModelSeries: 1.0.1
    ChimeraX-Mol2: 2.0.2
    ChimeraX-Mole: 1.0
    ChimeraX-Morph: 1.0.2
    ChimeraX-MouseModes: 1.2
    ChimeraX-Movie: 1.0
    ChimeraX-Neuron: 1.0
    ChimeraX-Nifti: 1.1
    ChimeraX-NRRD: 1.1
    ChimeraX-Nucleotides: 2.0.3
    ChimeraX-OpenCommand: 1.10.2
    ChimeraX-PDB: 2.7.2
    ChimeraX-PDBBio: 1.0.1
    ChimeraX-PDBLibrary: 1.0.2
    ChimeraX-PDBMatrices: 1.0
    ChimeraX-PickBlobs: 1.0.1
    ChimeraX-Positions: 1.0
    ChimeraX-PresetMgr: 1.1
    ChimeraX-PubChem: 2.1
    ChimeraX-ReadPbonds: 1.0.1
    ChimeraX-Registration: 1.1.2
    ChimeraX-RemoteControl: 1.0
    ChimeraX-RenderByAttr: 1.1
    ChimeraX-RenumberResidues: 1.1
    ChimeraX-ResidueFit: 1.0.1
    ChimeraX-RestServer: 1.2
    ChimeraX-RNALayout: 1.0
    ChimeraX-RotamerLibMgr: 3.0
    ChimeraX-RotamerLibsDunbrack: 2.0
    ChimeraX-RotamerLibsDynameomics: 2.0
    ChimeraX-RotamerLibsRichardson: 2.0
    ChimeraX-SaveCommand: 1.5.1
    ChimeraX-SchemeMgr: 1.0
    ChimeraX-SDF: 2.0.1
    ChimeraX-Segger: 1.0
    ChimeraX-Segment: 1.0.1
    ChimeraX-SelInspector: 1.0
    ChimeraX-SeqView: 2.9
    ChimeraX-Shape: 1.0.1
    ChimeraX-Shell: 1.0.1
    ChimeraX-Shortcuts: 1.1.1
    ChimeraX-ShowSequences: 1.0.1
    ChimeraX-SideView: 1.0.1
    ChimeraX-Smiles: 2.1.2
    ChimeraX-SmoothLines: 1.0
    ChimeraX-SpaceNavigator: 1.0
    ChimeraX-StdCommands: 1.12.1
    ChimeraX-STL: 1.0.1
    ChimeraX-Storm: 1.0
    ChimeraX-StructMeasure: 1.1.2
    ChimeraX-Struts: 1.0.1
    ChimeraX-Surface: 1.0.1
    ChimeraX-SwapAA: 2.0.1
    ChimeraX-SwapRes: 2.2.2
    ChimeraX-TapeMeasure: 1.0
    ChimeraX-Test: 1.0
    ChimeraX-Toolbar: 1.1.2
    ChimeraX-ToolshedUtils: 1.2.4
    ChimeraX-Topography: 1.0
    ChimeraX-ToQuest: 1.0
    ChimeraX-Tug: 1.0.1
    ChimeraX-UI: 1.31.4
    ChimeraX-uniprot: 2.3
    ChimeraX-UnitCell: 1.0.1
    ChimeraX-ViewDockX: 1.3
    ChimeraX-VIPERdb: 1.0
    ChimeraX-Vive: 1.1
    ChimeraX-VolumeMenu: 1.0.1
    ChimeraX-VTK: 1.0
    ChimeraX-WavefrontOBJ: 1.0
    ChimeraX-WebCam: 1.0.2
    ChimeraX-WebServices: 1.1.1
    ChimeraX-Zone: 1.0.1
    colorama: 0.4.6
    comm: 0.1.4
    comtypes: 1.1.14
    contourpy: 1.1.0
    cxservices: 1.2.2
    cycler: 0.11.0
    Cython: 0.29.33
    debugpy: 1.6.7.post1
    decorator: 5.1.1
    docutils: 0.19
    executing: 1.2.0
    filelock: 3.9.0
    fonttools: 4.42.1
    funcparserlib: 1.0.1
    glfw: 2.6.2
    grako: 3.16.5
    h5py: 3.9.0
    html2text: 2020.1.16
    idna: 3.4
    ihm: 0.38
    imagecodecs: 2023.7.10
    imagesize: 1.4.1
    ipykernel: 6.23.2
    ipython: 8.14.0
    ipython-genutils: 0.2.0
    ipywidgets: 8.1.0
    jedi: 0.18.2
    Jinja2: 3.1.2
    jupyter-client: 8.2.0
    jupyter-core: 5.3.1
    jupyterlab-widgets: 3.0.8
    kiwisolver: 1.4.5
    line-profiler: 4.0.2
    lxml: 4.9.2
    lz4: 4.3.2
    MarkupSafe: 2.1.3
    matplotlib: 3.7.2
    matplotlib-inline: 0.1.6
    msgpack: 1.0.4
    nest-asyncio: 1.5.7
    netCDF4: 1.6.2
    networkx: 3.1
    nibabel: 5.0.1
    nptyping: 2.5.0
    numexpr: 2.8.5
    numpy: 1.25.1
    openvr: 1.23.701
    packaging: 23.1
    ParmEd: 3.4.3
    parso: 0.8.3
    pep517: 0.13.0
    pickleshare: 0.7.5
    Pillow: 10.0.0
    pip: 23.0
    pkginfo: 1.9.6
    platformdirs: 3.10.0
    prompt-toolkit: 3.0.39
    psutil: 5.9.5
    pure-eval: 0.2.2
    py-cpuinfo: 9.0.0
    pycollada: 0.7.2
    pydicom: 2.3.0
    Pygments: 2.16.1
    pynrrd: 1.0.0
    PyOpenGL: 3.1.7
    PyOpenGL-accelerate: 3.1.7
    pyopenxr: 1.0.2801
    pyparsing: 3.0.9
    pyproject-hooks: 1.0.0
    PyQt6: 6.3.1
    PyQt6-Qt6: 6.3.2
    PyQt6-sip: 13.4.0
    PyQt6-WebEngine: 6.3.1
    PyQt6-WebEngine-Qt6: 6.3.2
    python-dateutil: 2.8.2
    pytz: 2023.3
    pywin32: 305
    pyzmq: 25.1.1
    qtconsole: 5.4.3
    QtPy: 2.3.1
    RandomWords: 0.4.0
    requests: 2.31.0
    scipy: 1.11.1
    setuptools: 67.4.0
    sfftk-rw: 0.7.3
    six: 1.16.0
    snowballstemmer: 2.2.0
    sortedcontainers: 2.4.0
    soupsieve: 2.4.1
    sphinx: 6.1.3
    sphinx-autodoc-typehints: 1.22
    sphinxcontrib-applehelp: 1.0.7
    sphinxcontrib-blockdiag: 3.0.0
    sphinxcontrib-devhelp: 1.0.5
    sphinxcontrib-htmlhelp: 2.0.4
    sphinxcontrib-jsmath: 1.0.1
    sphinxcontrib-qthelp: 1.0.6
    sphinxcontrib-serializinghtml: 1.1.9
    stack-data: 0.6.2
    superqt: 0.5.0
    tables: 3.8.0
    tcia-utils: 1.5.1
    tifffile: 2023.7.18
    tinyarray: 1.2.4
    tomli: 2.0.1
    tornado: 6.3.3
    traitlets: 5.9.0
    typing-extensions: 4.7.1
    tzdata: 2023.3
    urllib3: 2.0.4
    wcwidth: 0.2.6
    webcolors: 1.12
    wheel: 0.38.4
    wheel-filename: 1.4.1
    widgetsnbextension: 4.0.8
    WMI: 1.5.1

Change History (2)

comment:1 by Tom Goddard, 2 years ago

Component: UnassignedVR
Owner: set to Tom Goddard
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionError starting VR with OpenXR: 'NoneType' object has no attribute 'angle_left'

comment:2 by Tom Goddard, 2 years ago

Resolution: fixed
Status: assignedclosed

This error happens when OpenXR says the headset is not ready. Then the headset projection matrices cannot be set because the field of view is not known.

In this case we just use a default field of view until the headset is ready because we don't have a way for the camera to say it cannot render.

Note: See TracTickets for help on using tickets.