Opened 6 years ago

Closed 6 years ago

#2842 closed defect (nonchimerax)

OpenGL out of memory on 590 million triangles

Reported by: goddard@… 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:        Darwin-19.3.0-x86_64-i386-64bit
ChimeraX Version: 0.92 (2020-01-11)
Description
Tried making a 590 million triangle surface and this is how it failed.

It worked at 165 million triangles.

Log:
UCSF ChimeraX version: 0.92 (2020-01-11)  
© 2016-2019 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> open 8088 fromDatabase emdb

Opened emd_8088.map, grid size 574,466,144, pixel 7.36,7.36,7.36, shown at
level 79, step 2, values int8  

> volume #1 region 0,0,0,573,465,143 step 2

> volume #1 style image colorMode opaque8 showOutlineBox true imageMode "box
> faces"

> volume #1 style surface region 0,0,0,573,465,143 step 1

> volume #1 style image region 0,0,0,573,465,143 step 2

> volume #1

> volume style surface

> volume region all orthoplanes off

> volume #1 step 1

> volume #1 level 0

> volume #1 change image level 31.01,0 level 79,0.8 level 127,1

> volume #1 level 50.36

> close

> open /Users/goddard/ucsf/data/layer4/electron-microscopy-volume/data442.cmap
> format cmap

Opened data442.cmap, grid size 1374,2108,1653, pixel 45,45,56, shown at step
1, values uint8  

> volume #1 level 97,0 level 186,0.8 level 252,1

> volume #1 region 0,0,0,1373,2107,1652 step 8

> volume #1 step 4

> volume #1

> volume #1 level 134.4

> volume #1 level 150

> volume #1 step 2

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.  
  
Traceback (most recent call last):  
File "/Users/goddard/ucsf/chimerax old/ChimeraX Jan 11
2020.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/updateloop.py", line 73, in draw_new_frame  
view.draw(check_for_changes = False)  
File "/Users/goddard/ucsf/chimerax old/ChimeraX Jan 11
2020.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/graphics/view.py", line 166, in draw  
self._draw_scene(camera, drawings)  
File "/Users/goddard/ucsf/chimerax old/ChimeraX Jan 11
2020.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/graphics/view.py", line 233, in _draw_scene  
draw_opaque(r, opaque_drawings)  
File "/Users/goddard/ucsf/chimerax old/ChimeraX Jan 11
2020.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/graphics/drawing.py", line 1420, in draw_opaque  
_draw_multiple(drawings, renderer, Drawing.OPAQUE_DRAW_PASS)  
File "/Users/goddard/ucsf/chimerax old/ChimeraX Jan 11
2020.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/graphics/drawing.py", line 1431, in _draw_multiple  
d.draw(renderer, draw_pass)  
File "/Users/goddard/ucsf/chimerax old/ChimeraX Jan 11
2020.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/graphics/drawing.py", line 716, in draw  
self.draw_self(renderer, draw_pass)  
File "/Users/goddard/ucsf/chimerax old/ChimeraX Jan 11
2020.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/graphics/drawing.py", line 723, in draw_self  
self._draw_geometry(renderer, opaque_only = any_transp)  
File "/Users/goddard/ucsf/chimerax old/ChimeraX Jan 11
2020.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/graphics/drawing.py", line 750, in _draw_geometry  
ds.activate_bindings(renderer)  
File "/Users/goddard/ucsf/chimerax old/ChimeraX Jan 11
2020.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/graphics/drawing.py", line 1766, in activate_bindings  
self.update_buffers()  
File "/Users/goddard/ucsf/chimerax old/ChimeraX Jan 11
2020.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/graphics/drawing.py", line 1754, in update_buffers  
b.update_buffer_data(data)  
File "/Users/goddard/ucsf/chimerax old/ChimeraX Jan 11
2020.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/graphics/opengl.py", line 2553, in update_buffer_data  
GL.glBufferData(btype, size, d, GL.GL_STATIC_DRAW)  
File "src/latebind.pyx", line 44, in OpenGL_accelerate.latebind.Curry.__call__  
File "/Users/goddard/ucsf/chimerax old/ChimeraX Jan 11
2020.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/PyOpenGL-3.1.3b2-py3.7.egg/OpenGL/GL/VERSION/GL_1_5.py", line 89, in
glBufferData  
return baseOperation( target, size, data, usage )  
File "src/latebind.pyx", line 32, 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 53, in
OpenGL_accelerate.errorchecker._ErrorChecker.glCheckError  
OpenGL.error.GLError: GLError(  
err = 1285,  
description = b'out of memory',  
baseOperation = glBufferData,  
pyArgs = (  
GL_ELEMENT_ARRAY_BUFFER,  
6390047904,  
array([[ 3, 0, 4],  
[ 0, 2, 4],  
[ 3, 2, ...,  
GL_STATIC_DRAW,  
),  
cArgs = (  
GL_ELEMENT_ARRAY_BUFFER,  
6390047904,  
array([[ 3, 0, 4],  
[ 0, 2, 4],  
[ 3, 2, ...,  
GL_STATIC_DRAW,  
),  
cArguments = (  
GL_ELEMENT_ARRAY_BUFFER,  
6390047904,  
array([[ 3, 0, 4],  
[ 0, 2, 4],  
[ 3, 2, ...,  
GL_STATIC_DRAW,  
)  
)  
  




OpenGL version: 4.1 ATI-3.5.5
OpenGL renderer: AMD Radeon Pro 580 OpenGL Engine
OpenGL vendor: ATI Technologies Inc.

Change History (2)

comment:1 by Tom Goddard, 6 years ago

Component: UnassignedGraphics
Owner: set to Tom Goddard
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionOpenGL out of memory on 590 million triangles

At least it didn't crash! Could improve the error message if anyone else ever encountered this -- not a high priority.

It did crash for 300 million triangles. Ticket #2843.

comment:2 by Tom Goddard, 6 years ago

Resolution: nonchimerax
Status: assignedclosed
Note: See TracTickets for help on using tickets.