Opened 4 years ago
Closed 3 years ago
#6554 closed defect (limitation)
VirtualGL: glClear: invalid operation
Reported by: | Owned by: | Greg Couch | |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | Graphics | Version: | |
Keywords: | Cc: | Tom Goddard | |
Blocked By: | Blocking: | ||
Notify when closed: | Platform: | all | |
Project: | ChimeraX |
Description
The following bug report has been submitted: Platform: Linux-3.10.0-1062.12.1.el7.x86_64-x86_64-with-glibc2.17 ChimeraX Version: 1.3 (2021-12-08 23:08:33 UTC) Description Using chimerax with VirtualGL. Most of operations fail with GLError 1282. Log: UCSF ChimeraX version: 1.3 (2021-12-08) © 2016-2021 Regents of the University of California. All rights reserved. How to cite UCSF ChimeraX > open /gstore/home/farim1/1MJC.pdb format pdb 1MJC.pdb title: Crystal structure of CSPA, the major cold shock protein of escherichia coli [more info...] Chain information for 1MJC.pdb #1 --- Chain | Description | UniProt A | major cold-shock protein 7.4 | CSPA_ECOLI Traceback (most recent call last): File "/gstore/home/farim1/tmp/usr/libexec/UCSF-ChimeraX/lib/python3.9/site- packages/chimerax/ui/widgets/htmlview.py", line 333, in interceptRequest self._callback(info) File "/gstore/home/farim1/tmp/usr/libexec/UCSF-ChimeraX/lib/python3.9/site- packages/chimerax/ui/widgets/htmlview.py", line 92, in _intercept return interceptor(request_info, *args) File "/gstore/home/farim1/tmp/usr/libexec/UCSF-ChimeraX/lib/python3.9/site- packages/chimerax/ui/widgets/htmlview.py", line 366, in intercept chimerax_intercept(*args, view=view, session=session) File "/gstore/home/farim1/tmp/usr/libexec/UCSF-ChimeraX/lib/python3.9/site- packages/chimerax/ui/widgets/htmlview.py", line 468, in chimerax_intercept session.ui.thread_safe(defer, session, qurl.url(no_formatting), from_dir) File "/gstore/home/farim1/tmp/usr/libexec/UCSF-ChimeraX/lib/python3.9/site- packages/chimerax/ui/gui.py", line 382, in thread_safe func(*args, **kw) File "/gstore/home/farim1/tmp/usr/libexec/UCSF-ChimeraX/lib/python3.9/site- packages/chimerax/ui/widgets/htmlview.py", line 459, in defer cxcmd(session, topic) File "/gstore/home/farim1/tmp/usr/libexec/UCSF-ChimeraX/lib/python3.9/site- packages/chimerax/ui/widgets/htmlview.py", line 477, in cxcmd run(session, cmd) File "/gstore/home/farim1/tmp/usr/libexec/UCSF-ChimeraX/lib/python3.9/site- packages/chimerax/core/commands/run.py", line 36, in run results = command.run(text, log=log, return_json=return_json) File "/gstore/home/farim1/tmp/usr/libexec/UCSF-ChimeraX/lib/python3.9/site- packages/chimerax/core/commands/cli.py", line 2856, in run result = ci.function(session, **kw_args) File "/gstore/home/farim1/tmp/usr/libexec/UCSF-ChimeraX/lib/python3.9/site- packages/chimerax/open_command/cmd.py", line 118, in cmd_open models = Command(session, registry=registry).run(provider_cmd_text, log=log)[0] File "/gstore/home/farim1/tmp/usr/libexec/UCSF-ChimeraX/lib/python3.9/site- packages/chimerax/core/commands/cli.py", line 2856, in run result = ci.function(session, **kw_args) File "/gstore/home/farim1/tmp/usr/libexec/UCSF-ChimeraX/lib/python3.9/site- packages/chimerax/open_command/cmd.py", line 238, in provider_open session.logger.status(status, log=status) File "/gstore/home/farim1/tmp/usr/libexec/UCSF-ChimeraX/lib/python3.9/site- packages/chimerax/core/logger.py", line 456, in status StatusLogger.status(self, msg, **kw) File "/gstore/home/farim1/tmp/usr/libexec/UCSF-ChimeraX/lib/python3.9/site- packages/chimerax/core/logger.py", line 199, in status if l.status(msg, color, secondary) and getattr(l, "excludes_other_logs", True): File "/gstore/home/farim1/tmp/usr/libexec/UCSF-ChimeraX/lib/python3.9/site- packages/chimerax/ui/gui.py", line 889, in status sbar.status(msg, color, secondary) File "/gstore/home/farim1/tmp/usr/libexec/UCSF-ChimeraX/lib/python3.9/site- packages/chimerax/ui/statusbar.py", line 150, in status r.draw_background() File "/gstore/home/farim1/tmp/usr/libexec/UCSF-ChimeraX/lib/python3.9/site- packages/chimerax/graphics/opengl.py", line 1166, in draw_background GL.glClear(flags) File "src/errorchecker.pyx", line 58, in OpenGL_accelerate.errorchecker._ErrorChecker.glCheckError OpenGL.error.GLError: GLError( err = 1282, description = b'invalid operation', baseOperation = glClear, cArguments = (16640,) ) OpenGL.error.GLError: GLError( err = 1282, description = b'invalid operation', baseOperation = glClear, cArguments = (16640,) ) File "src/errorchecker.pyx", line 58, in OpenGL_accelerate.errorchecker._ErrorChecker.glCheckError See log for complete Python traceback. 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. GLError( err = 1282, description = b'invalid operation', baseOperation = glGetString, cArguments = (GL_VERSION,), result = b'3.3.0 NVIDIA 510.39.01' ) Traceback (most recent call last): File "/gstore/home/farim1/tmp/usr/libexec/UCSF-ChimeraX/lib/python3.9/site- packages/chimerax/core/updateloop.py", line 73, in draw_new_frame view.draw(check_for_changes = False) File "/gstore/home/farim1/tmp/usr/libexec/UCSF-ChimeraX/lib/python3.9/site- packages/chimerax/graphics/view.py", line 139, in draw if not self._use_opengl(): File "/gstore/home/farim1/tmp/usr/libexec/UCSF-ChimeraX/lib/python3.9/site- packages/chimerax/graphics/view.py", line 106, in _use_opengl self._initialize_opengl() File "/gstore/home/farim1/tmp/usr/libexec/UCSF-ChimeraX/lib/python3.9/site- packages/chimerax/graphics/view.py", line 117, in _initialize_opengl r.check_opengl_version() File "/gstore/home/farim1/tmp/usr/libexec/UCSF-ChimeraX/lib/python3.9/site- packages/chimerax/graphics/opengl.py", line 1052, in check_opengl_version vmajor, vminor = self.opengl_version_number() File "/gstore/home/farim1/tmp/usr/libexec/UCSF-ChimeraX/lib/python3.9/site- packages/chimerax/graphics/opengl.py", line 1038, in opengl_version_number vs = self.opengl_version().split()[0].split('.')[:2] File "/gstore/home/farim1/tmp/usr/libexec/UCSF-ChimeraX/lib/python3.9/site- packages/chimerax/graphics/opengl.py", line 1034, in opengl_version return GL.glGetString(GL.GL_VERSION).decode('utf-8') File "src/errorchecker.pyx", line 58, in OpenGL_accelerate.errorchecker._ErrorChecker.glCheckError OpenGL.error.GLError: GLError( err = 1282, description = b'invalid operation', baseOperation = glGetString, cArguments = (GL_VERSION,), result = b'3.3.0 NVIDIA 510.39.01' ) > ui tool show "Selection Inspector" > open /gstore/home/farim1/1MJC.pdb 1MJC.pdb title: Crystal structure of CSPA, the major cold shock protein of escherichia coli [more info...] Chain information for 1MJC.pdb #2 --- Chain | Description | UniProt A | major cold-shock protein 7.4 | CSPA_ECOLI > lighting simple OpenGL version: 3.3.0 NVIDIA 510.39.01 OpenGL renderer: Quadro P6000/PCIe/SSE2 OpenGL vendor: NVIDIA Corporation Manufacturer: BOXX Technologies Model: GX8 OS: CentOS Linux 7 Core Architecture: 64bit ELF Virutal Machine: none CPU: 24 Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz Cache Size: 30720 KB Memory: total used free shared buff/cache available Mem: 503G 56G 302G 512M 145G 445G Swap: 0B 0B 0B Graphics: 04:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP102GL [Quadro P6000] [10de:1b30] (rev a1) Subsystem: NVIDIA Corporation Device [10de:11a0] Kernel driver in use: nvidia Locale: (None, None) PyQt5 5.15.2, Qt 5.15.2 Installed Packages: alabaster: 0.7.12 appdirs: 1.4.4 Babel: 2.9.1 backcall: 0.2.0 blockdiag: 2.0.1 certifi: 2021.10.8 cftime: 1.5.1.1 charset-normalizer: 2.0.9 ChimeraX-AddCharge: 1.2.2 ChimeraX-AddH: 2.1.11 ChimeraX-AlignmentAlgorithms: 2.0 ChimeraX-AlignmentHdrs: 3.2 ChimeraX-AlignmentMatrices: 2.0 ChimeraX-Alignments: 2.2.3 ChimeraX-AlphaFold: 1.0 ChimeraX-AltlocExplorer: 1.0.1 ChimeraX-AmberInfo: 1.0 ChimeraX-Arrays: 1.0 ChimeraX-Atomic: 1.31 ChimeraX-AtomicLibrary: 4.2 ChimeraX-AtomSearch: 2.0 ChimeraX-AtomSearchLibrary: 1.0 ChimeraX-AxesPlanes: 2.0 ChimeraX-BasicActions: 1.1 ChimeraX-BILD: 1.0 ChimeraX-BlastProtein: 2.0 ChimeraX-BondRot: 2.0 ChimeraX-BugReporter: 1.0 ChimeraX-BuildStructure: 2.6.1 ChimeraX-Bumps: 1.0 ChimeraX-BundleBuilder: 1.1 ChimeraX-ButtonPanel: 1.0 ChimeraX-CageBuilder: 1.0 ChimeraX-CellPack: 1.0 ChimeraX-Centroids: 1.2 ChimeraX-ChemGroup: 2.0 ChimeraX-Clashes: 2.2.2 ChimeraX-ColorActions: 1.0 ChimeraX-ColorGlobe: 1.0 ChimeraX-ColorKey: 1.5 ChimeraX-CommandLine: 1.1.5 ChimeraX-ConnectStructure: 2.0 ChimeraX-Contacts: 1.0 ChimeraX-Core: 1.3 ChimeraX-CoreFormats: 1.1 ChimeraX-coulombic: 1.3.2 ChimeraX-Crosslinks: 1.0 ChimeraX-Crystal: 1.0 ChimeraX-CrystalContacts: 1.0 ChimeraX-DataFormats: 1.2.2 ChimeraX-Dicom: 1.0 ChimeraX-DistMonitor: 1.1.5 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.1 ChimeraX-Hbonds: 2.1.2 ChimeraX-Help: 1.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 ChimeraX-Label: 1.1 ChimeraX-LinuxSupport: 1.0 ChimeraX-ListInfo: 1.1.1 ChimeraX-Log: 1.1.4 ChimeraX-LookingGlass: 1.1 ChimeraX-Maestro: 1.8.1 ChimeraX-Map: 1.1 ChimeraX-MapData: 2.0 ChimeraX-MapEraser: 1.0 ChimeraX-MapFilter: 2.0 ChimeraX-MapFit: 2.0 ChimeraX-MapSeries: 2.1 ChimeraX-Markers: 1.0 ChimeraX-Mask: 1.0 ChimeraX-MatchMaker: 2.0.4 ChimeraX-MDcrds: 2.6 ChimeraX-MedicalToolbar: 1.0.1 ChimeraX-Meeting: 1.0 ChimeraX-MLP: 1.1 ChimeraX-mmCIF: 2.4 ChimeraX-MMTF: 2.1 ChimeraX-Modeller: 1.2.6 ChimeraX-ModelPanel: 1.2.1 ChimeraX-ModelSeries: 1.0 ChimeraX-Mol2: 2.0 ChimeraX-Morph: 1.0 ChimeraX-MouseModes: 1.1 ChimeraX-Movie: 1.0 ChimeraX-Neuron: 1.0 ChimeraX-Nucleotides: 2.0.2 ChimeraX-OpenCommand: 1.7 ChimeraX-PDB: 2.6.5 ChimeraX-PDBBio: 1.0 ChimeraX-PDBLibrary: 1.0.2 ChimeraX-PDBMatrices: 1.0 ChimeraX-PickBlobs: 1.0 ChimeraX-Positions: 1.0 ChimeraX-PresetMgr: 1.0.1 ChimeraX-PubChem: 2.1 ChimeraX-ReadPbonds: 1.0.1 ChimeraX-Registration: 1.1 ChimeraX-RemoteControl: 1.0 ChimeraX-ResidueFit: 1.0 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 ChimeraX-SchemeMgr: 1.0 ChimeraX-SDF: 2.0 ChimeraX-Segger: 1.0 ChimeraX-Segment: 1.0 ChimeraX-SelInspector: 1.0 ChimeraX-SeqView: 2.4.6 ChimeraX-Shape: 1.0.1 ChimeraX-Shell: 1.0 ChimeraX-Shortcuts: 1.1 ChimeraX-ShowAttr: 1.0 ChimeraX-ShowSequences: 1.0 ChimeraX-SideView: 1.0 ChimeraX-Smiles: 2.1 ChimeraX-SmoothLines: 1.0 ChimeraX-SpaceNavigator: 1.0 ChimeraX-StdCommands: 1.6.1 ChimeraX-STL: 1.0 ChimeraX-Storm: 1.0 ChimeraX-Struts: 1.0 ChimeraX-Surface: 1.0 ChimeraX-SwapAA: 2.0 ChimeraX-SwapRes: 2.1 ChimeraX-TapeMeasure: 1.0 ChimeraX-Test: 1.0 ChimeraX-Toolbar: 1.1 ChimeraX-ToolshedUtils: 1.2 ChimeraX-Tug: 1.0 ChimeraX-UI: 1.13.7 ChimeraX-uniprot: 2.2 ChimeraX-UnitCell: 1.0 ChimeraX-ViewDockX: 1.0.1 ChimeraX-VIPERdb: 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.4 cxservices: 1.1 cycler: 0.11.0 Cython: 0.29.24 decorator: 5.1.0 distro: 1.6.0 docutils: 0.17.1 filelock: 3.0.12 funcparserlib: 0.3.6 grako: 3.16.5 h5py: 3.6.0 html2text: 2020.1.16 idna: 3.3 ihm: 0.21 imagecodecs: 2021.4.28 imagesize: 1.3.0 ipykernel: 5.5.5 ipython: 7.23.1 ipython-genutils: 0.2.0 jedi: 0.18.0 Jinja2: 3.0.1 jupyter-client: 6.1.12 jupyter-core: 4.9.1 kiwisolver: 1.3.2 line-profiler: 3.3.0 lxml: 4.6.3 lz4: 3.1.3 MarkupSafe: 2.0.1 matplotlib: 3.4.3 matplotlib-inline: 0.1.3 msgpack: 1.0.2 netCDF4: 1.5.7 networkx: 2.6.3 numexpr: 2.8.0 numpy: 1.21.2 openvr: 1.16.801 packaging: 21.3 ParmEd: 3.2.0 parso: 0.8.3 pexpect: 4.8.0 pickleshare: 0.7.5 Pillow: 8.3.2 pip: 21.2.4 pkginfo: 1.7.1 prompt-toolkit: 3.0.23 psutil: 5.8.0 ptyprocess: 0.7.0 pycollada: 0.7.1 pydicom: 2.1.2 Pygments: 2.10.0 PyOpenGL: 3.1.5 PyOpenGL-accelerate: 3.1.5 pyparsing: 3.0.6 PyQt5-commercial: 5.15.2 PyQt5-sip: 12.8.1 PyQtWebEngine-commercial: 5.15.2 python-dateutil: 2.8.2 pytz: 2021.3 pyzmq: 22.3.0 qtconsole: 5.1.1 QtPy: 1.11.3 RandomWords: 0.3.0 requests: 2.26.0 scipy: 1.7.1 setuptools: 57.5.0 sfftk-rw: 0.7.1 six: 1.16.0 snowballstemmer: 2.2.0 sortedcontainers: 2.4.0 Sphinx: 4.2.0 sphinx-autodoc-typehints: 1.12.0 sphinxcontrib-applehelp: 1.0.2 sphinxcontrib-blockdiag: 2.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 suds-jurko: 0.6 tables: 3.6.1 tifffile: 2021.4.8 tinyarray: 1.2.3 tornado: 6.1 traitlets: 5.1.1 urllib3: 1.26.7 wcwidth: 0.2.5 webcolors: 1.11.1 wheel: 0.37.0 wheel-filename: 1.3.0
Change History (10)
comment:1 by , 4 years ago
Cc: | added |
---|---|
Component: | Unassigned → Graphics |
Owner: | set to |
Platform: | → all |
Project: | → ChimeraX |
Status: | new → assigned |
Summary: | ChimeraX bug report submission → VirtualGL: glClear: invalid operation |
comment:2 by , 4 years ago
Resolution: | → nonchimerax |
---|---|
Status: | assigned → closed |
This OpenGL "invalid operation" error just means your VirtualGL is not working correctly. This is a VirtualGL problem not a ChimeraX issue. I don't know anything about configuring VirtualGL. In general technologies that try to send OpenGL commands from an application running on one computer, to another computer to do the rendering are fragile and often fail to work.
ChimeraX does indicate it sees your graphics driver
OpenGL version: 3.3.0 NVIDIA 510.39.01
OpenGL renderer: Quadro P6000/PCIe/SSE2
My only suggestion is to run ChimeraX without VirtualGL.
comment:3 by , 4 years ago
Which version of VirtualGL are you using? We have had reported issues with 3.0. But I would expect 2.5 and 2.6 to work.
comment:4 by , 4 years ago
Resolution: | nonchimerax |
---|---|
Status: | closed → reopened |
Will try to help commercial license holder get ChimeraX running with VirtualGL.
comment:5 by , 4 years ago
Cc: | added; removed |
---|---|
Owner: | changed from | to
Status: | reopened → assigned |
follow-up: 6 comment:6 by , 4 years ago
Hello Greg and Tom, Thanks for your answer. We are using VirtualGL 3, I think we can try 2.5 or 2.6. On Wed, Apr 6, 2022 at 8:02 PM ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu> wrote:
comment:7 by , 4 years ago
Please let us know if reverting to an earlier version of VirtualGL works. Thanks.
follow-up: 8 comment:8 by , 3 years ago
Hello, we considered reverting to a previous VirtualGL version but we cannot use or make VirtualGL 2.5/2.6 available because these versions do not have EGL support. These older versions would require that we run a "shared", insecure NVIDIA x.org service on all of the compute nodes, which would be possible. What other approaches could we employ? We are available to make tests if you have some ideas. Best regards On Thu, Apr 7, 2022 at 10:24 PM ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu> wrote:
comment:9 by , 3 years ago
Have you filed a bug report with VirtualGL yet? You should also be aware that Ubuntu 22.04 (just came out) has dropped using Wayland (and EGL) for Nvidia graphics at this time in favor x.org. So the recommendation stands to switch back to VirtualGL 2.5/2.5 if you want ChimeraX to work. Depending on how you are using VirtualGL, it is not very insecure. The danger comes from someone being logged in at the console with x.org. If all use is remote, and you are using the vglusers group to limit access to trusted users, you should be fine.
comment:10 by , 3 years ago
Resolution: | → limitation |
---|---|
Status: | assigned → closed |
Reported by Maicon Faria