Opened 15 months ago
Last modified 15 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 , 15 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 , 15 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...