Opened 2 years ago

Closed 2 years ago

#9501 closed defect (can't reproduce)

vr true: CompositorError_TextureUsesUnsupportedFormat

Reported by: phil.cruz@… 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.22621
ChimeraX Version: 1.5 (2022-11-24 00:03:27 UTC)
Description
Error happened when turning vr on after creating a meeting.

Log:
UCSF ChimeraX version: 1.5 (2022-11-24)  
© 2016-2022 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> open 3nos format mmcif fromDatabase pdb

3nos title:  
Human endothelial nitric oxide synthase with arginine substrate [more info...]  
  
Chain information for 3nos #1  
---  
Chain | Description | UniProt  
A B | ENDOTHELIAL NITRIC-OXIDE SYNTHASE | NOS3_HUMAN  
  
Non-standard residues in 3nos #1  
---  
H4B — 5,6,7,8-tetrahydrobiopterin  
HAR — N-ω-hydroxy-L-arginine  
HEM — protoporphyrin IX containing Fe (HEME)  
ZN — zinc ion  
  

> vr true

started SteamVR rendering  

> ui tool show Meeting

> meeting start bcbb

Meeting "bcbb" started at chimeraxmeeting.net port 52196  
Participants can join with command "meeting bcbb"  
Connection from ::1 port 50242 established, waiting for join message  
Connection accepted from ::1 port 50242  

> close session

Disconnected from ::1 port 50242  
Connection from ::1 port 50246 established, waiting for join message  
Connection accepted from ::1 port 50246  

> open 3nos format mmcif fromDatabase pdb

3nos title:  
Human endothelial nitric oxide synthase with arginine substrate [more info...]  
  
Chain information for 3nos #1  
---  
Chain | Description | UniProt  
A B | ENDOTHELIAL NITRIC-OXIDE SYNTHASE | NOS3_HUMAN  
  
Non-standard residues in 3nos #1  
---  
H4B — 5,6,7,8-tetrahydrobiopterin  
HAR — N-ω-hydroxy-L-arginine  
HEM — protoporphyrin IX containing Fe (HEME)  
ZN — zinc ion  
  

> meeting close

> meeting start bcbb

Meeting "bcbb" started at chimeraxmeeting.net port 52201  
Participants can join with command "meeting bcbb"  
Connection from ::1 port 50255 established, waiting for join message  
Connection accepted from ::1 port 50255  
Disconnected from ::1 port 50255  
Connection from ::1 port 50256 established, waiting for join message  
Connection accepted from ::1 port 50256  

> vr true

started SteamVR 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.  
  
  
  
Traceback (most recent call last):  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\updateloop.py", line 73, in draw_new_frame  
view.draw(check_for_changes = False)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\graphics\view.py", line 177, in draw  
self._draw_scene(camera, drawings)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\graphics\view.py", line 219, in _draw_scene  
camera.set_render_target(vnum, r)  
File "C:\Program Files\ChimeraX\bin\lib\site-packages\chimerax\vive\vr.py",
line 948, in set_render_target  
self._submit_eye_image('left', left_fb.openvr_texture, render)  
File "C:\Program Files\ChimeraX\bin\lib\site-packages\chimerax\vive\vr.py",
line 962, in _submit_eye_image  
result = self._compositor.submit(eye, texture)  
File "C:\Program Files\ChimeraX\bin\lib\site-packages\openvr\\__init__.py",
line 4439, in submit  
openvr.error_code.CompositorError.check_error_value(error)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\openvr\error_code\\__init__.py", line 23, in check_error_value  
raise error_class(error_value, message)  
openvr.error_code.CompositorError_TextureUsesUnsupportedFormat  
  




OpenGL version: 3.3.0 NVIDIA 535.98
OpenGL renderer: NVIDIA GeForce RTX 3080 Ti/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation

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

Manufacturer: Micro-Star International Co., Ltd.
Model: MS-7D30
OS: Microsoft Windows 11 Pro (Build 22621)
Memory: 68,497,039,360
MaxProcessMemory: 137,438,953,344
CPU: 20 12th Gen Intel(R) Core(TM) i7-12700K
OSLanguage: en-US

Installed Packages:
    alabaster: 0.7.12
    appdirs: 1.4.4
    asttokens: 2.1.0
    Babel: 2.11.0
    backcall: 0.2.0
    blockdiag: 3.0.0
    build: 0.8.0
    certifi: 2022.9.24
    cftime: 1.6.2
    charset-normalizer: 2.1.1
    ChimeraX-AddCharge: 1.4
    ChimeraX-AddH: 2.2.1
    ChimeraX-AlignmentAlgorithms: 2.0
    ChimeraX-AlignmentHdrs: 3.2.1
    ChimeraX-AlignmentMatrices: 2.0
    ChimeraX-Alignments: 2.6
    ChimeraX-AlphaFold: 1.0
    ChimeraX-AltlocExplorer: 1.0.3
    ChimeraX-AmberInfo: 1.0
    ChimeraX-Arrays: 1.0
    ChimeraX-Atomic: 1.41.5
    ChimeraX-AtomicLibrary: 8.0.3
    ChimeraX-AtomSearch: 2.0.1
    ChimeraX-AxesPlanes: 2.3
    ChimeraX-BasicActions: 1.1.2
    ChimeraX-BILD: 1.0
    ChimeraX-BlastProtein: 2.1.2
    ChimeraX-BondRot: 2.0.1
    ChimeraX-BugReporter: 1.0.1
    ChimeraX-BuildStructure: 2.7.1
    ChimeraX-Bumps: 1.0
    ChimeraX-BundleBuilder: 1.2
    ChimeraX-ButtonPanel: 1.0.1
    ChimeraX-CageBuilder: 1.0.1
    ChimeraX-CellPack: 1.0
    ChimeraX-Centroids: 1.3.1
    ChimeraX-ChangeChains: 1.0.2
    ChimeraX-CheckWaters: 1.3
    ChimeraX-ChemGroup: 2.0
    ChimeraX-Clashes: 2.2.4
    ChimeraX-ColorActions: 1.0.3
    ChimeraX-ColorGlobe: 1.0
    ChimeraX-ColorKey: 1.5.2
    ChimeraX-CommandLine: 1.2.4
    ChimeraX-ConnectStructure: 2.0.1
    ChimeraX-Contacts: 1.0.1
    ChimeraX-Core: 1.5
    ChimeraX-CoreFormats: 1.1
    ChimeraX-coulombic: 1.3.2
    ChimeraX-Crosslinks: 1.0
    ChimeraX-Crystal: 1.0
    ChimeraX-CrystalContacts: 1.0.1
    ChimeraX-DataFormats: 1.2.2
    ChimeraX-Dicom: 1.1
    ChimeraX-DistMonitor: 1.3
    ChimeraX-DockPrep: 1.0
    ChimeraX-Dssp: 2.0
    ChimeraX-EMDB-SFF: 1.0
    ChimeraX-ExperimentalCommands: 1.0
    ChimeraX-FileHistory: 1.0.1
    ChimeraX-FunctionKey: 1.0.1
    ChimeraX-Geometry: 1.2
    ChimeraX-gltf: 1.0
    ChimeraX-Graphics: 1.1
    ChimeraX-Hbonds: 2.4
    ChimeraX-Help: 1.2.1
    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-Label: 1.1.7
    ChimeraX-ListInfo: 1.1.1
    ChimeraX-Log: 1.1.5
    ChimeraX-LookingGlass: 1.1
    ChimeraX-Maestro: 1.8.2
    ChimeraX-Map: 1.1.2
    ChimeraX-MapData: 2.0
    ChimeraX-MapEraser: 1.0.1
    ChimeraX-MapFilter: 2.0
    ChimeraX-MapFit: 2.0
    ChimeraX-MapSeries: 2.1.1
    ChimeraX-Markers: 1.0.1
    ChimeraX-Mask: 1.0.1
    ChimeraX-MatchMaker: 2.0.9
    ChimeraX-MDcrds: 2.6
    ChimeraX-MedicalToolbar: 1.0.2
    ChimeraX-Meeting: 1.0.1
    ChimeraX-MLP: 1.1
    ChimeraX-mmCIF: 2.8
    ChimeraX-MMTF: 2.2
    ChimeraX-Modeller: 1.5.6
    ChimeraX-ModelPanel: 1.3.6
    ChimeraX-ModelSeries: 1.0.1
    ChimeraX-Mol2: 2.0
    ChimeraX-Mole: 1.0
    ChimeraX-Morph: 1.0.1
    ChimeraX-MouseModes: 1.1.1
    ChimeraX-Movie: 1.0
    ChimeraX-Neuron: 1.0
    ChimeraX-Nucleotides: 2.0.3
    ChimeraX-OpenCommand: 1.9.1
    ChimeraX-PDB: 2.6.8
    ChimeraX-PDBBio: 1.0
    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.1
    ChimeraX-RemoteControl: 1.0
    ChimeraX-RenumberResidues: 1.1
    ChimeraX-ResidueFit: 1.0.1
    ChimeraX-RestServer: 1.1
    ChimeraX-RNALayout: 1.0
    ChimeraX-RotamerLibMgr: 2.0.1
    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
    ChimeraX-Segger: 1.0
    ChimeraX-Segment: 1.0
    ChimeraX-SelInspector: 1.0
    ChimeraX-SeqView: 2.7.2
    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
    ChimeraX-SmoothLines: 1.0
    ChimeraX-SpaceNavigator: 1.0
    ChimeraX-StdCommands: 1.10
    ChimeraX-STL: 1.0
    ChimeraX-Storm: 1.0
    ChimeraX-StructMeasure: 1.1
    ChimeraX-Struts: 1.0.1
    ChimeraX-Surface: 1.0
    ChimeraX-SwapAA: 2.0.1
    ChimeraX-SwapRes: 2.1.3
    ChimeraX-TapeMeasure: 1.0
    ChimeraX-Test: 1.0
    ChimeraX-Toolbar: 1.1.2
    ChimeraX-ToolshedUtils: 1.2.1
    ChimeraX-Tug: 1.0.1
    ChimeraX-UI: 1.24.3
    ChimeraX-uniprot: 2.2.1
    ChimeraX-UnitCell: 1.0.1
    ChimeraX-ViewDockX: 1.1.4
    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.1
    ChimeraX-WebServices: 1.1.0
    ChimeraX-Zone: 1.0.1
    colorama: 0.4.5
    comtypes: 1.1.10
    cxservices: 1.2
    cycler: 0.11.0
    Cython: 0.29.32
    debugpy: 1.6.4
    decorator: 5.1.1
    docutils: 0.19
    entrypoints: 0.4
    executing: 1.2.0
    filelock: 3.7.1
    fonttools: 4.38.0
    funcparserlib: 1.0.1
    grako: 3.16.5
    h5py: 3.7.0
    html2text: 2020.1.16
    idna: 3.4
    ihm: 0.33
    imagecodecs: 2022.7.31
    imagesize: 1.4.1
    importlib-metadata: 5.1.0
    ipykernel: 6.15.3
    ipython: 8.4.0
    ipython-genutils: 0.2.0
    jedi: 0.18.1
    Jinja2: 3.1.2
    jupyter-client: 7.3.4
    jupyter-core: 5.1.0
    kiwisolver: 1.4.4
    line-profiler: 3.5.1
    lxml: 4.9.1
    lz4: 4.0.2
    MarkupSafe: 2.1.1
    matplotlib: 3.5.2
    matplotlib-inline: 0.1.6
    msgpack: 1.0.4
    nest-asyncio: 1.5.6
    netCDF4: 1.6.0
    networkx: 2.8.5
    numexpr: 2.8.4
    numpy: 1.23.1
    openvr: 1.23.701
    packaging: 21.3
    ParmEd: 3.4.3
    parso: 0.8.3
    pep517: 0.13.0
    pickleshare: 0.7.5
    Pillow: 9.2.0
    pip: 22.2.2
    pkginfo: 1.8.3
    platformdirs: 2.5.4
    prompt-toolkit: 3.0.33
    psutil: 5.9.1
    pure-eval: 0.2.2
    pycollada: 0.7.2
    pydicom: 2.3.0
    Pygments: 2.12.0
    PyOpenGL: 3.1.5
    PyOpenGL-accelerate: 3.1.5
    pyparsing: 3.0.9
    PyQt6-commercial: 6.3.1
    PyQt6-Qt6: 6.3.2
    PyQt6-sip: 13.4.0
    PyQt6-WebEngine-commercial: 6.3.1
    PyQt6-WebEngine-Qt6: 6.3.2
    python-dateutil: 2.8.2
    pytz: 2022.6
    pywin32: 303
    pyzmq: 24.0.1
    qtconsole: 5.3.1
    QtPy: 2.3.0
    RandomWords: 0.4.0
    requests: 2.28.1
    scipy: 1.9.0
    setuptools: 65.1.1
    sfftk-rw: 0.7.2
    six: 1.16.0
    snowballstemmer: 2.2.0
    sortedcontainers: 2.4.0
    Sphinx: 5.1.1
    sphinx-autodoc-typehints: 1.19.1
    sphinxcontrib-applehelp: 1.0.2
    sphinxcontrib-blockdiag: 3.0.0
    sphinxcontrib-devhelp: 1.0.2
    sphinxcontrib-htmlhelp: 2.0.0
    sphinxcontrib-jsmath: 1.0.1
    sphinxcontrib-qthelp: 1.0.3
    sphinxcontrib-serializinghtml: 1.1.5
    stack-data: 0.6.2
    tables: 3.7.0
    tifffile: 2022.7.31
    tinyarray: 1.2.4
    tomli: 2.0.1
    tornado: 6.2
    traitlets: 5.3.0
    urllib3: 1.26.13
    wcwidth: 0.2.5
    webcolors: 1.12
    wheel: 0.37.1
    wheel-filename: 1.4.1
    WMI: 1.5.1
    zipp: 3.11.0

Change History (4)

comment:1 by Eric Pettersen, 2 years ago

Component: UnassignedVR
Owner: set to Tom Goddard
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionvr true: CompositorError_TextureUsesUnsupportedFormat

comment:2 by Tom Goddard, 2 years ago

According to ticket #4407 from 2 years ago this error used to happen when you start and stop VR multiple times. It was caused by initializing OpenVR twice. The way that happened in the previous report was fixed. But apparently OpenVR is getting initialized twice by a different route in this bug report.

The log in this report shows "vr on" and meeting started and no errors, then "close session" and meeting start and "vr on" produces the error. My guess is that the "close session" causes the code not to shutdown OpenVR and then the second "vr on" tries to initialize it again. I'll see if I can reproduce it and fix it in the daily build. In the meantime you can probably avoid this by using "vr off" after the first "vr on" instead of relying on "close session" to properly turn off vr.

comment:3 by Tom Goddard, 2 years ago

Doing the exact steps from the log in the same version 1.5 of ChimeraX (open 3nos, vr true, meeting start tg, close session, open 3nos, meeting close, meeting start tg, vr true) does not reproduce the error. I did not try joining the meetings. It is possible that something done by one of the participants that joined the meetings is a necessary step to produce the error.

From the bug report #4407 two years ago it is evident that this error is from starting vr twice without stopping the first VR camera before the second is made. The current code does not allow creating two VR cameras. It always reuses the same camera. But if I tamper with the code I can get this same error by turning on vr and then forgetting VR is on (in the shell session._steamvr_camera = None) then turning it on again. That produces a different error in OpenVR waitGetPoses(), but then if I switch to mono camera, restart graphics and turn vr back on (camera mono, graphics restart, vr on) then I get exactly the same openvr.error_code.CompositorError_TextureUsesUnsupportedFormat error.

It seems very likely the problem in this bug report is somehow using two VR cameras without the first one being properly closed. But I don't see any way that can happen.

Report again if you see this error again.

By the way, I started yesterday replacing SteamVR with OpenXR.

comment:4 by Tom Goddard, 2 years ago

Resolution: can't reproduce
Status: assignedclosed
Note: See TracTickets for help on using tickets.