#4891 closed defect (can't reproduce)
glUniformMatrix4fv: invalid operation
| Reported by: | Owned by: | Tom Goddard | |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Graphics | 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.19041
ChimeraX Version: 1.2.5 (2021-05-24 04:13:57 UTC)
Description
Filled out registration dialog and submitted.
Then opened 4hus which worked. Then rotated with mouse for a second and got this error.
Log:
UCSF ChimeraX version: 1.2.5 (2021-05-24)
© 2016-2021 Regents of the University of California. All rights reserved.
How to cite UCSF ChimeraX
Thank you for registering your copy of ChimeraX. By providing the information
requested you will be helping us document the impact this software is having
in the scientific community. The information you supplied will only be used
for reporting summary usage statistics; no individual data will be released.
goddard@sonic.net is subscribed to the ChimeraX announcements list
> open 4hus format mmcif fromDatabase pdb
4hus title:
Crystal structure of streptogramin group A antibiotic acetyltransferase VatA
from Staphylococcus aureus in complex with virginiamycin M1 [more info...]
Chain information for 4hus #1
---
Chain | Description
A B C | Virginiamycin A acetyltransferase
Non-standard residues in 4hus #1
---
CL — chloride ion
EDO — 1,2-ethanediol (ethylene glycol)
NA — sodium ion
PEG — di(hydroxyethyl)ether
PGE — triethylene glycol
SO4 — sulfate ion
VIR — virginiamycin M1
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 1.2.5\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 1.2.5\bin\lib\site-
packages\chimerax\graphics\view.py", line 165, in draw
self._draw_scene(camera, drawings)
File "C:\Program Files\ChimeraX 1.2.5\bin\lib\site-
packages\chimerax\graphics\view.py", line 233, in _draw_scene
draw_opaque(r, opaque_drawings)
File "C:\Program Files\ChimeraX 1.2.5\bin\lib\site-
packages\chimerax\graphics\drawing.py", line 1498, in draw_opaque
_draw_multiple(drawings, renderer, Drawing.OPAQUE_DRAW_PASS)
File "C:\Program Files\ChimeraX 1.2.5\bin\lib\site-
packages\chimerax\graphics\drawing.py", line 1511, in _draw_multiple
d.draw(renderer, draw_pass)
File "C:\Program Files\ChimeraX 1.2.5\bin\lib\site-
packages\chimerax\graphics\drawing.py", line 751, in draw
self.draw_self(renderer, draw_pass)
File "C:\Program Files\ChimeraX 1.2.5\bin\lib\site-
packages\chimerax\graphics\drawing.py", line 758, in draw_self
self._draw_geometry(renderer, opaque_only = any_transp)
File "C:\Program Files\ChimeraX 1.2.5\bin\lib\site-
packages\chimerax\graphics\drawing.py", line 789, in _draw_geometry
shader = r.shader(sopt)
File "C:\Program Files\ChimeraX 1.2.5\bin\lib\site-
packages\chimerax\graphics\opengl.py", line 636, in shader
p = self._opengl_shader(options)
File "C:\Program Files\ChimeraX 1.2.5\bin\lib\site-
packages\chimerax\graphics\opengl.py", line 739, in _opengl_shader
self._use_shader(p)
File "C:\Program Files\ChimeraX 1.2.5\bin\lib\site-
packages\chimerax\graphics\opengl.py", line 663, in _use_shader
self.set_projection_matrix()
File "C:\Program Files\ChimeraX 1.2.5\bin\lib\site-
packages\chimerax\graphics\opengl.py", line 755, in set_projection_matrix
p.set_matrix('projection_matrix', pm)
File "C:\Program Files\ChimeraX 1.2.5\bin\lib\site-
packages\chimerax\graphics\opengl.py", line 2748, in set_matrix
GL.glUniformMatrix4fv(self.uniform_id(name), 1, False, matrix)
File "src/latebind.pyx", line 39, in
OpenGL_accelerate.latebind.LateBind.__call__
File "src/wrapper.pyx", line 318, in
OpenGL_accelerate.wrapper.Wrapper.__call__
File "src/wrapper.pyx", line 311, in
OpenGL_accelerate.wrapper.Wrapper.__call__
File "src/errorchecker.pyx", line 58, in
OpenGL_accelerate.errorchecker._ErrorChecker.glCheckError
OpenGL.error.GLError: GLError(
err = 1282,
description = b'invalid operation',
baseOperation = glUniformMatrix4fv,
pyArgs = (
3,
1,
False,
<OpenGL.arrays.lists.c_float_Array_4_Array_4 object at 0x0000014B94C8CE40>,
),
cArgs = (
3,
1,
False,
<OpenGL.arrays.lists.c_float_Array_4_Array_4 object at 0x0000014B94C8CE40>,
),
cArguments = (
3,
1,
False,
<OpenGL.arrays.lists.c_float_Array_4_Array_4 object at 0x0000014B94C8CE40>,
)
)
OpenGL version: 3.3.0 NVIDIA 430.39
OpenGL renderer: Quadro P6000/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation
Manufacturer: Gigabyte Technology Co., Ltd.
Model: To be filled by O.E.M.
OS: Microsoft Windows 10 Home (Build 19042)
Memory: 66,135,482,368
MaxProcessMemory: 137,438,953,344
CPU: 8 Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz
OSLanguage: en-US
Locale: ('en_US', 'cp1252')
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: 2020.12.5
cftime: 1.5.0
chardet: 3.0.4
ChimeraX-AddCharge: 1.0.1
ChimeraX-AddH: 2.1.6
ChimeraX-AlignmentAlgorithms: 2.0
ChimeraX-AlignmentHdrs: 3.2
ChimeraX-AlignmentMatrices: 2.0
ChimeraX-Alignments: 2.1
ChimeraX-AmberInfo: 1.0
ChimeraX-Arrays: 1.0
ChimeraX-Atomic: 1.13.2
ChimeraX-AtomicLibrary: 3.1.3
ChimeraX-AtomSearch: 2.0
ChimeraX-AtomSearchLibrary: 1.0
ChimeraX-AxesPlanes: 2.0
ChimeraX-BasicActions: 1.1
ChimeraX-BILD: 1.0
ChimeraX-BlastProtein: 1.1
ChimeraX-BondRot: 2.0
ChimeraX-BugReporter: 1.0
ChimeraX-BuildStructure: 2.5.2
ChimeraX-Bumps: 1.0
ChimeraX-BundleBuilder: 1.1
ChimeraX-ButtonPanel: 1.0
ChimeraX-CageBuilder: 1.0
ChimeraX-CellPack: 1.0
ChimeraX-Centroids: 1.1
ChimeraX-ChemGroup: 2.0
ChimeraX-Clashes: 2.1
ChimeraX-ColorActions: 1.0
ChimeraX-ColorGlobe: 1.0
ChimeraX-ColorKey: 1.2.1
ChimeraX-CommandLine: 1.1.4
ChimeraX-ConnectStructure: 2.0
ChimeraX-Contacts: 1.0
ChimeraX-Core: 1.2.5
ChimeraX-CoreFormats: 1.0
ChimeraX-coulombic: 1.1.1
ChimeraX-Crosslinks: 1.0
ChimeraX-Crystal: 1.0
ChimeraX-CrystalContacts: 1.0
ChimeraX-DataFormats: 1.1
ChimeraX-Dicom: 1.0
ChimeraX-DistMonitor: 1.1.3
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.0
ChimeraX-Hbonds: 2.1
ChimeraX-Help: 1.1
ChimeraX-HKCage: 1.3
ChimeraX-IHM: 1.0
ChimeraX-ImageFormats: 1.1
ChimeraX-IMOD: 1.0
ChimeraX-IO: 1.0.1
ChimeraX-Label: 1.0
ChimeraX-ListInfo: 1.1.1
ChimeraX-Log: 1.1.2
ChimeraX-LookingGlass: 1.1
ChimeraX-Maestro: 1.8.1
ChimeraX-Map: 1.0.2
ChimeraX-MapData: 2.0
ChimeraX-MapEraser: 1.0
ChimeraX-MapFilter: 2.0
ChimeraX-MapFit: 2.0
ChimeraX-MapSeries: 2.0
ChimeraX-Markers: 1.0
ChimeraX-Mask: 1.0
ChimeraX-MatchMaker: 1.2.1
ChimeraX-MDcrds: 2.2
ChimeraX-MedicalToolbar: 1.0.1
ChimeraX-Meeting: 1.0
ChimeraX-MLP: 1.1
ChimeraX-mmCIF: 2.3
ChimeraX-MMTF: 2.1
ChimeraX-Modeller: 1.0.1
ChimeraX-ModelPanel: 1.0.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.1
ChimeraX-OpenCommand: 1.5
ChimeraX-PDB: 2.4.1
ChimeraX-PDBBio: 1.0
ChimeraX-PDBLibrary: 1.0.1
ChimeraX-PDBMatrices: 1.0
ChimeraX-PickBlobs: 1.0
ChimeraX-Positions: 1.0
ChimeraX-PresetMgr: 1.0.1
ChimeraX-PubChem: 2.0.1
ChimeraX-ReadPbonds: 1.0
ChimeraX-Registration: 1.1
ChimeraX-RemoteControl: 1.0
ChimeraX-ResidueFit: 1.0
ChimeraX-RestServer: 1.1
ChimeraX-RNALayout: 1.0
ChimeraX-RotamerLibMgr: 2.0
ChimeraX-RotamerLibsDunbrack: 2.0
ChimeraX-RotamerLibsDynameomics: 2.0
ChimeraX-RotamerLibsRichardson: 2.0
ChimeraX-SaveCommand: 1.4
ChimeraX-SchemeMgr: 1.0
ChimeraX-SDF: 2.0
ChimeraX-Segger: 1.0
ChimeraX-Segment: 1.0
ChimeraX-SeqView: 2.3
ChimeraX-Shape: 1.0.1
ChimeraX-Shell: 1.0
ChimeraX-Shortcuts: 1.0
ChimeraX-ShowAttr: 1.0
ChimeraX-ShowSequences: 1.0
ChimeraX-SideView: 1.0
ChimeraX-Smiles: 2.0.1
ChimeraX-SmoothLines: 1.0
ChimeraX-SpaceNavigator: 1.0
ChimeraX-StdCommands: 1.3.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.0.1
ChimeraX-ToolshedUtils: 1.2
ChimeraX-Tug: 1.0
ChimeraX-UI: 1.7.6
ChimeraX-uniprot: 2.1
ChimeraX-UnitCell: 1.0
ChimeraX-ViewDockX: 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.3
comtypes: 1.1.7
cxservices: 1.0
cycler: 0.10.0
Cython: 0.29.21
decorator: 5.0.9
distlib: 0.3.1
docutils: 0.16
filelock: 3.0.12
funcparserlib: 0.3.6
grako: 3.16.5
h5py: 2.10.0
html2text: 2020.1.16
idna: 2.10
ihm: 0.17
imagecodecs: 2020.5.30
imagesize: 1.2.0
ipykernel: 5.3.4
ipython: 7.18.1
ipython-genutils: 0.2.0
jedi: 0.17.2
Jinja2: 2.11.2
jupyter-client: 6.1.7
jupyter-core: 4.7.1
kiwisolver: 1.3.1
line-profiler: 2.1.2
lxml: 4.6.2
lz4: 3.1.0
MarkupSafe: 2.0.1
matplotlib: 3.3.2
msgpack: 1.0.0
netCDF4: 1.5.4
networkx: 2.5
numexpr: 2.7.3
numpy: 1.19.2
numpydoc: 1.1.0
openvr: 1.14.1501
packaging: 20.9
ParmEd: 3.2.0
parso: 0.7.1
pickleshare: 0.7.5
Pillow: 7.2.0
pip: 21.0.1
pkginfo: 1.5.0.1
prompt-toolkit: 3.0.18
psutil: 5.7.2
pycollada: 0.7.1
pydicom: 2.0.0
Pygments: 2.7.1
PyOpenGL: 3.1.5
PyOpenGL-accelerate: 3.1.5
pyparsing: 2.4.7
PyQt5-commercial: 5.15.2
PyQt5-sip: 12.8.1
PyQtWebEngine-commercial: 5.15.2
python-dateutil: 2.8.1
pytz: 2021.1
pywin32: 228
pyzmq: 22.0.3
qtconsole: 4.7.7
QtPy: 1.9.0
RandomWords: 0.3.0
requests: 2.24.0
scipy: 1.5.2
setuptools: 50.3.2
sfftk-rw: 0.6.7.dev1
six: 1.15.0
snowballstemmer: 2.1.0
sortedcontainers: 2.2.2
Sphinx: 3.2.1
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: 2020.9.3
tinyarray: 1.2.3
tornado: 6.1
traitlets: 5.0.5
urllib3: 1.25.11
wcwidth: 0.2.5
webcolors: 1.11.1
wheel: 0.36.0
wheel-filename: 1.3.0
WMI: 1.5.1
Change History (5)
comment:1 by , 4 years ago
| Component: | Unassigned → Graphics |
|---|---|
| Owner: | set to |
| Platform: | → all |
| Project: | → ChimeraX |
| Status: | new → assigned |
| Summary: | ChimeraX bug report submission → glUniformMatrix4fv: invalid operation |
comment:2 by , 4 years ago
comment:3 by , 4 years ago
This has been reported 3 times before, never with any clues about the cause.
The invalid operation probably means either there is no current shader program, or the current shader program does not have the projection matrix shader variable. Code where error occurred is
p = self.current_shader_program
if p is not None and not (p.capabilities & self.SHADER_NO_PROJECTION_MATRIX):
p.set_matrix('projection_matrix', pm)
Seems most likely that no shader program was current. Maybe it has something to do with mouse hover or status messages during the rendering causing an OpenGL context change.
comment:4 by , 4 years ago
| Resolution: | → can't reproduce |
|---|---|
| Status: | assigned → closed |
The glUseProgram() call was just only a few calls earlier in the _use_shader() method. The 4hus model opens with no shadows. But just before this error it should have set the depth cue parameters, which should have generated an error if there was no current shader. Could it be a shader with not projection_matrix variable? Looks not possible since code checks for all the shaders that have no projection matrix.
There is a shader.validate_program() call at the end of the _use_shader() routine. Seems odd to put it at the end.
Still it seems the depth cue was set successfully and then the projection matrix set failed. Hard to fathom.
Could Qt have changed the current OpenGL context in the main thread? It could have run another thread but I think each thread has its own OpenGL context, so I don't see how it could change the context of the main thread.
Did not reproduce when I restarted ChimeraX.
Besides submitting registration at startup, during startup I updated Steam. Probably unrelated but who knows what magic it might have done with the graphics driver.