Opened 5 years ago

Closed 5 years ago

#4100 closed defect (can't reproduce)

glUniformMatrix4fv: invalid operation

Reported by: unidadbiomodelos3d@… 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.18362
ChimeraX Version: 1.1 (2020-09-09 22:22:27 UTC)
Description
(Describe the actions that caused this problem to occur here)

Log:
UCSF ChimeraX version: 1.1 (2020-09-09)  
© 2016-2020 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> open D:\Downloads\ChimeraX\4-24533 format dicom

Opened CHEST CT 4, grid size 512,512,236, pixel 0.576,0.576,1.25, shown at
step 1, values int16  

> open https://www.rbvi.ucsf.edu/chimerax/tutorials.html

Opened https://www.rbvi.ucsf.edu/chimerax/tutorials.html  

> open https://www.rbvi.ucsf.edu/chimerax/tutorials.html

Opened https://www.rbvi.ucsf.edu/chimerax/tutorials.html  

> help help:user

> vr true

started SteamVR rendering  

> ui tool show "Model Panel"

> volume appearance initial

> ui tool show "Basic Actions"

> ui tool show "Model Panel"

> ui tool show Toolbar

> ui tool show ViewDockX

No suitable models found for ViewDockX  

> ui favorite true Toolbar

VR mode move planes  

> volume #1.1.1.1 region 0,0,165,511,511,165

> volume #1.1.1.1 region 0,0,159,511,511,159

> volume region all imageMode "full region"

> mousemode rightMode "crop volume"

VR mode crop volume  

> volume #1.1.1.1 region 0,0,0,511,511,235

> volume #1.1.1.1 orthoplanes xyz positionPlanes 256,256,118 style image
> region all

> mousemode rightMode "move planes"

> volume #1.1.1.1 orthoplanes xyz positionPlanes 256,256,118 style image
> region all

> mousemode rightMode "move planes"

> volume #1.1.1.1 orthoplanes xyz positionPlanes 256,256,118 style image
> region all

> mousemode rightMode "move planes"

> volume planes z style image imageMode "full region"

> mousemode rightMode "move planes"

> volume #1.1.1.1 style image region all imageMode "tilted slab"
> tiltedSlabAxis 0,0,1 tiltedSlabOffset -181.2 tiltedSlabSpacing 0.5762
> tiltedSlabPlaneCount 10

> mousemode rightMode "rotate slab"

> volume #1.1.1.1 tiltedSlabOffset -181.2 tiltedSlabPlaneCount 107

VR mode move planes  

> volume #1.1.1.1 tiltedSlabOffset -152.4 tiltedSlabPlaneCount 107

> volume #1.1.1.1 tiltedSlabOffset -144.3 tiltedSlabPlaneCount 107

> volume #1.1.1.1 tiltedSlabOffset -134 tiltedSlabPlaneCount 107

> volume #1.1.1.1 tiltedSlabOffset -138.6 tiltedSlabPlaneCount 107

> volume #1.1.1.1 tiltedSlabOffset -144.3 tiltedSlabPlaneCount 107

> volume #1.1.1.1 tiltedSlabOffset -146.1 tiltedSlabPlaneCount 107

> volume #1.1.1.1 tiltedSlabOffset -140.3 tiltedSlabPlaneCount 107

> volume appearance airways

VR mode windowing  

> volume #1.1.1.1 level -718,0 level -504.8,0.98 level -291.6,0

> volume #1.1.1.1 level -933,0 level -719.2,0.98 level -505.5,0

> volume #1.1.1.1 level -1124,0 level -909.1,0.98 level -693.8,0

> volume #1.1.1.1 level -1076,0 level -861.3,0.98 level -646.2,0

> volume #1.1.1.1 level -951.8,0 level -735.5,0.98 level -519.1,0

> volume #1.1.1.1 level -870.8,0 level -654.5,0.98 level -438.2,0

> volume #1.1.1.1 level -561.1,0 level -356,0.98 level -150.9,0

> volume appearance initial

> volume appearance airways

> volume appearance airways

> volume appearance chest

> volume appearance initial

> volume appearance brain

VR mode move planes  

> volume #1.1.1.1 tiltedSlabOffset -146.6 tiltedSlabPlaneCount 107

> volume appearance initial

> volume appearance airways

> volume #1.1.1.1 tiltedSlabOffset -146.6 tiltedSlabPlaneCount 107

> volume #1.1.1.1 tiltedSlabOffset -135.7 tiltedSlabPlaneCount 107

> volume #1.1.1.1 tiltedSlabOffset -138.6 tiltedSlabPlaneCount 107

> volume #1.1.1.1 tiltedSlabOffset -140.3 tiltedSlabPlaneCount 107

VR mode tape measure  
VR mode move planes  

> volume #1.1.1.1 tiltedSlabOffset -150.1 tiltedSlabPlaneCount 107

> volume appearance initial

> volume appearance airways

> volume appearance airways

> volume appearance initial

> volume appearance airways

> volume appearance initial

VR mode move planes  

> volume #1.1.1.1 style image region all imageMode "tilted slab"
> tiltedSlabAxis 0,0,1 tiltedSlabOffset -181.2 tiltedSlabSpacing 0.5762
> tiltedSlabPlaneCount 10

> mousemode rightMode "rotate slab"

> volume #1.1.1.1 tiltedSlabOffset -195 tiltedSlabPlaneCount 10

VR mode move planes  

> volume #1.1.1.1 tiltedSlabOffset -206 tiltedSlabPlaneCount 10

VR mode crop volume  

> volume #1.1.1.1 tiltedSlabOffset -234.2 tiltedSlabPlaneCount 59

> volume #1.1.1.1 tiltedSlabOffset -98.8 tiltedSlabPlaneCount 28

> volume #1.1.1.1 tiltedSlabOffset -160.5 tiltedSlabPlaneCount 135

> volume #1.1.1.1 tiltedSlabOffset -160.5 tiltedSlabPlaneCount 136

VR mode move planes  

> volume #1.1.1.1 tiltedSlabOffset -158.2 tiltedSlabPlaneCount 136

> volume #1.1.1.1 tiltedSlabOffset -150.7 tiltedSlabPlaneCount 136

> volume #1.1.1.1 tiltedSlabOffset -157 tiltedSlabPlaneCount 136

> volume appearance airways

VR mode tape measure  
VR mode move planes  

> volume #1.1.1.1 tiltedSlabOffset -113.4 tiltedSlabPlaneCount 136

VR mode crop volume  

> volume #1.1.1.1 tiltedSlabOffset -133 tiltedSlabPlaneCount 161

> volume #1.1.1.1 tiltedSlabOffset -149.7 tiltedSlabPlaneCount 196

> volume #1.1.1.1 tiltedSlabOffset -160 tiltedSlabPlaneCount 217

VR mode move planes  

> volume #1.1.1.1 tiltedSlabOffset -306.4 tiltedSlabPlaneCount 217

> volume #1.1.1.1 tiltedSlabOffset -304.7 tiltedSlabPlaneCount 217

VR mode windowing  

> volume #1.1.1.1 level -715,0 level -512,0.98 level -309,0

> volume #1.1.1.1 level -724.1,0 level -516.3,0.98 level -308.6,0

> volume #1.1.1.1 level -755.7,0 level -549.7,0.98 level -343.7,0

> volume #1.1.1.1 level -711.3,0 level -493.9,0.98 level -276.5,0

> volume #1.1.1.1 level -846,0 level -626.5,0.98 level -407,0

> volume #1.1.1.1 level -933.2,0 level -713.8,0.98 level -494.3,0

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 "D:\ChimeraX 1.1\bin\lib\site-packages\chimerax\core\updateloop.py", line
73, in draw_new_frame  
view.draw(check_for_changes = False)  
File "D:\ChimeraX 1.1\bin\lib\site-packages\chimerax\graphics\view.py", line
165, in draw  
self._draw_scene(camera, drawings)  
File "D:\ChimeraX 1.1\bin\lib\site-packages\chimerax\graphics\view.py", line
214, in _draw_scene  
self._update_projection(camera, vnum)  
File "D:\ChimeraX 1.1\bin\lib\site-packages\chimerax\graphics\view.py", line
893, in _update_projection  
r.set_projection_matrix(pm)  
File "D:\ChimeraX 1.1\bin\lib\site-packages\chimerax\graphics\opengl.py", line
707, in set_projection_matrix  
p.set_matrix('projection_matrix', pm)  
File "D:\ChimeraX 1.1\bin\lib\site-packages\chimerax\graphics\opengl.py", line
2688, 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'operaci\xf3n no v\xe1lida',  
baseOperation = glUniformMatrix4fv,  
pyArgs = (  
4,  
1,  
False,  
array([[ 0.00166484, 0. , 0. , 0. ],  
[ 0. , 0.00139833, 0. , 0. ...,  
),  
cArgs = (  
4,  
1,  
False,  
array([[ 0.00166484, 0. , 0. , 0. ],  
[ 0. , 0.00139833, 0. , 0. ...,  
),  
cArguments = (  
4,  
1,  
False,  
array([[ 0.00166484, 0. , 0. , 0. ],  
[ 0. , 0.00139833, 0. , 0. ...,  
)  
)  
  




OpenGL version: 3.3.0 NVIDIA 460.89
OpenGL renderer: GeForce GTX 1060/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation
Manufacturer: Alienware
Model: Alienware 15 R4
OS: Microsoft Windows 10 Home (Build 18363)
Memory: 17,028,878,336
MaxProcessMemory: 137,438,953,344
CPU: 12 Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz"
PyQt version: 5.12.3
Compiled Qt version: 5.12.4
Runtime Qt version: 5.12.9
Installed Packages:
    alabaster: 0.7.12
    appdirs: 1.4.4
    Babel: 2.8.0
    backcall: 0.2.0
    blockdiag: 2.0.1
    certifi: 2020.6.20
    chardet: 3.0.4
    ChimeraX-AddH: 2.1.3
    ChimeraX-AlignmentAlgorithms: 2.0
    ChimeraX-AlignmentHdrs: 3.2
    ChimeraX-AlignmentMatrices: 2.0
    ChimeraX-Alignments: 2.1
    ChimeraX-Arrays: 1.0
    ChimeraX-Atomic: 1.6.1
    ChimeraX-AtomSearch: 2.0
    ChimeraX-AxesPlanes: 2.0
    ChimeraX-BasicActions: 1.1
    ChimeraX-BILD: 1.0
    ChimeraX-BlastProtein: 1.0.1
    ChimeraX-BondRot: 2.0
    ChimeraX-BugReporter: 1.0
    ChimeraX-BuildStructure: 2.0
    ChimeraX-Bumps: 1.0
    ChimeraX-BundleBuilder: 1.0
    ChimeraX-ButtonPanel: 1.0
    ChimeraX-CageBuilder: 1.0
    ChimeraX-CellPack: 1.0
    ChimeraX-Centroids: 1.1
    ChimeraX-ChemGroup: 2.0
    ChimeraX-Clashes: 2.0
    ChimeraX-ColorActions: 1.0
    ChimeraX-ColorGlobe: 1.0
    ChimeraX-CommandLine: 1.1.3
    ChimeraX-ConnectStructure: 2.0
    ChimeraX-Contacts: 1.0
    ChimeraX-Core: 1.1
    ChimeraX-CoreFormats: 1.0
    ChimeraX-coulombic: 1.0.1
    ChimeraX-Crosslinks: 1.0
    ChimeraX-Crystal: 1.0
    ChimeraX-DataFormats: 1.0
    ChimeraX-Dicom: 1.0
    ChimeraX-DistMonitor: 1.1
    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.0
    ChimeraX-Help: 1.0
    ChimeraX-HKCage: 1.3
    ChimeraX-IHM: 1.0
    ChimeraX-ImageFormats: 1.0
    ChimeraX-IMOD: 1.0
    ChimeraX-IO: 1.0
    ChimeraX-Label: 1.0
    ChimeraX-ListInfo: 1.0
    ChimeraX-Log: 1.1.1
    ChimeraX-LookingGlass: 1.1
    ChimeraX-Map: 1.0.1
    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.1
    ChimeraX-MDcrds: 2.0
    ChimeraX-MedicalToolbar: 1.0.1
    ChimeraX-Meeting: 1.0
    ChimeraX-MLP: 1.0
    ChimeraX-mmCIF: 2.2
    ChimeraX-MMTF: 2.0
    ChimeraX-Modeller: 1.0
    ChimeraX-ModelPanel: 1.0
    ChimeraX-ModelSeries: 1.0
    ChimeraX-Mol2: 2.0
    ChimeraX-Morph: 1.0
    ChimeraX-MouseModes: 1.0
    ChimeraX-Movie: 1.0
    ChimeraX-Neuron: 1.0
    ChimeraX-Nucleotides: 2.0
    ChimeraX-OpenCommand: 1.2.1
    ChimeraX-PDB: 2.1
    ChimeraX-PDBBio: 1.0
    ChimeraX-PickBlobs: 1.0
    ChimeraX-Positions: 1.0
    ChimeraX-PresetMgr: 1.0
    ChimeraX-PubChem: 2.0
    ChimeraX-Read-Pbonds: 1.0
    ChimeraX-Registration: 1.1
    ChimeraX-RemoteControl: 1.0
    ChimeraX-ResidueFit: 1.0
    ChimeraX-RestServer: 1.0
    ChimeraX-RNALayout: 1.0
    ChimeraX-RotamerLibMgr: 2.0
    ChimeraX-RotamerLibsDunbrack: 2.0
    ChimeraX-RotamerLibsDynameomics: 2.0
    ChimeraX-RotamerLibsRichardson: 2.0
    ChimeraX-SaveCommand: 1.2
    ChimeraX-SchemeMgr: 1.0
    ChimeraX-SDF: 2.0
    ChimeraX-Segger: 1.0
    ChimeraX-Segment: 1.0
    ChimeraX-SeqView: 2.2
    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
    ChimeraX-SmoothLines: 1.0
    ChimeraX-SpaceNavigator: 1.0
    ChimeraX-StdCommands: 1.0.4
    ChimeraX-STL: 1.0
    ChimeraX-Storm: 1.0
    ChimeraX-Struts: 1.0
    ChimeraX-Surface: 1.0
    ChimeraX-SwapAA: 2.0
    ChimeraX-SwapRes: 2.0
    ChimeraX-TapeMeasure: 1.0
    ChimeraX-Test: 1.0
    ChimeraX-Toolbar: 1.0
    ChimeraX-ToolshedUtils: 1.0
    ChimeraX-Tug: 1.0
    ChimeraX-UI: 1.2.3
    ChimeraX-uniprot: 2.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.20
    decorator: 4.4.2
    distlib: 0.3.1
    docutils: 0.16
    filelock: 3.0.12
    funcparserlib: 0.3.6
    gdcm: 2.8.8
    grako: 3.16.5
    h5py: 2.10.0
    html2text: 2020.1.16
    idna: 2.10
    ihm: 0.16
    imagecodecs: 2020.5.30
    imagecodecs-lite: 2020.1.31
    imagesize: 1.2.0
    ipykernel: 5.3.0
    ipython: 7.15.0
    ipython-genutils: 0.2.0
    jedi: 0.17.2
    Jinja2: 2.11.2
    jupyter-client: 6.1.3
    jupyter-core: 4.6.3
    kiwisolver: 1.2.0
    line-profiler: 2.1.2
    lxml: 4.5.1
    MarkupSafe: 1.1.1
    matplotlib: 3.2.1
    msgpack: 1.0.0
    netifaces: 0.10.9
    networkx: 2.4
    numexpr: 2.7.1
    numpy: 1.18.5+mkl
    numpydoc: 1.0.0
    openvr: 1.12.501
    packaging: 20.4
    parso: 0.7.1
    pickleshare: 0.7.5
    Pillow: 7.1.2
    pip: 20.2.2
    pkginfo: 1.5.0.1
    prompt-toolkit: 3.0.7
    psutil: 5.7.0
    pycollada: 0.7.1
    pydicom: 2.0.0
    Pygments: 2.6.1
    PyOpenGL: 3.1.5
    PyOpenGL-accelerate: 3.1.5
    pyparsing: 2.4.7
    PyQt5-commercial: 5.12.3
    PyQt5-sip: 4.19.19
    PyQtWebEngine-commercial: 5.12.1
    python-dateutil: 2.8.1
    pytz: 2020.1
    pywin32: 228
    pyzmq: 19.0.2
    qtconsole: 4.7.4
    QtPy: 1.9.0
    RandomWords: 0.3.0
    requests: 2.24.0
    scipy: 1.4.1
    setuptools: 49.4.0
    sfftk-rw: 0.6.6.dev0
    six: 1.15.0
    snowballstemmer: 2.0.0
    sortedcontainers: 2.2.2
    Sphinx: 3.1.1
    sphinxcontrib-applehelp: 1.0.2
    sphinxcontrib-blockdiag: 2.0.0
    sphinxcontrib-devhelp: 1.0.2
    sphinxcontrib-htmlhelp: 1.0.3
    sphinxcontrib-jsmath: 1.0.1
    sphinxcontrib-qthelp: 1.0.3
    sphinxcontrib-serializinghtml: 1.1.4
    suds-jurko: 0.6
    tables: 3.6.1
    tifffile: 2020.6.3
    tinyarray: 1.2.2
    tornado: 6.0.4
    traitlets: 5.0.4
    urllib3: 1.25.10
    wcwidth: 0.2.5
    webcolors: 1.11.1
    wheel: 0.34.2
    WMI: 1.5.1

Change History (2)

comment:1 by Eric Pettersen, 5 years ago

Component: UnassignedGraphics
Owner: set to Tom Goddard
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionglUniformMatrix4fv: invalid operation

comment:2 by Tom Goddard, 5 years ago

Resolution: can't reproduce
Status: assignedclosed

This was an OpenGL graphics error in glUniformMatrix4fv (Invalid Operation) that happened apparently while in VR using the windowing VR mode to adjust volume brightness levels. It appears that mode was working for several updates and then for no clear reason threw this error. The error most likely means that the ChimeraX OpenGL shader that was supposed to be activated was in fact not active. The only way I can see this happening is that the VR code submits each eye image to the OpenVR library, and somehow the openvr.VRCompositor.submit(eye, texture) code corrupted the graphics state. There is a comment at that call saying submit() is setting the read framebuffer to 0, and I have ChimeraX code that checks for an OpenGL error after the submit() call. Why it would corrupt the OpenGL state (maybe leaving another context current, or maybe just changing the shader) only on rare occasions, I don't have an idea.

A similar error was reported in ChimeraX 0.91 in the glUniformMatrix*() call but it was related to a ChimeraX bug trying to set the projection matrix in a shader that did not have a projection matrix. That gives a different error. The current problem seems to be no shader was current. If this bug happened reproducibly I could put in code to check and correct, but I have never seen it in hundreds of hours using VR. Unfortunately the SteamVR "OpenVR" library we use is in fact not "open" so I can't examine their source code to see what OpenGL state they change and under what conditions, and that information is not documented.

If we can get a reproducible way to reproduce this error I can work on it further. Report it again in that case.

Note: See TracTickets for help on using tickets.