Opened 5 months ago

Last modified 5 months ago

#17626 assigned defect

ArtiaX: glTexImage3D: out of memory

Reported by: pavol.harar@… Owned by: Utz Ermel
Priority: normal Milestone:
Component: Third Party Version:
Keywords: Cc: Tom Goddard
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

The following bug report has been submitted:
Platform:        Linux-6.11.0-25-generic-x86_64-with-glibc2.39
ChimeraX Version: 1.9 (2024-12-11 19:11:19 UTC)
Description
Download 649.mrc (rsync -avzh --progress rsync://ftp.ebi.ac.uk/empiar/world_availability/11830/data/cryocare_bin4/649.mrc)

Start ChimeraX
Launch ArtiaX
Open tomogram...
Browse and choose the 649.mrc file
Then this error appears.

Log:
Startup Messages  
---  
note | available bundle cache has not been initialized yet  
  
UCSF ChimeraX version: 1.9 (2024-12-11)  
© 2016-2024 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> artiax start

Using preset: ArtiaX / Artiax Default  
Preset expands to these ChimeraX commands:

    
    
    set bgColor black
    lighting depthCue false
    camera ortho

  
Opened tomo_0649_2gb.mrc as #1.1.1, grid size 1024,1024,512, pixel 7.84, shown
at level 324, step 1, values float32  

> artiax clip off

> artiax tomo #1.1.1 sliceDirection 0,0,1

> artiax view xy

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 = glTexImage3D,  
pyArgs = (  
GL_TEXTURE_3D,  
0,  
GL_R32F,  
1024,  
1024,  
512,  
0,  
GL_RED,  
GL_FLOAT,  
array([[[ 54.29878 , 105.903275 , 108.21507 , ...,  
88.76678 , 50.011986 , -4.6252937 ],  
...,  
),  
cArgs = (  
GL_TEXTURE_3D,  
0,  
GL_R32F,  
1024,  
1024,  
512,  
0,  
GL_RED,  
GL_FLOAT,  
array([[[ 54.29878 , 105.903275 , 108.21507 , ...,  
88.76678 , 50.011986 , -4.6252937 ],  
...,  
),  
cArguments = (  
GL_TEXTURE_3D,  
0,  
GL_R32F,  
1024,  
1024,  
512,  
0,  
GL_RED,  
GL_FLOAT,  
array([[[ 54.29878 , 105.903275 , 108.21507 , ...,  
88.76678 , 50.011986 , -4.6252937 ],  
...,  
)  
)  
  
Traceback (most recent call last):  
File "/usr/lib/ucsf-chimerax/lib/python3.11/site-
packages/chimerax/core/updateloop.py", line 84, in draw_new_frame  
view.draw(check_for_changes = False)  
File "/usr/lib/ucsf-chimerax/lib/python3.11/site-
packages/chimerax/graphics/view.py", line 188, in draw  
self._draw_scene(camera, drawings)  
File "/usr/lib/ucsf-chimerax/lib/python3.11/site-
packages/chimerax/graphics/view.py", line 259, in _draw_scene  
draw_opaque(r, opaque_drawings)  
File "/usr/lib/ucsf-chimerax/lib/python3.11/site-
packages/chimerax/graphics/drawing.py", line 1554, in draw_opaque  
_draw_multiple(drawings, renderer, Drawing.OPAQUE_DRAW_PASS)  
File "/usr/lib/ucsf-chimerax/lib/python3.11/site-
packages/chimerax/graphics/drawing.py", line 1567, in _draw_multiple  
d.draw(renderer, draw_pass)  
File "/usr/lib/ucsf-chimerax/lib/python3.11/site-
packages/chimerax/map/image3d.py", line 933, in draw  
drawing = self._update_view_axis(renderer)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "/usr/lib/ucsf-chimerax/lib/python3.11/site-
packages/chimerax/map/image3d.py", line 659, in _update_view_axis  
pd = self._update_3d_texture_planes(view_dir)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "/usr/lib/ucsf-chimerax/lib/python3.11/site-
packages/chimerax/map/image3d.py", line 711, in _update_3d_texture_planes  
pd = self._texture_3d_planes()  
^^^^^^^^^^^^^^^^^^^^^^^^^  
File "/usr/lib/ucsf-chimerax/lib/python3.11/site-
packages/chimerax/map/image3d.py", line 721, in _texture_3d_planes  
pd = Texture3dPlanes(self)  
^^^^^^^^^^^^^^^^^^^^^  
File "/usr/lib/ucsf-chimerax/lib/python3.11/site-
packages/chimerax/map/image3d.py", line 1548, in __init__  
self._fill_textures()  
File "/usr/lib/ucsf-chimerax/lib/python3.11/site-
packages/chimerax/map/image3d.py", line 1665, in _fill_textures  
t.reload_texture(td, now=True)  
File "/usr/lib/ucsf-chimerax/lib/python3.11/site-
packages/chimerax/graphics/opengl.py", line 3204, in reload_texture  
self.fill_opengl_texture()  
File "/usr/lib/ucsf-chimerax/lib/python3.11/site-
packages/chimerax/graphics/opengl.py", line 3214, in fill_opengl_texture  
self.initialize_texture(size, format, iformat, tdtype, ncomp, data)  
File "/usr/lib/ucsf-chimerax/lib/python3.11/site-
packages/chimerax/graphics/opengl.py", line 3100, in initialize_texture  
GL.glTexImage3D(gl_target, 0, iformat, size[0], size[1], size[2],  
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 "/usr/lib/ucsf-chimerax/lib/python3.11/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 = glTexImage3D,  
pyArgs = (  
GL_TEXTURE_3D,  
0,  
GL_R32F,  
1024,  
1024,  
512,  
0,  
GL_RED,  
GL_FLOAT,  
array([[[ 54.29878 , 105.903275 , 108.21507 , ...,  
88.76678 , 50.011986 , -4.6252937 ],  
...,  
),  
cArgs = (  
GL_TEXTURE_3D,  
0,  
GL_R32F,  
1024,  
1024,  
512,  
0,  
GL_RED,  
GL_FLOAT,  
array([[[ 54.29878 , 105.903275 , 108.21507 , ...,  
88.76678 , 50.011986 , -4.6252937 ],  
...,  
),  
cArguments = (  
GL_TEXTURE_3D,  
0,  
GL_R32F,  
1024,  
1024,  
512,  
0,  
GL_RED,  
GL_FLOAT,  
array([[[ 54.29878 , 105.903275 , 108.21507 , ...,  
88.76678 , 50.011986 , -4.6252937 ],  
...,  
)  
)  
  
Exception ignored in: <function Drawing.__del__ at 0x7aed07af0900>  
Traceback (most recent call last):  
File "/usr/lib/ucsf-chimerax/lib/python3.11/site-
packages/chimerax/graphics/drawing.py", line 1217, in __del__  
self.delete()  
File "/usr/lib/ucsf-chimerax/lib/python3.11/site-
packages/chimerax/graphics/drawing.py", line 1237, in delete  
raise RuntimeError("Don't have opengl context needed to delete texture from
drawing '%s' because drawing was never drawn" % self.name)  
RuntimeError: Don't have opengl context needed to delete texture from drawing
'Image3D 3d texture planes' because drawing was never drawn  
Exception ignored in: <function Texture.__del__ at 0x7aed04176700>  
Traceback (most recent call last):  
File "/usr/lib/ucsf-chimerax/lib/python3.11/site-
packages/chimerax/graphics/opengl.py", line 3165, 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  




OpenGL version: 4.6 (Core Profile) Mesa 24.2.8-1ubuntu1~24.04.1
OpenGL renderer: Mesa Intel(R) Graphics (MTL)
OpenGL vendor: Intel

Python: 3.11.4
Locale: en_US.UTF-8
Qt version: PyQt6 6.7.1, Qt 6.7.1
Qt runtime version: 6.7.3
Qt platform: xcb

XDG_SESSION_TYPE=wayland
DESKTOP_SESSION=ubuntu
XDG_SESSION_DESKTOP=ubuntu
XDG_CURRENT_DESKTOP=ubuntu:GNOME
GNOME_SETUP_DISPLAY=:1
DISPLAY=:0
WAYLAND_DISPLAY=wayland-0
Manufacturer: LENOVO
Model: 21KCCTO1WW
OS: Ubuntu 24.04
Architecture: 64bit ELF
Virtual Machine: none
CPU: 14 Intel(R) Core(TM) Ultra 7 155U
Cache Size: 12288 KB
Memory:
	               total        used        free      shared  buff/cache   available
	Mem:            30Gi        16Gi       7.0Gi       2.6Gi        10Gi        13Gi
	Swap:          8.0Gi       502Mi       7.5Gi

Graphics:
	00:02.0 VGA compatible controller [0300]: Intel Corporation Meteor Lake-P [Intel Graphics] [8086:7d45] (rev 08)	
	Subsystem: Lenovo Meteor Lake-P [Intel Graphics] [17aa:231e]	
	Kernel driver in use: i915

Installed Packages:
    alabaster: 1.0.0
    annotated-types: 0.7.0
    anyio: 4.7.0
    appdirs: 1.4.4
    asttokens: 3.0.0
    auditwheel: 6.1.0
    babel: 2.16.0
    beautifulsoup4: 4.12.3
    blockdiag: 3.0.0
    blosc2: 3.0.0
    build: 1.2.1
    certifi: 2024.8.30
    cftime: 1.6.4.post1
    charset-normalizer: 3.4.0
    ChimeraX-AddCharge: 1.5.18
    ChimeraX-AddH: 2.2.6
    ChimeraX-AlignmentAlgorithms: 2.0.2
    ChimeraX-AlignmentHdrs: 3.5
    ChimeraX-AlignmentMatrices: 2.1
    ChimeraX-Alignments: 2.16.1
    ChimeraX-AlphaFold: 1.0.1
    ChimeraX-AltlocExplorer: 1.1.2
    ChimeraX-AmberInfo: 1.0
    ChimeraX-Arrays: 1.1
    ChimeraX-ArtiaX: 0.6.0
    ChimeraX-Atomic: 1.58.8
    ChimeraX-AtomicLibrary: 14.1.11
    ChimeraX-AtomSearch: 2.0.1
    ChimeraX-AxesPlanes: 2.4
    ChimeraX-BasicActions: 1.1.2
    ChimeraX-BILD: 1.0
    ChimeraX-BlastProtein: 3.0.0
    ChimeraX-BondRot: 2.0.4
    ChimeraX-BugReporter: 1.0.1
    ChimeraX-BuildStructure: 2.13.1
    ChimeraX-Bumps: 1.0
    ChimeraX-BundleBuilder: 1.4.0
    ChimeraX-ButtonPanel: 1.0.1
    ChimeraX-CageBuilder: 1.0.1
    ChimeraX-CellPack: 1.0
    ChimeraX-Centroids: 1.4
    ChimeraX-ChangeChains: 1.1
    ChimeraX-CheckWaters: 1.4
    ChimeraX-ChemGroup: 2.0.1
    ChimeraX-Clashes: 2.3
    ChimeraX-ColorActions: 1.0.5
    ChimeraX-ColorGlobe: 1.0
    ChimeraX-ColorKey: 1.5.6
    ChimeraX-CommandLine: 1.2.5
    ChimeraX-ConnectStructure: 2.0.1
    ChimeraX-Contacts: 1.0.1
    ChimeraX-Core: 1.9
    ChimeraX-CoreFormats: 1.2
    ChimeraX-coulombic: 1.4.4
    ChimeraX-Crosslinks: 1.0
    ChimeraX-Crystal: 1.0
    ChimeraX-CrystalContacts: 1.0.1
    ChimeraX-DataFormats: 1.2.3
    ChimeraX-Dicom: 1.2.6
    ChimeraX-DistMonitor: 1.4.2
    ChimeraX-DockPrep: 1.1.3
    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.4.1
    ChimeraX-Hbonds: 2.5
    ChimeraX-Help: 1.3
    ChimeraX-HKCage: 1.3
    ChimeraX-IHM: 1.1
    ChimeraX-ImageFormats: 1.2
    ChimeraX-IMOD: 1.0
    ChimeraX-IO: 1.0.3
    ChimeraX-ItemsInspection: 1.0.1
    ChimeraX-IUPAC: 1.0
    ChimeraX-KVFinder: 1.2.1
    ChimeraX-Label: 1.1.14
    ChimeraX-LinuxSupport: 1.0.1
    ChimeraX-ListInfo: 1.2.2
    ChimeraX-Log: 1.2
    ChimeraX-LookingGlass: 1.1
    ChimeraX-Maestro: 1.9.1
    ChimeraX-Map: 1.3
    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.6
    ChimeraX-MCopy: 1.0
    ChimeraX-MDcrds: 2.7.2
    ChimeraX-MedicalToolbar: 1.1
    ChimeraX-Meeting: 1.0.1
    ChimeraX-MLP: 1.1.1
    ChimeraX-mmCIF: 2.14.2
    ChimeraX-MMTF: 2.2
    ChimeraX-ModelArchive: 1.0
    ChimeraX-Modeller: 1.5.18
    ChimeraX-ModelPanel: 1.5
    ChimeraX-ModelSeries: 1.0.1
    ChimeraX-Mol2: 2.0.3
    ChimeraX-Mole: 1.0
    ChimeraX-Morph: 1.0.2
    ChimeraX-MouseModes: 1.2
    ChimeraX-Movie: 1.0
    ChimeraX-MutationScores: 1.0
    ChimeraX-Neuron: 1.0
    ChimeraX-Nifti: 1.2
    ChimeraX-NMRSTAR: 1.0.2
    ChimeraX-NRRD: 1.2
    ChimeraX-Nucleotides: 2.0.3
    ChimeraX-OpenCommand: 1.14
    ChimeraX-OrthoPick: 1.0.1
    ChimeraX-PDB: 2.7.6
    ChimeraX-PDBBio: 1.0.1
    ChimeraX-PDBLibrary: 1.0.4
    ChimeraX-PDBMatrices: 1.0
    ChimeraX-PickBlobs: 1.0.1
    ChimeraX-Positions: 1.0
    ChimeraX-PresetMgr: 1.1.2
    ChimeraX-PubChem: 2.2
    ChimeraX-ReadPbonds: 1.0.1
    ChimeraX-Registration: 1.1.2
    ChimeraX-RemoteControl: 1.0
    ChimeraX-RenderByAttr: 1.6.2
    ChimeraX-RenumberResidues: 1.1
    ChimeraX-ResidueFit: 1.0.1
    ChimeraX-RestServer: 1.3.1
    ChimeraX-RNALayout: 1.0
    ChimeraX-RotamerLibMgr: 4.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.2
    ChimeraX-Segger: 1.0
    ChimeraX-Segment: 1.0.1
    ChimeraX-Segmentations: 3.5.6
    ChimeraX-SelInspector: 1.0
    ChimeraX-SeqView: 2.14
    ChimeraX-Shape: 1.0.1
    ChimeraX-Shell: 1.0.1
    ChimeraX-Shortcuts: 1.2.0
    ChimeraX-ShowSequences: 1.0.3
    ChimeraX-SideView: 1.0.1
    ChimeraX-SimilarStructures: 1.0.1
    ChimeraX-Smiles: 2.1.2
    ChimeraX-SmoothLines: 1.0
    ChimeraX-SpaceNavigator: 1.0
    ChimeraX-StdCommands: 1.18.1
    ChimeraX-STL: 1.0.1
    ChimeraX-Storm: 1.0
    ChimeraX-StructMeasure: 1.2.1
    ChimeraX-Struts: 1.0.1
    ChimeraX-Surface: 1.0.1
    ChimeraX-SwapAA: 2.0.1
    ChimeraX-SwapRes: 2.5
    ChimeraX-TapeMeasure: 1.0
    ChimeraX-TaskManager: 1.0
    ChimeraX-Test: 1.0
    ChimeraX-Toolbar: 1.2.3
    ChimeraX-ToolshedUtils: 1.2.4
    ChimeraX-Topography: 1.0
    ChimeraX-ToQuest: 1.0
    ChimeraX-Tug: 1.0.1
    ChimeraX-UI: 1.41
    ChimeraX-Umap: 1.0
    ChimeraX-uniprot: 2.3.1
    ChimeraX-UnitCell: 1.0.1
    ChimeraX-ViewDockX: 1.4.4
    ChimeraX-VIPERdb: 1.0
    ChimeraX-Vive: 1.1
    ChimeraX-VolumeMenu: 1.0.1
    ChimeraX-vrml: 1.0
    ChimeraX-VTK: 1.0
    ChimeraX-WavefrontOBJ: 1.0
    ChimeraX-WebCam: 1.0.2
    ChimeraX-WebServices: 1.1.4
    ChimeraX-Zone: 1.0.1
    colorama: 0.4.6
    comm: 0.2.2
    contourpy: 1.3.1
    cxservices: 1.2.3
    cycler: 0.12.1
    Cython: 3.0.10
    debugpy: 1.8.9
    decorator: 5.1.1
    distro: 1.9.0
    docutils: 0.21.2
    executing: 2.1.0
    filelock: 3.15.4
    fonttools: 4.55.3
    funcparserlib: 2.0.0a0
    geomdl: 5.3.1
    glfw: 2.8.0
    grako: 3.16.5
    h11: 0.14.0
    h5py: 3.12.1
    html2text: 2024.2.26
    httpcore: 1.0.7
    httpx: 0.28.1
    idna: 3.10
    ihm: 1.3
    imagecodecs: 2024.6.1
    imagesize: 1.4.1
    ipykernel: 6.29.5
    ipython: 8.26.0
    ipywidgets: 8.1.5
    jedi: 0.19.1
    Jinja2: 3.1.4
    jupyter_client: 8.6.2
    jupyter_core: 5.7.2
    jupyterlab_widgets: 3.0.13
    kiwisolver: 1.4.7
    line_profiler: 4.1.3
    lxml: 5.2.2
    lz4: 4.3.3
    MarkupSafe: 3.0.2
    matplotlib: 3.9.2
    matplotlib-inline: 0.1.7
    msgpack: 1.0.8
    ndindex: 1.9.2
    nest-asyncio: 1.6.0
    netCDF4: 1.6.5
    networkx: 3.3
    nibabel: 5.2.0
    nptyping: 2.5.0
    numexpr: 2.10.2
    numpy: 1.26.4
    openvr: 1.26.701
    packaging: 23.2
    pandas: 2.2.3
    ParmEd: 4.2.2
    parso: 0.8.4
    pep517: 0.13.1
    pexpect: 4.9.0
    pillow: 10.4.0
    pip: 24.2
    pkginfo: 1.11.1
    platformdirs: 4.3.6
    prompt_toolkit: 3.0.48
    psutil: 6.0.0
    ptyprocess: 0.7.0
    pure_eval: 0.2.3
    py-cpuinfo: 9.0.0
    pyarrow: 19.0.1
    pycollada: 0.8
    pydantic: 2.11.3
    pydantic_core: 2.33.1
    pydicom: 2.4.4
    pyelftools: 0.31
    Pygments: 2.18.0
    pynmrstar: 3.3.4
    pynrrd: 1.0.0
    PyOpenGL: 3.1.7
    PyOpenGL-accelerate: 3.1.7
    pyopenxr: 1.0.3401
    pyparsing: 3.2.0
    pyproject_hooks: 1.2.0
    PyQt6-commercial: 6.7.1
    PyQt6-Qt6: 6.7.3
    PyQt6-WebEngine-commercial: 6.7.0
    PyQt6-WebEngine-Qt6: 6.7.3
    PyQt6-WebEngineSubwheel-Qt6: 6.7.3
    PyQt6_sip: 13.8.0
    python-dateutil: 2.9.0.post0
    pytz: 2024.2
    pyzmq: 26.2.0
    qtconsole: 5.5.2
    QtPy: 2.4.2
    qtshim: 1.0
    RandomWords: 0.4.0
    requests: 2.32.3
    scipy: 1.14.0
    setuptools: 72.1.0
    sfftk-rw: 0.8.1
    six: 1.16.0
    sniffio: 1.3.1
    snowballstemmer: 2.2.0
    sortedcontainers: 2.4.0
    soupsieve: 2.6
    Sphinx: 8.0.2
    sphinx-autodoc-typehints: 2.2.3
    sphinxcontrib-applehelp: 2.0.0
    sphinxcontrib-blockdiag: 3.0.0
    sphinxcontrib-devhelp: 2.0.0
    sphinxcontrib-htmlhelp: 2.1.0
    sphinxcontrib-jsmath: 1.0.1
    sphinxcontrib-qthelp: 2.0.0
    sphinxcontrib-serializinghtml: 2.0.0
    stack-data: 0.6.3
    starfile: 0.5.12
    superqt: 0.6.3
    tables: 3.10.1
    tcia_utils: 1.5.1
    tifffile: 2024.7.24
    tinyarray: 1.2.4
    tornado: 6.4.2
    traitlets: 5.14.3
    typing-inspection: 0.4.0
    typing_extensions: 4.12.2
    tzdata: 2024.2
    urllib3: 2.2.3
    wcwidth: 0.2.13
    webcolors: 24.6.0
    wheel: 0.43.0
    wheel-filename: 1.4.1
    widgetsnbextension: 4.0.13

Change History (2)

comment:1 by pett, 5 months ago

Cc: Tom Goddard added
Component: UnassignedThird Party
Owner: set to Utz Ermel
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionArtiaX: glTexImage3D: out of memory

comment:2 by Tom Goddard, 5 months ago

ArtiaX tryied to created a 2 Gbytes 3D texture which was too big for the Mesa graphics on this computer. Have seen this error before several times with ArtiaX and probably it should catch this error, give a warning and not try to render the tomogram at full resolution.

Note: See TracTickets for help on using tickets.