#14458 closed defect (can't reproduce)

Framebuffer incomplete

Reported by: Tony Schaefer 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.22631
ChimeraX Version: 1.7.dev202306232350 (2023-06-23 23:50:16 UTC)
Description
Computer went to sleep overnight and I came back to a GL error. First time I've seen this. The entire ChimeraX window is white (no graphics window, toolbar, log, etc.). 

Log:
> cd C:\Users\ajs99778/Desktop

Current working directory is: C:\Users\ajs99778\Desktop  

> graphics selection width 4

UCSF ChimeraX version: 1.7.dev202306232350 (2023-06-23)  
© 2016-2023 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> open catnip.gro

> select /?:620@HA3

1 atom, 1 residue, 1 model selected  

> select up

12 atoms, 11 bonds, 1 residue, 1 model selected  

> close

> open no_metal.mol

> preset seqcrow ball-stick-endcap

Using preset: SEQCROW / Ball-Stick-Endcap  
Preset implemented in Python; no expansion to individual ChimeraX commands
available.  

> close

> open npt-production.gro

> select :UNK

Nothing selected  

> select :CAT

52 atoms, 58 bonds, 1 pseudobond, 1 residue, 2 models selected  

> open npt-production-fixed.trr

Replaced existing frames of benzene box #1 with 10001 new frames  

> ui mousemode right "select fragment"

> hide ~sel

> select :299

12 atoms, 12 bonds, 1 residue, 1 model selected  

> show

> camera ortho

> ui mousemode right "tape measure"

> marker segment #2 position 30.93,26.27,2.62 toPosition 5.59,27.93,13.78
> color yellow radius 0.1 label 27.74 labelHeight 2.774 labelColor yellow

> marker delete #2

> marker segment #2 position 47.21,39.44,-2.332 toPosition
> -0.5215,40.24,-2.468 color yellow radius 0.1 label 47.74 labelHeight 4.774
> labelColor yellow

Framebuffer incomplete: 0x505  

[Repeated 2 time(s)]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 = 1285,  
description = b'out of memory',  
baseOperation = glTexImage2D,  
pyArgs = (  
GL_TEXTURE_2D,  
0,  
GL_DEPTH_COMPONENT24,  
1341,  
859,  
0,  
GL_DEPTH_COMPONENT,  
GL_FLOAT,  
c_void_p(None),  
),  
cArgs = (  
GL_TEXTURE_2D,  
0,  
GL_DEPTH_COMPONENT24,  
1341,  
859,  
0,  
GL_DEPTH_COMPONENT,  
GL_FLOAT,  
c_void_p(None),  
),  
cArguments = (  
GL_TEXTURE_2D,  
0,  
GL_DEPTH_COMPONENT24,  
1341,  
859,  
0,  
GL_DEPTH_COMPONENT,  
GL_FLOAT,  
c_void_p(None),  
)  
)  
  
Traceback (most recent call last):  
File "C:\Users\ajs99778\ChimeraX\bin\Lib\site-
packages\chimerax\core\updateloop.py", line 73, in draw_new_frame  
view.draw(check_for_changes = False)  
File "C:\Users\ajs99778\ChimeraX\bin\Lib\site-
packages\chimerax\graphics\view.py", line 177, in draw  
self._draw_scene(camera, drawings)  
File "C:\Users\ajs99778\ChimeraX\bin\Lib\site-
packages\chimerax\graphics\view.py", line 226, in _draw_scene  
silhouette.start_silhouette_drawing(r)  
File "C:\Users\ajs99778\ChimeraX\bin\Lib\site-
packages\chimerax\graphics\opengl.py", line 1778, in start_silhouette_drawing  
fb = self._silhouette_framebuffer(r)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Users\ajs99778\ChimeraX\bin\Lib\site-
packages\chimerax\graphics\opengl.py", line 1814, in _silhouette_framebuffer  
dt.initialize_depth(size, depth_compare_mode=False)  
File "C:\Users\ajs99778\ChimeraX\bin\Lib\site-
packages\chimerax\graphics\opengl.py", line 2940, in initialize_depth  
self.initialize_texture(size, format, iformat, tdtype, ncomp,  
File "C:\Users\ajs99778\ChimeraX\bin\Lib\site-
packages\chimerax\graphics\opengl.py", line 2966, 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 "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_DEPTH_COMPONENT24,  
1341,  
859,  
0,  
GL_DEPTH_COMPONENT,  
GL_FLOAT,  
c_void_p(None),  
),  
cArgs = (  
GL_TEXTURE_2D,  
0,  
GL_DEPTH_COMPONENT24,  
1341,  
859,  
0,  
GL_DEPTH_COMPONENT,  
GL_FLOAT,  
c_void_p(None),  
),  
cArguments = (  
GL_TEXTURE_2D,  
0,  
GL_DEPTH_COMPONENT24,  
1341,  
859,  
0,  
GL_DEPTH_COMPONENT,  
GL_FLOAT,  
c_void_p(None),  
)  
)  
  
Exception ignored in: <function Texture.__del__ at 0x00000172FBC72CA0>  
Traceback (most recent call last):  
File "C:\Users\ajs99778\ChimeraX\bin\Lib\site-
packages\chimerax\graphics\opengl.py", line 3034, in __del__  
raise OpenGLError('OpenGL texture was not deleted before graphics.Texture
destroyed')  
chimerax.graphics.opengl.OpenGLError: OpenGL texture was not deleted before
graphics.Texture destroyed  

Framebuffer incomplete: 0x505  

[Repeated 534511 time(s)]




OpenGL version: 3.3.0 - Build 31.0.101.4502
OpenGL renderer: Intel(R) UHD Graphics 770
OpenGL vendor: Intel

Python: 3.11.2
Locale: en_US.cp1252
Qt version: PyQt6 6.4.2, Qt 6.4.2
Qt runtime version: 6.4.3
Qt platform: windows

Manufacturer: Dell Inc.
Model: OptiPlex 7000
OS: Microsoft Windows 11 Enterprise (Build 22631)
Memory: 16,853,479,424
MaxProcessMemory: 137,438,953,344
CPU: 20 12th Gen Intel(R) Core(TM) i7-12700
OSLanguage: en-US

Installed Packages:
    alabaster: 0.7.13
    appdirs: 1.4.4
    asttokens: 2.2.1
    Babel: 2.12.1
    backcall: 0.2.0
    beautifulsoup4: 4.11.2
    blockdiag: 3.0.0
    blosc2: 2.0.0
    build: 0.10.0
    certifi: 2023.5.7
    cftime: 1.6.2
    charset-normalizer: 3.1.0
    ChimeraX-AddCharge: 1.5.11
    ChimeraX-AddH: 2.2.5
    ChimeraX-AlignmentAlgorithms: 2.0.1
    ChimeraX-AlignmentHdrs: 3.3.1
    ChimeraX-AlignmentMatrices: 2.1
    ChimeraX-Alignments: 2.9.3
    ChimeraX-AlphaFold: 1.0
    ChimeraX-AltlocExplorer: 1.0.3
    ChimeraX-AmberInfo: 1.0
    ChimeraX-Arrays: 1.1
    ChimeraX-Atomic: 1.46
    ChimeraX-AtomicLibrary: 10.0.7
    ChimeraX-AtomSearch: 2.0.1
    ChimeraX-AxesPlanes: 2.3.2
    ChimeraX-BasicActions: 1.1.2
    ChimeraX-BILD: 1.0
    ChimeraX-BlastProtein: 2.1.2
    ChimeraX-BondRot: 2.0.4
    ChimeraX-BugReporter: 1.0.1
    ChimeraX-BuildStructure: 2.10.3
    ChimeraX-Bumps: 1.0
    ChimeraX-BundleBuilder: 1.2.2
    ChimeraX-ButtonPanel: 1.0.1
    ChimeraX-CageBuilder: 1.0.1
    ChimeraX-CellPack: 1.0
    ChimeraX-Centroids: 1.3.2
    ChimeraX-ChangeChains: 1.0.2
    ChimeraX-CheckWaters: 1.3.1
    ChimeraX-ChemGroup: 2.0.1
    ChimeraX-Clashes: 2.2.4
    ChimeraX-ColorActions: 1.0.3
    ChimeraX-ColorGlobe: 1.0
    ChimeraX-ColorKey: 1.5.3
    ChimeraX-CommandLine: 1.2.5
    ChimeraX-ConnectStructure: 2.0.1
    ChimeraX-Contacts: 1.0.1
    ChimeraX-Core: 1.7.dev202306232350
    ChimeraX-CoreFormats: 1.1
    ChimeraX-coulombic: 1.4.2
    ChimeraX-Crosslinks: 1.0
    ChimeraX-Crystal: 1.0
    ChimeraX-CrystalContacts: 1.0.1
    ChimeraX-DataFormats: 1.2.3
    ChimeraX-Dicom: 1.2
    ChimeraX-DistMonitor: 1.4
    ChimeraX-DockPrep: 1.1.2
    ChimeraX-Dssp: 2.0
    ChimeraX-EMDB-SFF: 1.0
    ChimeraX-ESMFold: 1.0
    ChimeraX-FileHistory: 1.0.1
    ChimeraX-FunctionKey: 1.0.1
    ChimeraX-Geometry: 1.3
    ChimeraX-gltf: 1.0
    ChimeraX-Graphics: 1.1.1
    ChimeraX-Hbonds: 2.4
    ChimeraX-Help: 1.2.1
    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.1
    ChimeraX-IUPAC: 1.0
    ChimeraX-Label: 1.1.7
    ChimeraX-ListInfo: 1.2
    ChimeraX-Log: 1.1.5
    ChimeraX-LookingGlass: 1.1
    ChimeraX-Maestro: 1.8.2
    ChimeraX-Map: 1.1.4
    ChimeraX-MapData: 2.0
    ChimeraX-MapEraser: 1.0.1
    ChimeraX-MapFilter: 2.0.1
    ChimeraX-MapFit: 2.0
    ChimeraX-MapSeries: 2.1.1
    ChimeraX-Markers: 1.0.1
    ChimeraX-Mask: 1.0.2
    ChimeraX-MatchMaker: 2.1
    ChimeraX-MCopy: 1.0
    ChimeraX-MDcrds: 2.6
    ChimeraX-MedicalToolbar: 1.0.2
    ChimeraX-Meeting: 1.0.1
    ChimeraX-MLP: 1.1.1
    ChimeraX-mmCIF: 2.12
    ChimeraX-MMTF: 2.2
    ChimeraX-Modeller: 1.5.9
    ChimeraX-ModelPanel: 1.3.7
    ChimeraX-ModelSeries: 1.0.1
    ChimeraX-Mol2: 2.0
    ChimeraX-Mole: 1.0
    ChimeraX-Morph: 1.0.2
    ChimeraX-MouseModes: 1.2
    ChimeraX-Movie: 1.0
    ChimeraX-Neuron: 1.0
    ChimeraX-Nifti: 1.0
    ChimeraX-NRRD: 1.0
    ChimeraX-Nucleotides: 2.0.3
    ChimeraX-OpenCommand: 1.10.2
    ChimeraX-OpenCommands: 1.1
    ChimeraX-PDB: 2.7.2
    ChimeraX-PDBBio: 1.0.1
    ChimeraX-PDBLibrary: 1.0.2
    ChimeraX-PDBMatrices: 1.0
    ChimeraX-PickBlobs: 1.0.1
    ChimeraX-Positions: 1.0
    ChimeraX-PresetMgr: 1.1
    ChimeraX-PubChem: 2.1
    ChimeraX-ReadPbonds: 1.0.1
    ChimeraX-Registration: 1.1.1
    ChimeraX-RemoteControl: 1.0
    ChimeraX-RenderByAttr: 1.1
    ChimeraX-RenumberResidues: 1.1
    ChimeraX-ResidueFit: 1.0.1
    ChimeraX-RestServer: 1.2
    ChimeraX-RNALayout: 1.0
    ChimeraX-RotamerLibMgr: 3.0
    ChimeraX-RotamerLibsDunbrack: 2.0
    ChimeraX-RotamerLibsDynameomics: 2.0
    ChimeraX-RotamerLibsRichardson: 2.0
    ChimeraX-SaveCommand: 1.5.1
    ChimeraX-SchemeMgr: 1.0
    ChimeraX-SDF: 2.0.1
    ChimeraX-Segger: 1.0
    ChimeraX-Segment: 1.0.1
    ChimeraX-SelInspector: 1.0
    ChimeraX-SeqView: 2.9
    ChimeraX-Shape: 1.0.1
    ChimeraX-Shell: 1.0.1
    ChimeraX-Shortcuts: 1.1.1
    ChimeraX-ShowSequences: 1.0.1
    ChimeraX-SideView: 1.0.1
    ChimeraX-Smiles: 2.1.2
    ChimeraX-SmoothLines: 1.0
    ChimeraX-SpaceNavigator: 1.0
    ChimeraX-StdCommands: 1.12.1
    ChimeraX-STL: 1.0.1
    ChimeraX-Storm: 1.0
    ChimeraX-StructMeasure: 1.1.2
    ChimeraX-Struts: 1.0.1
    ChimeraX-Surface: 1.0.1
    ChimeraX-SwapAA: 2.0.1
    ChimeraX-SwapRes: 2.2.1
    ChimeraX-TapeMeasure: 1.0
    ChimeraX-Test: 1.0
    ChimeraX-TestManager: 0.3
    ChimeraX-Toolbar: 1.1.2
    ChimeraX-ToolshedUtils: 1.2.4
    ChimeraX-Topography: 1.0
    ChimeraX-ToQuest: 1.0
    ChimeraX-Tug: 1.0.1
    ChimeraX-UI: 1.30
    ChimeraX-uniprot: 2.3
    ChimeraX-UnitCell: 1.0.1
    ChimeraX-ViewDockX: 1.2.1
    ChimeraX-VIPERdb: 1.0
    ChimeraX-Vive: 1.1
    ChimeraX-VolumeMenu: 1.0.1
    ChimeraX-VTK: 1.0
    ChimeraX-WavefrontOBJ: 1.0
    ChimeraX-WebCam: 1.0.2
    ChimeraX-WebServices: 1.1.1
    ChimeraX-Zone: 1.0.1
    colorama: 0.4.6
    comm: 0.1.3
    comtypes: 1.1.14
    contourpy: 1.1.0
    cxservices: 1.2.2
    cycler: 0.11.0
    Cython: 0.29.33
    debugpy: 1.6.7
    decorator: 5.1.1
    docutils: 0.19
    executing: 1.2.0
    filelock: 3.9.0
    flake8: 6.0.0
    fonttools: 4.40.0
    funcparserlib: 1.0.1
    grako: 3.16.5
    h5py: 3.9.0
    html2text: 2020.1.16
    idna: 3.4
    ihm: 0.35
    imagecodecs: 2023.3.16
    imagesize: 1.4.1
    ipykernel: 6.23.2
    ipython: 8.14.0
    ipython-genutils: 0.2.0
    ipywidgets: 8.0.6
    jedi: 0.18.2
    Jinja2: 3.1.2
    jupyter-client: 8.2.0
    jupyter-core: 5.3.1
    jupyterlab-widgets: 3.0.7
    kiwisolver: 1.4.4
    line-profiler: 4.0.2
    lxml: 4.9.2
    lz4: 4.3.2
    MarkupSafe: 2.1.3
    matplotlib: 3.6.3
    matplotlib-inline: 0.1.6
    mccabe: 0.7.0
    msgpack: 1.0.4
    mypy: 1.4.1
    mypy-extensions: 1.0.0
    nest-asyncio: 1.5.6
    netCDF4: 1.6.2
    networkx: 2.8.8
    nibabel: 5.0.1
    nptyping: 2.5.0
    numexpr: 2.8.4
    numpy: 1.23.5
    openvr: 1.23.701
    packaging: 23.1
    ParmEd: 3.4.3
    parso: 0.8.3
    pep517: 0.13.0
    pickleshare: 0.7.5
    Pillow: 9.3.0
    pip: 23.0
    pkginfo: 1.9.6
    platformdirs: 3.8.0
    prompt-toolkit: 3.0.38
    psutil: 5.9.4
    pure-eval: 0.2.2
    py-cpuinfo: 9.0.0
    pycodestyle: 2.10.0
    pycollada: 0.7.2
    pydicom: 2.3.0
    pydocstyle: 6.3.0
    pyflakes: 3.0.1
    Pygments: 2.14.0
    pynrrd: 1.0.0
    PyOpenGL: 3.1.6
    PyOpenGL-accelerate: 3.1.6
    pyparsing: 3.1.0
    pyproject-hooks: 1.0.0
    PyQt6-commercial: 6.4.2
    PyQt6-Qt6: 6.4.3
    PyQt6-sip: 13.4.1
    PyQt6-WebEngine-commercial: 6.4.0
    PyQt6-WebEngine-Qt6: 6.4.3
    python-dateutil: 2.8.2
    pytz: 2023.3
    pywin32: 305
    pyzmq: 25.1.0
    qtconsole: 5.4.3
    QtPy: 2.3.1
    RandomWords: 0.4.0
    requests: 2.31.0
    scipy: 1.9.3
    Send2Trash: 1.8.2
    SEQCROW: 1.8.4
    setuptools: 67.4.0
    sfftk-rw: 0.7.3
    six: 1.16.0
    snowballstemmer: 2.2.0
    sortedcontainers: 2.4.0
    soupsieve: 2.4.1
    sphinx: 6.1.3
    sphinx-autodoc-typehints: 1.22
    sphinxcontrib-applehelp: 1.0.4
    sphinxcontrib-blockdiag: 3.0.0
    sphinxcontrib-devhelp: 1.0.2
    sphinxcontrib-htmlhelp: 2.0.1
    sphinxcontrib-jsmath: 1.0.1
    sphinxcontrib-qthelp: 1.0.3
    sphinxcontrib-serializinghtml: 1.1.5
    stack-data: 0.6.2
    tables: 3.8.0
    tcia-utils: 1.2.0
    tifffile: 2022.10.10
    tinyarray: 1.2.4
    tomli: 2.0.1
    tornado: 6.3.2
    traitlets: 5.9.0
    typing-extensions: 4.6.3
    tzdata: 2023.3
    urllib3: 2.0.3
    wcwidth: 0.2.6
    webcolors: 1.12
    wheel: 0.38.4
    wheel-filename: 1.4.1
    widgetsnbextension: 4.0.7
    WMI: 1.5.1

Change History (2)

comment:1 by pett, 21 months ago

Component: UnassignedGraphics
Owner: set to Tom Goddard
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionFramebuffer incomplete

comment:2 by Tom Goddard, 21 months ago

Resolution: can't reproduce
Status: assignedclosed

The traceback said "out of memory" trying to create an OpenGL frame buffer for to draw silhouette edges, and it reports getting the same error over 500,000 times! The memory being allocated is tiny, 1341 by 859 2d texture.

I don't have a good idea what happened. It does seem that although you say the computer was sleeping it tried to draw 500,000 frames. It shouldn't be trying that if nothing in the scene has changed. But since it did, maybe some graphics memory leak used up all the graphic memory then causing the 2d texture allocation to fail.

At any rate, not enough info to debug. Report again if it happens again.

Traceback (most recent call last):  
File "C:\Users\ajs99778\ChimeraX\bin\Lib\site-
packages\chimerax\core\updateloop.py", line 73, in draw_new_frame  
view.draw(check_for_changes = False)  
File "C:\Users\ajs99778\ChimeraX\bin\Lib\site-
packages\chimerax\graphics\view.py", line 177, in draw  
self._draw_scene(camera, drawings)  
File "C:\Users\ajs99778\ChimeraX\bin\Lib\site-
packages\chimerax\graphics\view.py", line 226, in _draw_scene  
silhouette.start_silhouette_drawing(r)  
File "C:\Users\ajs99778\ChimeraX\bin\Lib\site-
packages\chimerax\graphics\opengl.py", line 1778, in start_silhouette_drawing  
fb = self._silhouette_framebuffer(r)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Users\ajs99778\ChimeraX\bin\Lib\site-
packages\chimerax\graphics\opengl.py", line 1814, in _silhouette_framebuffer  
dt.initialize_depth(size, depth_compare_mode=False)  
File "C:\Users\ajs99778\ChimeraX\bin\Lib\site-
packages\chimerax\graphics\opengl.py", line 2940, in initialize_depth  
self.initialize_texture(size, format, iformat, tdtype, ncomp,  
File "C:\Users\ajs99778\ChimeraX\bin\Lib\site-
packages\chimerax\graphics\opengl.py", line 2966, 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 "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_DEPTH_COMPONENT24,  
1341,  
859,  
0,  
GL_DEPTH_COMPONENT,  
GL_FLOAT,  
c_void_p(None),  
),  
cArgs = (  
GL_TEXTURE_2D,  
0,  
GL_DEPTH_COMPONENT24,  
1341,  
859,  
0,  
GL_DEPTH_COMPONENT,  
GL_FLOAT,  
c_void_p(None),  
),  
cArguments = (  
GL_TEXTURE_2D,  
0,  
GL_DEPTH_COMPONENT24,  
1341,  
859,  
0,  
GL_DEPTH_COMPONENT,  
GL_FLOAT,  
c_void_p(None),  
)  
)  
  
Exception ignored in: <function Texture.__del__ at 0x00000172FBC72CA0>  
Traceback (most recent call last):  
File "C:\Users\ajs99778\ChimeraX\bin\Lib\site-
packages\chimerax\graphics\opengl.py", line 3034, in __del__  
raise OpenGLError('OpenGL texture was not deleted before graphics.Texture
destroyed')  
chimerax.graphics.opengl.OpenGLError: OpenGL texture was not deleted before
graphics.Texture destroyed  

Framebuffer incomplete: 0x505  

[Repeated 534511 time(s)]
Note: See TracTickets for help on using tickets.