Opened 10 months ago
Closed 10 months ago
#16662 closed defect (fixed)
xr true: A supplied object handle was invalid
| Reported by: | 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.26100
ChimeraX Version: 1.10.dev202501160116 (2025-01-16 01:16:53 UTC)
Description
Replace this text with list of actions that caused this problem to occur
Log:
Startup Messages
---
note | available bundle cache has not been initialized yet
UCSF ChimeraX version: 1.10.dev202501160116 (2025-01-16)
© 2016-2025 Regents of the University of California. All rights reserved.
How to cite UCSF ChimeraX
> xr true
started OpenXR rendering SpatialLabs Display Driver
Traceback (most recent call last):
File "C:\Program Files\ChimeraX 1.10.dev202501160116\bin\Lib\site-
packages\chimerax\core\triggerset.py", line 149, in invoke
return self._func(self._name, data)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\ChimeraX 1.10.dev202501160116\bin\Lib\site-
packages\chimerax\vive\xr.py", line 786, in _next_frame
self.process_controller_events()
File "C:\Program Files\ChimeraX 1.10.dev202501160116\bin\Lib\site-
packages\chimerax\vive\xr.py", line 823, in process_controller_events
self.process_controller_buttons()
File "C:\Program Files\ChimeraX 1.10.dev202501160116\bin\Lib\site-
packages\chimerax\vive\xr.py", line 831, in process_controller_buttons
e = xr.poll_next_event()
^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\ChimeraX 1.10.dev202501160116\bin\Lib\site-
packages\chimerax\vive\openxr.py", line 740, in poll_next_event
self._poll_xr_events() # Update self._session_state to detect headset has lost
focus
^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\ChimeraX 1.10.dev202501160116\bin\Lib\site-
packages\chimerax\vive\openxr.py", line 385, in _poll_xr_events
event_buffer = xr.poll_event(self._instance)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\ChimeraX 1.10.dev202501160116\bin\Lib\site-
packages\xr\functions.py", line 144, in poll_event
raise result
xr.exception.HandleInvalidError: A supplied object handle was invalid.
Error processing trigger "new frame":
xr.exception.HandleInvalidError: A supplied object handle was invalid.
File "C:\Program Files\ChimeraX 1.10.dev202501160116\bin\Lib\site-
packages\xr\functions.py", line 144, in poll_event
raise result
See log for complete Python traceback.
OpenGL version: 3.3.0 NVIDIA 556.18
OpenGL renderer: NVIDIA RTX 4500 Ada Generation/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation
Python: 3.11.4
Locale: en_US.cp1252
Qt version: PyQt6 6.8.0, Qt 6.8.1
Qt runtime version: 6.8.1
Qt platform: windows
Manufacturer: LENOVO
Model: 30GUSJKD00
OS: Microsoft Windows 11 Pro (Build 26100)
Memory: 68,325,134,336
MaxProcessMemory: 137,438,953,344
CPU: 28 Intel(R) Core(TM) i7-14700
OSLanguage: en-US
Installed Packages:
alabaster: 1.0.0
anyio: 4.8.0
appdirs: 1.4.4
asttokens: 3.0.0
auditwheel: 6.2.0
autocommand: 2.2.2
babel: 2.16.0
backports.tarfile: 1.2.0
beautifulsoup4: 4.12.3
blockdiag: 3.0.0
blosc2: 3.0.0
build: 1.2.1
certifi: 2024.12.14
cftime: 1.6.4.post1
charset-normalizer: 3.4.1
ChimeraX-AddCharge: 1.5.18
ChimeraX-AddH: 2.2.6
ChimeraX-AlignmentAlgorithms: 2.0.2
ChimeraX-AlignmentHdrs: 3.5
ChimeraX-AlignmentMatrices: 2.1
ChimeraX-Alignments: 2.16.2
ChimeraX-AlphaFold: 1.0.1
ChimeraX-AltlocExplorer: 1.1.2
ChimeraX-AmberInfo: 1.0
ChimeraX-Arrays: 1.1
ChimeraX-Atomic: 1.60
ChimeraX-AtomicLibrary: 14.1.11
ChimeraX-AtomSearch: 2.0.1
ChimeraX-AxesPlanes: 2.4
ChimeraX-BasicActions: 1.1.2
ChimeraX-BILD: 1.0
ChimeraX-BlastProtein: 3.0.0
ChimeraX-BondRot: 2.0.4
ChimeraX-BugReporter: 1.0.2
ChimeraX-BuildStructure: 2.13.1
ChimeraX-Bumps: 1.0
ChimeraX-BundleBuilder: 1.4.0
ChimeraX-ButtonPanel: 1.0.1
ChimeraX-CageBuilder: 1.0.1
ChimeraX-CellPack: 1.0
ChimeraX-Centroids: 1.4
ChimeraX-ChangeChains: 1.1
ChimeraX-CheckWaters: 1.4
ChimeraX-ChemGroup: 2.0.1
ChimeraX-Clashes: 2.3
ChimeraX-ColorActions: 1.0.5
ChimeraX-ColorGlobe: 1.0
ChimeraX-ColorKey: 1.5.8
ChimeraX-CommandLine: 1.2.5
ChimeraX-ConnectStructure: 2.0.1
ChimeraX-Contacts: 1.0.1
ChimeraX-Core: 1.10.dev202501160116
ChimeraX-CoreFormats: 1.2
ChimeraX-coulombic: 1.4.4
ChimeraX-Crosslinks: 1.0
ChimeraX-Crystal: 1.0
ChimeraX-CrystalContacts: 1.0.1
ChimeraX-DataFormats: 1.2.3
ChimeraX-Dicom: 1.2.7
ChimeraX-DistMonitor: 1.4.2
ChimeraX-DockPrep: 1.1.3
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.4.1
ChimeraX-Hbonds: 2.5
ChimeraX-Help: 1.3
ChimeraX-HKCage: 1.3
ChimeraX-IHM: 1.1
ChimeraX-ImageFormats: 1.2
ChimeraX-IMOD: 1.0
ChimeraX-IO: 1.0.3
ChimeraX-ItemsInspection: 1.0.1
ChimeraX-IUPAC: 1.0
ChimeraX-KVFinder: 1.5.1
ChimeraX-Label: 1.1.14
ChimeraX-ListInfo: 1.2.2
ChimeraX-Log: 1.2
ChimeraX-LookingGlass: 1.1
ChimeraX-Maestro: 1.9.1
ChimeraX-Map: 1.3
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.6
ChimeraX-MCopy: 1.0
ChimeraX-MDcrds: 2.7.2
ChimeraX-MedicalToolbar: 1.1
ChimeraX-Meeting: 1.0.1
ChimeraX-MLP: 1.1.1
ChimeraX-mmCIF: 2.14.2
ChimeraX-MMTF: 2.2
ChimeraX-ModelArchive: 1.0
ChimeraX-Modeller: 1.5.18
ChimeraX-ModelPanel: 1.5
ChimeraX-ModelSeries: 1.0.1
ChimeraX-Mol2: 2.0.3
ChimeraX-Mole: 1.0
ChimeraX-Morph: 1.0.2
ChimeraX-MouseModes: 1.2
ChimeraX-Movie: 1.0
ChimeraX-MutationScores: 1.0
ChimeraX-Neuron: 1.0
ChimeraX-Nifti: 1.2
ChimeraX-NMRSTAR: 1.0.2
ChimeraX-NRRD: 1.2
ChimeraX-Nucleotides: 2.0.3
ChimeraX-OpenCommand: 1.14
ChimeraX-OrthoPick: 1.0.1
ChimeraX-PDB: 2.7.7
ChimeraX-PDBBio: 1.0.1
ChimeraX-PDBLibrary: 1.0.4
ChimeraX-PDBMatrices: 1.0
ChimeraX-PickBlobs: 1.0.1
ChimeraX-Positions: 1.0
ChimeraX-PresetMgr: 1.1.2
ChimeraX-ProfileGrids: 1.0.1
ChimeraX-PubChem: 2.2
ChimeraX-ReadPbonds: 1.0.1
ChimeraX-Registration: 1.1.2
ChimeraX-RemoteControl: 1.0
ChimeraX-RenderByAttr: 1.6.3
ChimeraX-RenumberResidues: 1.1
ChimeraX-ResidueFit: 1.0.1
ChimeraX-RestServer: 1.3.1
ChimeraX-RNALayout: 1.0
ChimeraX-RotamerLibMgr: 4.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.2
ChimeraX-Segger: 1.0
ChimeraX-Segment: 1.0.1
ChimeraX-Segmentations: 3.5.7
ChimeraX-SelInspector: 1.0
ChimeraX-SeqView: 2.15
ChimeraX-Shape: 1.1
ChimeraX-Shell: 1.0.1
ChimeraX-Shortcuts: 1.2.0
ChimeraX-ShowSequences: 1.0.3
ChimeraX-SideView: 1.0.1
ChimeraX-SimilarStructures: 1.0.1
ChimeraX-Smiles: 2.1.2
ChimeraX-SmoothLines: 1.0
ChimeraX-SpaceNavigator: 1.0
ChimeraX-StdCommands: 1.19.1
ChimeraX-STL: 1.0.1
ChimeraX-Storm: 1.0
ChimeraX-StructMeasure: 1.2.1
ChimeraX-Struts: 1.0.1
ChimeraX-Surface: 1.0.1
ChimeraX-SwapAA: 2.0.1
ChimeraX-SwapRes: 2.5.1
ChimeraX-TapeMeasure: 1.0
ChimeraX-TaskManager: 1.0
ChimeraX-Test: 1.0
ChimeraX-Toolbar: 1.2.3
ChimeraX-ToolshedUtils: 1.2.4
ChimeraX-Topography: 1.0
ChimeraX-ToQuest: 1.0
ChimeraX-Tug: 1.0.1
ChimeraX-UI: 1.43
ChimeraX-Umap: 1.0
ChimeraX-uniprot: 2.3.1
ChimeraX-UnitCell: 1.0.1
ChimeraX-ViewDockX: 1.4.4
ChimeraX-VIPERdb: 1.0
ChimeraX-Vive: 1.1
ChimeraX-VolumeMenu: 1.0.1
ChimeraX-vrml: 1.0
ChimeraX-VTK: 1.0
ChimeraX-WavefrontOBJ: 1.0
ChimeraX-WebCam: 1.0.2
ChimeraX-WebServices: 1.1.4
ChimeraX-Zone: 1.0.1
colorama: 0.4.6
comm: 0.2.2
comtypes: 1.4.5
contourpy: 1.3.1
coverage: 7.6.10
cxservices: 1.2.3
cycler: 0.12.1
Cython: 3.0.10
debugpy: 1.8.11
decorator: 5.1.1
docutils: 0.21.2
executing: 2.1.0
filelock: 3.15.4
fonttools: 4.55.3
funcparserlib: 2.0.0a0
glfw: 2.8.0
grako: 3.16.5
h11: 0.14.0
h5py: 3.12.1
html2text: 2024.2.26
httpcore: 1.0.7
httpx: 0.28.1
idna: 3.10
ihm: 1.3
imagecodecs: 2024.6.1
imagesize: 1.4.1
importlib_metadata: 8.0.0
importlib_resources: 6.4.0
inflect: 7.3.1
iniconfig: 2.0.0
ipykernel: 6.29.5
ipython: 8.26.0
ipywidgets: 8.1.5
jaraco.context: 5.3.0
jaraco.functools: 4.0.1
jaraco.text: 3.12.1
jedi: 0.19.1
Jinja2: 3.1.5
jupyter_client: 8.6.2
jupyter_core: 5.7.2
jupyterlab_widgets: 3.0.13
kiwisolver: 1.4.8
line_profiler: 4.1.3
lxml: 5.2.2
lz4: 4.3.3
MarkupSafe: 3.0.2
matplotlib: 3.9.2
matplotlib-inline: 0.1.7
more-itertools: 10.3.0
msgpack: 1.0.8
ndindex: 1.9.2
nest-asyncio: 1.6.0
netCDF4: 1.6.5
networkx: 3.3
nibabel: 5.2.0
nptyping: 2.5.0
numexpr: 2.10.2
numpy: 1.26.4
OpenMM: 8.2.0
openvr: 1.26.701
ordered-set: 4.1.0
packaging: 23.2
packaging: 24.1
ParmEd: 4.2.2
parso: 0.8.4
pep517: 0.13.1
pickleshare: 0.7.5
pillow: 10.4.0
pip: 24.2
pkginfo: 1.11.1
platformdirs: 4.3.6
platformdirs: 4.2.2
pluggy: 1.5.0
prompt_toolkit: 3.0.48
psutil: 6.0.0
pure_eval: 0.2.3
py-cpuinfo: 9.0.0
pycollada: 0.8
pydicom: 2.4.4
pyelftools: 0.31
Pygments: 2.18.0
pynmrstar: 3.3.5
pynrrd: 1.0.0
PyOpenGL: 3.1.7
PyOpenGL-accelerate: 3.1.7
pyopenxr: 1.0.3401
pyparsing: 3.2.1
pyproject_hooks: 1.2.0
PyQt6-commercial: 6.8.0
PyQt6-Qt6: 6.8.1
PyQt6-WebEngine-commercial: 6.8.0
PyQt6-WebEngine-Qt6: 6.8.1
PyQt6_sip: 13.9.1
pytest: 8.3.4
pytest-cov: 6.0.0
python-dateutil: 2.9.0.post0
pytz: 2024.2
pywin32: 306
pyzmq: 26.2.0
qtconsole: 5.5.2
QtPy: 2.4.2
qtshim: 1.1
RandomWords: 0.4.0
requests: 2.32.3
scipy: 1.14.0
setuptools: 72.1.0
sfftk-rw: 0.8.1
six: 1.16.0
sniffio: 1.3.1
snowballstemmer: 2.2.0
sortedcontainers: 2.4.0
soupsieve: 2.6
Sphinx: 8.0.2
sphinx-autodoc-typehints: 2.2.3
sphinxcontrib-applehelp: 2.0.0
sphinxcontrib-blockdiag: 3.0.0
sphinxcontrib-devhelp: 2.0.0
sphinxcontrib-htmlhelp: 2.1.0
sphinxcontrib-jsmath: 1.0.1
sphinxcontrib-qthelp: 2.0.0
sphinxcontrib-serializinghtml: 2.0.0
stack-data: 0.6.3
superqt: 0.6.3
tables: 3.10.1
tcia_utils: 1.5.1
tifffile: 2024.7.24
tinyarray: 1.2.4
tomli: 2.0.1
tornado: 6.4.2
traitlets: 5.14.3
typeguard: 4.3.0
typing_extensions: 4.12.2
typing_extensions: 4.12.2
tzdata: 2024.2
urllib3: 2.3.0
wcwidth: 0.2.13
webcolors: 24.6.0
wheel: 0.43.0
wheel: 0.43.0
wheel-filename: 1.4.1
widgetsnbextension: 4.0.13
WMI: 1.5.1
zipp: 3.19.2
Change History (4)
comment:1 by , 10 months ago
| Component: | Unassigned → VR |
|---|---|
| Owner: | set to |
| Platform: | → all |
| Project: | → ChimeraX |
| Status: | new → assigned |
| Summary: | ChimeraX bug report submission → xr true: A supplied object handle was invalid |
comment:2 by , 10 months ago
comment:3 by , 10 months ago
Log indicates user was connecting to flat panel stereo display
started OpenXR rendering SpatialLabs Display Driver
The same error happens closing SteamVR while using SteamLink with "xr on", ticket #16689.
comment:4 by , 10 months ago
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |
Fixed.
If OpenXR connection is closed in now gives an clear error message saying that with no traceback.
Not sure if ChimeraX displays correctly in 3D to the stereo SpatialLabs View Pro 27" monitor, maybe not, maybe OpenXR just disconnects. Would only be able to debug that if I had this kind of monitor.
Note:
See TracTickets
for help on using tickets.
User tried to start VR session with "xr true" and it gave a invalid handle error trying to poll for events. To get this far it would have already made an OpenXR connection that gave no errors. The instance handle in the poll_event() call that gives the error is the connection to OpenXR. So it seems that maybe the OpenXR connection was closed but ChimeraX did not detect that and tried to continue using the handle. ChimeraX has code to detect that the session has been closed. But it looks like the closed session doesn't propagate up to have ChimeraX switch out of VR mode and it might keep on polling. Should test if that is the case and fix so it exits VR mode and says the OpenXR session was closed.