Opened 8 years ago
Closed 8 years ago
#956 closed defect (fixed)
OpenGL error switch from surface to volume style
Reported by: | Tom Goddard | Owned by: | Tom Goddard |
---|---|---|---|
Priority: | moderate | Milestone: | |
Component: | Volume Data | Version: | |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Notify when closed: | Platform: | all | |
Project: | ChimeraX |
Description
Got OpenGL error switching volume viewer menu from surface style to volume style for multichannel AICS-12_269.tif. Had switched one channel to plane style (right click on histogram, show one plane).
UCSF ChimeraX version: 0.1 (2017-12-12)
OpenGL version: 3.3.0 NVIDIA 388.13
OpenGL renderer: GeForce GTX 1080/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation
open D:\demos\biohub-dec2017\data\AICS-12_269.tif
Summary of feedback from opening D:\demos\biohub-dec2017\data\AICS-12_269.tif
notes image name 3500000523_100X_20170314_D04_P02.czi #1, dimension order XYCZT, grid spacing 0.1083, 0.1083, 0.29, grid size 924, 624, 47, times 1, channels 8, value type uint16
Opened multi-channel map AICS-12_269.tif, 8 channels, grid size 924,624,47, pixel 0.108,0.108,0.29, shown at step 2, values uint16
Traceback (most recent call last):
File "C:\Program Files\ChimeraX-Dec-11-2017\bin\lib\site-packages\chimerax\volume_viewer\volumedialog.py", line 1844, in <lambda>
sm.addAction(style, lambda s=style: self.representation_changed_cb(s))
File "C:\Program Files\ChimeraX-Dec-11-2017\bin\lib\site-packages\chimerax\volume_viewer\volumedialog.py", line 2343, in representation_changed_cb
self.set_map_style(v, style)
File "C:\Program Files\ChimeraX-Dec-11-2017\bin\lib\site-packages\chimerax\volume_viewer\volumedialog.py", line 2367, in set_map_style
v.show(representation = 'solid', show = v.shown())
File "C:\Program Files\ChimeraX-Dec-11-2017\bin\lib\site-packages\chimerax\core\map\volume.py", line 619, in show
self.show_solid(show, self.rendering_options)
File "C:\Program Files\ChimeraX-Dec-11-2017\bin\lib\site-packages\chimerax\core\map\volume.py", line 917, in show_solid
self.update_solid(rendering_options)
File "C:\Program Files\ChimeraX-Dec-11-2017\bin\lib\site-packages\chimerax\core\map\volume.py", line 949, in update_solid
s.update_model(self, blend_manager(self.session))
File "C:\Program Files\ChimeraX-Dec-11-2017\bin\lib\site-packages\chimerax\core\map\solid.py", line 162, in update_model
v.set_array_coordinates(self.transform)
File "C:\Program Files\ChimeraX-Dec-11-2017\bin\lib\site-packages\chimerax\core\map\grayscale.py", line 141, in set_array_coordinates
self.remove_planes()
File "C:\Program Files\ChimeraX-Dec-11-2017\bin\lib\site-packages\chimerax\core\map\grayscale.py", line 239, in remove_planes
self.remove_drawing(pd)
File "C:\Program Files\ChimeraX-Dec-11-2017\bin\lib\site-packages\chimerax\core\graphics\drawing.py", line 248, in remove_drawing
d.delete()
File "C:\Program Files\ChimeraX-Dec-11-2017\bin\lib\site-packages\chimerax\core\graphics\drawing.py", line 1006, in delete
self._delete_geometry()
File "C:\Program Files\ChimeraX-Dec-11-2017\bin\lib\site-packages\chimerax\core\graphics\drawing.py", line 1025, in _delete_geometry
t.delete_texture()
File "C:\Program Files\ChimeraX-Dec-11-2017\bin\lib\site-packages\chimerax\core\graphics\opengl.py", line 1940, in delete_texture
GL.glDeleteTextures((self.id,))
File "zr\accelerate\src\latebind.pyx", line 44, in OpenGL_accelerate.latebind.Curry.call (src\latebind.c:1216)
File "C:\Program Files\ChimeraX-Dec-11-2017\bin\lib\site-packages\OpenGL\GL\exceptional.py", line 63, in glDeleteTextures
return baseFunction( size, ptr )
File "zr\accelerate\src\latebind.pyx", line 32, in OpenGL_accelerate.latebind.LateBind.call (src\latebind.c:1015)
File "zr\accelerate\src\wrapper.pyx", line 318, in OpenGL_accelerate.wrapper.Wrapper.call (src\wrapper.c:6905)
File "zr\accelerate\src\wrapper.pyx", line 311, in OpenGL_accelerate.wrapper.Wrapper.call (src\wrapper.c:6777)
File "zr\accelerate\src\errorchecker.pyx", line 53, in OpenGL_accelerate.errorchecker._ErrorChecker.glCheckError (src\errorchecker.c:1270)
OpenGL.error.GLError: GLError(
err = 1282,
description = b'invalid operation',
baseOperation = glDeleteTextures,
pyArgs = (
1,
<OpenGL.arrays.lists.c_ulong_Array_1 object at 0x000001A2A3B972C8>,
),
cArgs = (
1,
<OpenGL.arrays.lists.c_ulong_Array_1 object at 0x000001A2A3B972C8>,
),
cArguments = (
1,
<OpenGL.arrays.lists.c_ulong_Array_1 object at 0x000001A2A3B972C8>,
)
)
OpenGL.error.GLError: GLError(
err = 1282,
description = b'invalid operation',
baseOperation = glDeleteTextures,
pyArgs = (
1,
,
),
cArgs = (
1,
,
),
cArguments = (
1,
,
)
)
File "zr\accelerate\src\errorchecker.pyx", line 53, in OpenGL_accelerate.errorchecker._ErrorChecker.glCheckError (src\errorchecker.c:1270)
See log for complete Python traceback.
If you wish to report this error, send mail to chimerax-bugs@… and describe what you were doing and include a copy of the contents of the log. Don't include any data you wish to remain private since a publicly viewable bug report will be created.
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 "C:\Program Files\ChimeraX-Dec-11-2017\bin\lib\site-packages\chimerax\core\updateloop.py", line 61, in draw_new_frame
view.draw(check_for_changes = False)
File "C:\Program Files\ChimeraX-Dec-11-2017\bin\lib\site-packages\chimerax\core\graphics\view.py", line 198, in draw
draw_transparent(r, mdraw)
File "C:\Program Files\ChimeraX-Dec-11-2017\bin\lib\site-packages\chimerax\core\graphics\drawing.py", line 1318, in draw_transparent
lambda: _draw_multiple(drawings, r, p, Drawing.TRANSPARENT_DRAW_PASS))
File "C:\Program Files\ChimeraX-Dec-11-2017\bin\lib\site-packages\chimerax\core\graphics\opengl.py", line 746, in draw_transparent
draw()
File "C:\Program Files\ChimeraX-Dec-11-2017\bin\lib\site-packages\chimerax\core\graphics\drawing.py", line 1318, in <lambda>
lambda: _draw_multiple(drawings, r, p, Drawing.TRANSPARENT_DRAW_PASS))
File "C:\Program Files\ChimeraX-Dec-11-2017\bin\lib\site-packages\chimerax\core\graphics\drawing.py", line 1324, in _draw_multiple
d.draw(renderer, place, draw_pass, selected_only)
File "C:\Program Files\ChimeraX-Dec-11-2017\bin\lib\site-packages\chimerax\core\graphics\drawing.py", line 618, in draw
self._draw_children(renderer, pp, draw_pass, selected_only)
File "C:\Program Files\ChimeraX-Dec-11-2017\bin\lib\site-packages\chimerax\core\graphics\drawing.py", line 649, in _draw_children
d.draw(renderer, place, draw_pass, selected_only)
File "C:\Program Files\ChimeraX-Dec-11-2017\bin\lib\site-packages\chimerax\core\graphics\drawing.py", line 618, in draw
self._draw_children(renderer, pp, draw_pass, selected_only)
File "C:\Program Files\ChimeraX-Dec-11-2017\bin\lib\site-packages\chimerax\core\graphics\drawing.py", line 649, in _draw_children
d.draw(renderer, place, draw_pass, selected_only)
File "C:\Program Files\ChimeraX-Dec-11-2017\bin\lib\site-packages\chimerax\core\map\volume.py", line 589, in draw
Model.draw(self, renderer, place, draw_pass, selected_only = selected_only)
File "C:\Program Files\ChimeraX-Dec-11-2017\bin\lib\site-packages\chimerax\core\graphics\drawing.py", line 618, in draw
self._draw_children(renderer, pp, draw_pass, selected_only)
File "C:\Program Files\ChimeraX-Dec-11-2017\bin\lib\site-packages\chimerax\core\graphics\drawing.py", line 649, in _draw_children
d.draw(renderer, place, draw_pass, selected_only)
File "C:\Program Files\ChimeraX-Dec-11-2017\bin\lib\site-packages\chimerax\core\map\grayscale.py", line 210, in draw
if d and d.display != disp:
File "C:\Program Files\ChimeraX-Dec-11-2017\bin\lib\site-packages\chimerax\core\graphics\drawing.py", line 281, in get_display
return self._any_displayed_positions and len(self._positions) > 0
TypeError: object of type 'NoneType' has no len()
Traceback (most recent call last):
File "C:\Program Files\ChimeraX-Dec-11-2017\bin\lib\site-packages\chimerax\core\ui\graphics.py", line 80, in resizeEvent
v.draw(check_for_changes = False)
File "C:\Program Files\ChimeraX-Dec-11-2017\bin\lib\site-packages\chimerax\core\graphics\view.py", line 198, in draw
draw_transparent(r, mdraw)
File "C:\Program Files\ChimeraX-Dec-11-2017\bin\lib\site-packages\chimerax\core\graphics\drawing.py", line 1318, in draw_transparent
lambda: _draw_multiple(drawings, r, p, Drawing.TRANSPARENT_DRAW_PASS))
File "C:\Program Files\ChimeraX-Dec-11-2017\bin\lib\site-packages\chimerax\core\graphics\opengl.py", line 746, in draw_transparent
draw()
File "C:\Program Files\ChimeraX-Dec-11-2017\bin\lib\site-packages\chimerax\core\graphics\drawing.py", line 1318, in <lambda>
lambda: _draw_multiple(drawings, r, p, Drawing.TRANSPARENT_DRAW_PASS))
File "C:\Program Files\ChimeraX-Dec-11-2017\bin\lib\site-packages\chimerax\core\graphics\drawing.py", line 1324, in _draw_multiple
d.draw(renderer, place, draw_pass, selected_only)
File "C:\Program Files\ChimeraX-Dec-11-2017\bin\lib\site-packages\chimerax\core\graphics\drawing.py", line 618, in draw
self._draw_children(renderer, pp, draw_pass, selected_only)
File "C:\Program Files\ChimeraX-Dec-11-2017\bin\lib\site-packages\chimerax\core\graphics\drawing.py", line 649, in _draw_children
d.draw(renderer, place, draw_pass, selected_only)
File "C:\Program Files\ChimeraX-Dec-11-2017\bin\lib\site-packages\chimerax\core\graphics\drawing.py", line 618, in draw
self._draw_children(renderer, pp, draw_pass, selected_only)
File "C:\Program Files\ChimeraX-Dec-11-2017\bin\lib\site-packages\chimerax\core\graphics\drawing.py", line 649, in _draw_children
d.draw(renderer, place, draw_pass, selected_only)
File "C:\Program Files\ChimeraX-Dec-11-2017\bin\lib\site-packages\chimerax\core\map\volume.py", line 589, in draw
Model.draw(self, renderer, place, draw_pass, selected_only = selected_only)
File "C:\Program Files\ChimeraX-Dec-11-2017\bin\lib\site-packages\chimerax\core\graphics\drawing.py", line 618, in draw
self._draw_children(renderer, pp, draw_pass, selected_only)
File "C:\Program Files\ChimeraX-Dec-11-2017\bin\lib\site-packages\chimerax\core\graphics\drawing.py", line 649, in _draw_children
d.draw(renderer, place, draw_pass, selected_only)
File "C:\Program Files\ChimeraX-Dec-11-2017\bin\lib\site-packages\chimerax\core\map\grayscale.py", line 210, in draw
if d and d.display != disp:
File "C:\Program Files\ChimeraX-Dec-11-2017\bin\lib\site-packages\chimerax\core\graphics\drawing.py", line 281, in get_display
return self._any_displayed_positions and len(self._positions) > 0
TypeError: object of type 'NoneType' has no len()
TypeError: object of type 'NoneType' has no len()
File "C:\Program Files\ChimeraX-Dec-11-2017\bin\lib\site-packages\chimerax\core\graphics\drawing.py", line 281, in get_display
return self._any_displayed_positions and len(self._positions) > 0
See log for complete Python traceback.
If you wish to report this error, send mail to chimerax-bugs@… and describe what you were doing and include a copy of the contents of the log. Don't include any data you wish to remain private since a publicly viewable bug report will be created.
Fixed.
Code created volume texture and then deleted it without making opengl context current. Did not make opengl context current because the Drawing that was being deleted was never drawn and did not know the opengl context. Fixed by not filling texture until it is actually drawn.