Opened 16 months ago
Last modified 16 months ago
#15610 assigned defect
glTexImage3D: out of memory
| Reported by: | Owned by: | Utz Ermel | |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Volume Data | 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-5.4.0-40-generic-x86_64-with-glibc2.31
ChimeraX Version: 1.6.1 (2023-05-09 17:57:07 UTC)
Description
(Describe the actions that caused this problem to occur here)
Log:
Startup Messages
---
warning | Replacing fetcher for 'pdb_nmr' and format NMRSTAR from NMRSTAR
bundle with that from NMRSTAR bundle
UCSF ChimeraX version: 1.6.1 (2023-05-09)
© 2016-2023 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 TS_01.mrc as #1.1.1, grid size 2048,2048,600, pixel 4.96,4.96,4.96,
shown at level 0.000172, step 1, values float32
> 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,
2048,
2048,
600,
0,
GL_RED,
GL_FLOAT,
array([[[ 3.89775960e-05, 4.19147582e-05, 3.73517032e-05, ...,
2.63400252e-05, 2.67357627e-05, 3.238089...,
),
cArgs = (
GL_TEXTURE_3D,
0,
GL_R32F,
2048,
2048,
600,
0,
GL_RED,
GL_FLOAT,
array([[[ 3.89775960e-05, 4.19147582e-05, 3.73517032e-05, ...,
2.63400252e-05, 2.67357627e-05, 3.238089...,
),
cArguments = (
GL_TEXTURE_3D,
0,
GL_R32F,
2048,
2048,
600,
0,
GL_RED,
GL_FLOAT,
array([[[ 3.89775960e-05, 4.19147582e-05, 3.73517032e-05, ...,
2.63400252e-05, 2.67357627e-05, 3.238089...,
)
)
Traceback (most recent call last):
File "/usr/lib/ucsf-chimerax/lib/python3.9/site-
packages/chimerax/core/updateloop.py", line 73, in draw_new_frame
view.draw(check_for_changes = False)
File "/usr/lib/ucsf-chimerax/lib/python3.9/site-
packages/chimerax/graphics/view.py", line 177, in draw
self._draw_scene(camera, drawings)
File "/usr/lib/ucsf-chimerax/lib/python3.9/site-
packages/chimerax/graphics/view.py", line 254, in _draw_scene
draw_transparent(r, transparent_drawings)
File "/usr/lib/ucsf-chimerax/lib/python3.9/site-
packages/chimerax/graphics/drawing.py", line 1547, in draw_transparent
r.draw_transparent(
File "/usr/lib/ucsf-chimerax/lib/python3.9/site-
packages/chimerax/graphics/opengl.py", line 1252, in draw_transparent
draw()
File "/usr/lib/ucsf-chimerax/lib/python3.9/site-
packages/chimerax/graphics/drawing.py", line 1549, in <lambda>
lambda: _draw_multiple(drawings, r, Drawing.TRANSPARENT_DRAW_PASS))
File "/usr/lib/ucsf-chimerax/lib/python3.9/site-
packages/chimerax/graphics/drawing.py", line 1555, in _draw_multiple
d.draw(renderer, draw_pass)
File "/usr/lib/ucsf-chimerax/lib/python3.9/site-
packages/chimerax/map/image3d.py", line 783, in draw
pd = self._update_planes(renderer)
File "/usr/lib/ucsf-chimerax/lib/python3.9/site-
packages/chimerax/map/image3d.py", line 548, in _update_planes
pd = self._update_3d_texture_planes(view_dir)
File "/usr/lib/ucsf-chimerax/lib/python3.9/site-
packages/chimerax/map/image3d.py", line 600, in _update_3d_texture_planes
pd = self._texture_3d_planes()
File "/usr/lib/ucsf-chimerax/lib/python3.9/site-
packages/chimerax/map/image3d.py", line 610, in _texture_3d_planes
pd = Texture3dPlanes(self)
File "/usr/lib/ucsf-chimerax/lib/python3.9/site-
packages/chimerax/map/image3d.py", line 1147, in __init__
self._fill_textures()
File "/usr/lib/ucsf-chimerax/lib/python3.9/site-
packages/chimerax/map/image3d.py", line 1243, in _fill_textures
t.reload_texture(td, now = True)
File "/usr/lib/ucsf-chimerax/lib/python3.9/site-
packages/chimerax/graphics/opengl.py", line 3073, in reload_texture
self.fill_opengl_texture()
File "/usr/lib/ucsf-chimerax/lib/python3.9/site-
packages/chimerax/graphics/opengl.py", line 3083, in fill_opengl_texture
self.initialize_texture(size, format, iformat, tdtype, ncomp, data)
File "/usr/lib/ucsf-chimerax/lib/python3.9/site-
packages/chimerax/graphics/opengl.py", line 2969, 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.9/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,
2048,
2048,
600,
0,
GL_RED,
GL_FLOAT,
array([[[ 3.89775960e-05, 4.19147582e-05, 3.73517032e-05, ...,
2.63400252e-05, 2.67357627e-05, 3.238089...,
),
cArgs = (
GL_TEXTURE_3D,
0,
GL_R32F,
2048,
2048,
600,
0,
GL_RED,
GL_FLOAT,
array([[[ 3.89775960e-05, 4.19147582e-05, 3.73517032e-05, ...,
2.63400252e-05, 2.67357627e-05, 3.238089...,
),
cArguments = (
GL_TEXTURE_3D,
0,
GL_R32F,
2048,
2048,
600,
0,
GL_RED,
GL_FLOAT,
array([[[ 3.89775960e-05, 4.19147582e-05, 3.73517032e-05, ...,
2.63400252e-05, 2.67357627e-05, 3.238089...,
)
)
Exception ignored in: <function Drawing.__del__ at 0x7f6026063160>
Traceback (most recent call last):
File "/usr/lib/ucsf-chimerax/lib/python3.9/site-
packages/chimerax/graphics/drawing.py", line 1205, in __del__
self.delete()
File "/usr/lib/ucsf-chimerax/lib/python3.9/site-
packages/chimerax/graphics/drawing.py", line 1225, 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 0x7f6022a734c0>
Traceback (most recent call last):
File "/usr/lib/ucsf-chimerax/lib/python3.9/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
OpenGL version: 4.5 (Core Profile) Mesa 21.2.6
OpenGL renderer: llvmpipe (LLVM 12.0.0, 256 bits)
OpenGL vendor: Mesa/X.org
Python: 3.9.11
Locale: en_US.UTF-8
Qt version: PyQt6 6.4.2, Qt 6.4.2
Qt runtime version: 6.4.3
Qt platform: xcb
XDG_SESSION_TYPE=x11
DESKTOP_SESSION=xfce
XDG_SESSION_DESKTOP=
XDG_CURRENT_DESKTOP=XFCE
DISPLAY=:11.0
Manufacturer: RDO
Model: OpenStack Compute
OS: Ubuntu 20.04 Focal Fossa
Architecture: 64bit ELF
Virtual Machine: vm-other
CPU: 30 AMD EPYC 7452 32-Core Processor
Cache Size: 512 KB
Memory:
total used free shared buff/cache available
Mem: 98Gi 20Gi 53Gi 246Mi 24Gi 76Gi
Swap: 0B 0B 0B
Graphics:
00:01.0 VGA compatible controller [0300]: Cirrus Logic GD 5446 [1013:00b8]
Subsystem: Red Hat, Inc. QEMU Virtual Machine [1af4:1100]
Kernel modules: cirrusfb
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
build: 0.10.0
certifi: 2023.5.7
cftime: 1.6.2
charset-normalizer: 3.1.0
ChimeraX-AddCharge: 1.5.9.1
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-ArtiaX: 0.3
ChimeraX-Atomic: 1.43.10
ChimeraX-AtomicLibrary: 10.0.6
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.1
ChimeraX-BugReporter: 1.0.1
ChimeraX-BuildStructure: 2.8
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.6.1
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.1
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-Label: 1.1.7
ChimeraX-LinuxSupport: 1.0.1
ChimeraX-ListInfo: 1.1.1
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.0.12
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.1
ChimeraX-PDB: 2.7.2
ChimeraX-PDBBio: 1.0
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.1
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.8.3
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
ChimeraX-SmoothLines: 1.0
ChimeraX-SpaceNavigator: 1.0
ChimeraX-StdCommands: 1.10.3
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-Toolbar: 1.1.2
ChimeraX-ToolshedUtils: 1.2.1
ChimeraX-Topography: 1.0
ChimeraX-Tug: 1.0.1
ChimeraX-UI: 1.28.4
ChimeraX-uniprot: 2.2.2
ChimeraX-UnitCell: 1.0.1
ChimeraX-ViewDockX: 1.2
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
contourpy: 1.0.7
cxservices: 1.2.2
cycler: 0.11.0
Cython: 0.29.33
debugpy: 1.6.7
decorator: 5.1.1
distro: 1.7.0
docutils: 0.19
executing: 1.2.0
filelock: 3.9.0
fonttools: 4.39.3
funcparserlib: 1.0.1
geomdl: 5.3.1
grako: 3.16.5
h5py: 3.8.0
html2text: 2020.1.16
idna: 3.4
ihm: 0.35
imagecodecs: 2022.9.26
imagesize: 1.4.1
importlib-metadata: 6.6.0
ipykernel: 6.21.1
ipython: 8.10.0
ipython-genutils: 0.2.0
ipywidgets: 8.0.6
jedi: 0.18.2
Jinja2: 3.1.2
jupyter-client: 8.0.2
jupyter-core: 5.3.0
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.2
matplotlib: 3.6.3
matplotlib-inline: 0.1.6
msgpack: 1.0.4
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
pandas: 2.2.2
ParmEd: 3.4.3
parso: 0.8.3
pep517: 0.13.0
pexpect: 4.8.0
pickleshare: 0.7.5
Pillow: 9.3.0
pip: 23.0
pkginfo: 1.9.6
platformdirs: 3.5.0
prompt-toolkit: 3.0.38
psutil: 5.9.4
ptyprocess: 0.7.0
pure-eval: 0.2.2
pyarrow: 16.1.0
pycollada: 0.7.2
pydicom: 2.3.0
Pygments: 2.14.0
pynrrd: 1.0.0
PyOpenGL: 3.1.5
PyOpenGL-accelerate: 3.1.5
pyparsing: 3.0.9
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
pyzmq: 25.0.2
qtconsole: 5.4.0
QtPy: 2.3.1
RandomWords: 0.4.0
requests: 2.28.2
scipy: 1.9.3
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
starfile: 0.5.8
superqt: 0.6.7
tables: 3.7.0
tcia-utils: 1.2.0
tifffile: 2022.10.10
tinyarray: 1.2.4
tomli: 2.0.1
tornado: 6.3.1
traitlets: 5.9.0
typing-extensions: 4.5.0
tzdata: 2023.3
urllib3: 1.26.15
wcwidth: 0.2.6
webcolors: 1.12
wheel: 0.38.4
wheel-filename: 1.4.1
widgetsnbextension: 4.0.7
zipp: 3.15.0
Change History (2)
comment:1 by , 16 months ago
| Component: | Unassigned → Volume Data |
|---|---|
| Owner: | set to |
| Platform: | → all |
| Project: | → ChimeraX |
| Status: | new → assigned |
| Summary: | ChimeraX bug report submission → glTexImage3D: out of memory |
comment:2 by , 16 months ago
| Cc: | added |
|---|---|
| Owner: | changed from to |
ArtiaX is trying volume rendering of a size 2048,2048,600 tomogram that would require about 10 Gbytes of graphics memory (4 bytes per voxel) and gets an OpenGL out of memory error. This is use Mesa software rendering. Even if Mesa allowed allocating that much memory the rendering speed would probably be less than 1 frame per second.
Since tomograms are often large ArtiaX should use some size limit and use step 2 if the size limit is exceeded.
Note:
See TracTickets
for help on using tickets.
Possibly should be component "Third Party" and assigned to "artiax" instead...