Opened 3 years ago

Closed 3 years ago

#7124 closed defect (can't reproduce)

glTexImage2D: out of memory

Reported by: 196891@… 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
(Describe the actions that caused this problem to occur here)

Log:
QOpenGLFramebufferObject: Framebuffer incomplete attachment.  
QOpenGLFramebufferObject: Framebuffer incomplete attachment.  
QOpenGLFramebufferObject: Framebuffer incomplete attachment.  
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  
QOpenGLFramebufferObject: Framebuffer incomplete attachment.  
Traceback (most recent call last):  
File "C:\Program Files\ChimeraX 1.2.5\bin\lib\site-
packages\chimerax\ui\statusbar.py", line 82, in _expose_event  
self.status(self._last_message, self._last_color)  
File "C:\Program Files\ChimeraX 1.2.5\bin\lib\site-
packages\chimerax\ui\statusbar.py", line 149, in status  
self._draw_text(msg, color, secondary)  
File "C:\Program Files\ChimeraX 1.2.5\bin\lib\site-
packages\chimerax\ui\statusbar.py", line 159, in _draw_text  
draw_overlays(dlist, self._renderer)  
File "C:\Program Files\ChimeraX 1.2.5\bin\lib\site-
packages\chimerax\graphics\drawing.py", line 1551, in draw_overlays  
_draw_multiple(drawings, r, Drawing.TRANSPARENT_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 762, in draw_self  
self._draw_geometry(renderer, transparent_only = any_opaque)  
File "C:\Program Files\ChimeraX 1.2.5\bin\lib\site-
packages\chimerax\graphics\drawing.py", line 797, in _draw_geometry  
t.bind_texture()  
File "C:\Program Files\ChimeraX 1.2.5\bin\lib\site-
packages\chimerax\graphics\opengl.py", line 3003, in bind_texture  
self.fill_opengl_texture()  
File "C:\Program Files\ChimeraX 1.2.5\bin\lib\site-
packages\chimerax\graphics\opengl.py", line 3040, in fill_opengl_texture  
self.initialize_texture(size, format, iformat, tdtype, ncomp, data)  
File "C:\Program Files\ChimeraX 1.2.5\bin\lib\site-
packages\chimerax\graphics\opengl.py", line 2930, in initialize_texture  
GL.glTexImage2D(gl_target, 0, iformat, size[0], size[1], 0, format,  
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 "C:\Program Files\ChimeraX 1.2.5\bin\lib\site-
packages\OpenGL\platform\baseplatform.py", line 415, in __call__  
return self( *args, **named )  
File "src/errorchecker.pyx", line 58, in
OpenGL_accelerate.errorchecker._ErrorChecker.glCheckError  
OpenGL.error.GLError: GLError(  
err = 1285,  
description = b'out of memory',  
baseOperation = glTexImage2D,  
pyArgs = (  
GL_TEXTURE_2D,  
0,  
GL_RGBA8,  
305,  
44,  
0,  
GL_RGBA,  
GL_UNSIGNED_BYTE,  
array([[[0, 0, 0, 0],  
[0, 0, 0, 0],  
[0, 0, 0, 0],  
...,  
[0, 0, 0, 0],  
[0, 0, 0...,  
),  
cArgs = (  
GL_TEXTURE_2D,  
0,  
GL_RGBA8,  
305,  
44,  
0,  
GL_RGBA,  
GL_UNSIGNED_BYTE,  
array([[[0, 0, 0, 0],  
[0, 0, 0, 0],  
[0, 0, 0, 0],  
...,  
[0, 0, 0, 0],  
[0, 0, 0...,  
),  
cArguments = (  
GL_TEXTURE_2D,  
0,  
GL_RGBA8,  
305,  
44,  
0,  
GL_RGBA,  
GL_UNSIGNED_BYTE,  
array([[[0, 0, 0, 0],  
[0, 0, 0, 0],  
[0, 0, 0, 0],  
...,  
[0, 0, 0, 0],  
[0, 0, 0...,  
)  
)  
  
OpenGL.error.GLError: GLError(  
err = 1285,  
description = b'out of memory',  
baseOperation = glTexImage2D,  
pyArgs = (  
GL_TEXTURE_2D,  
0,  
GL_RGBA8,  
305,  
44,  
0,  
GL_RGBA,  
GL_UNSIGNED_BYTE,  
array([[[0, 0, 0, 0],  
[0, 0, 0, 0],  
[0, 0, 0, 0],  
...,  
[0, 0, 0, 0],  
[0, 0, 0...,  
),  
cArgs = (  
GL_TEXTURE_2D,  
0,  
GL_RGBA8,  
305,  
44,  
0,  
GL_RGBA,  
GL_UNSIGNED_BYTE,  
array([[[0, 0, 0, 0],  
[0, 0, 0, 0],  
[0, 0, 0, 0],  
...,  
[0, 0, 0, 0],  
[0, 0, 0...,  
),  
cArguments = (  
GL_TEXTURE_2D,  
0,  
GL_RGBA8,  
305,  
44,  
0,  
GL_RGBA,  
GL_UNSIGNED_BYTE,  
array([[[0, 0, 0, 0],  
[0, 0, 0, 0],  
[0, 0, 0, 0],  
...,  
[0, 0, 0, 0],  
[0, 0, 0...,  
)  
)  
  
File "src/errorchecker.pyx", line 58, in
OpenGL_accelerate.errorchecker._ErrorChecker.glCheckError  
  
See log for complete Python traceback.  
  




OpenGL version: 3.3.0 - Build 23.20.16.4973
OpenGL renderer: Intel(R) UHD Graphics 620
OpenGL vendor: Intel
Manufacturer: HP
Model: HP Pavilion Laptop 14-bf1xx
OS: Microsoft Windows 10 Home Single Language (Build 19043)
Memory: 4,207,841,280
MaxProcessMemory: 137,438,953,344
CPU: 8 Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz
OSLanguage: en-US
Locale: ('en_MY', '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 (2)

comment:1 by Eric Pettersen, 3 years ago

Component: UnassignedGraphics
Owner: set to Tom Goddard
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionglTexImage2D: out of memory

Reported by Lai Thai Leong

comment:2 by Tom Goddard, 3 years ago

Resolution: can't reproduce
Status: assignedclosed

ChimeraX produced an OpenGL graphics error at startup trying to draw the status line. We've seen this happen before but have never been able to reproduce it. The error message was "Out of memory" trying to allocate a tiny texture for the status line text, 10 Kbytes. That message is probably misleading. Possibly the graphics was attempted at startup before the window system was ready.

If ChimeraX always gives this error on startup on your machine I suggest you update to ChimeraX 1.4 and if it continues to happen then report the error again.

Note: See TracTickets for help on using tickets.