Opened 4 years ago

Closed 4 years ago

#6427 closed defect (nonchimerax)

[ChimeraX] OpenGL.error.GLError: GLError with VirtualGL 3.0 and TurboVNC 2.2.7

Reported by: Chung-Han.Tsai@… 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

Hi UCSF ChimeraX,

I would like to submit a bug/issue report as the following.

This issue happens after VirtualGL 3.0 is activated with the EGL backend and TurboVNC 2.2.7 is used to create a monitor with GPU acceleration. When ChimeraX is opened by running "vglrun -d /dev/dri/card7 chimerax", ChimeraX can be opened successfully; however, when just clicked a mrc model, this OpenGL issue pops up. I can also see that Chimerax runs with GPU from nvidia-smi.(Describe the actions that caused this problem to occur here)
This issue happens after VirtualGL 3.0 is activated with the EGL backend and TurboVNC 2.2.7 is used to create a monitor with GPU acceleration. When ChimeraX is opened by running "vglrun -d /dev/dri/card7 chimerax", ChimeraX can be opened successfully; however, when just clicked a mrc model, this OpenGL issue pops up. I can also see that Chimerax runs with GPU from nvidia-smi.


---------------------------------------------
Opened NCI_cryosparc_P7_J19_008_volume_map_sharp.mrc as #1, grid size 256,256,256, pixel 1, shown at level 0.298, step 1, values float32
Traceback (most recent call last):
  File "/usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/chimerax/ui/widgets/htmlview.py", line 333, in interceptRequest
    self._callback(info)
  File "/usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/chimerax/ui/widgets/htmlview.py", line 92, in _intercept
    return interceptor(request_info, *args)
  File "/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 "/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 "/usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/chimerax/ui/gui.py", line 382, in thread_safe
    func(*args, **kw)
  File "/usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/chimerax/ui/widgets/htmlview.py", line 459, in defer
    cxcmd(session, topic)
  File "/usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/chimerax/ui/widgets/htmlview.py", line 477, in cxcmd
    run(session, cmd)
  File "/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 "/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 "/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 "/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 "/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 "/usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/chimerax/core/logger.py", line 456, in status
    StatusLogger.status(self, msg, **kw)
  File "/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 "/usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/chimerax/ui/gui.py", line 889, in status
    sbar.status(msg, color, secondary)
  File "/usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/chimerax/ui/statusbar.py", line 150, in status
    r.draw_background()
  File "/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.47.03'
)

Traceback (most recent call last):
File "/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 "/usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/chimerax/graphics/view.py", line 139, in draw
if not self._use_opengl():
File "/usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/chimerax/graphics/view.py", line 106, in _use_opengl
self._initialize_opengl()
File "/usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/chimerax/graphics/view.py", line 117, in _initialize_opengl
r.check_opengl_version()
File "/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 "/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 "/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.47.03'
)

---------------------------------------------

OpenGL version: 3.3.0 NVIDIA 510.47.03
OpenGL renderer: NVIDIA A40/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation
Manufacturer: Dell Inc.
Model: DSS8440
OS: Red Hat Enterprise Linux 8.5 Ootpa
Architecture: 64bit ELF
Virutal Machine: none
CPU: 64 Intel(R) Xeon(R) Gold 5218 CPU @ 2.30GHz
Cache Size: 22528 KB
Memory:
             total        used        free      shared  buff/cache   available
Mem:          754Gi       3.5Gi       748Gi        53Mi       1.6Gi       747Gi
Swap:         299Gi          0B       299Gi

Graphics:
03:00.0 VGA compatible controller [0300]: Matrox Electronics Systems Ltd. Integrated Matrox G200eW3 Graphics Controller [102b:0536] (rev 04)
DeviceName: Embedded Video
Subsystem: Dell Device [1028:088d]
Locale: ('en_US', 'UTF-8')
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 (2)

comment:1 by Eric Pettersen, 4 years ago

Cc: Tom Goddard added
Component: UnassignedGraphics
Owner: set to Greg Couch
Platform: all
Project: ChimeraX
Status: newassigned

comment:2 by Greg Couch, 4 years ago

Resolution: nonchimerax
Status: assignedclosed

That appears to be a VirtualGL bug. Please file a bug at https://github.com/VirtualGL/virtualgl/issues.

In the meantime, you should consider switching to VirtualGL 2.6.5 with the OpenGL backend.

An aside, and possibly related, is that ChimeraX does not work with the Qt6 Wayland EGL platform.

Note: See TracTickets for help on using tickets.