Opened 5 years ago

Closed 5 years ago

#3379 closed defect (fixed)

Volume tilted slab to plane: glClear invalid framebuffer operation

Reported by: goddard@… Owned by: Tom Goddard
Priority: normal Milestone:
Component: Volume Data Version:
Keywords: Cc:
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

The following bug report has been submitted:
Platform:        Darwin-19.5.0-x86_64-i386-64bit
ChimeraX Version: 1.1.dev202006082325 (2020-06-08 23:25:53 UTC)
Description
Switched from tilted slab to single plane using volume viewer menu on multichannel light microscopy from Allen Insititute.

Log:
UCSF ChimeraX version: 1.1.dev202006082325 (2020-06-08)  
© 2016-2020 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> open /Users/goddard/ucsf/data/allen_cell/AICS-12/AICS-12_269.ome.tif

Opened multi-channel map AICS-12_269.ome.tif, 8 channels, grid size
924,624,47, pixel 0.108,0.108,0.29, shown at step 2, values uint16  

> volume #1 showOutlineBox true imageMode "tilted slab" tiltedSlabOffset 6.453
> tiltedSlabSpacing 0.1083 tiltedSlabPlaneCount 4

> volume #1.1 tiltedSlabAxis -0.08897,0.02955,0.9956 tiltedSlabOffset 1.524

> volume #1.1 tiltedSlabAxis 0.01323,-0.07022,0.9974 tiltedSlabOffset 4.38

> volume #1.1 tiltedSlabAxis 0.01323,-0.07022,0.9974 tiltedSlabOffset 2.839

> set bgColor white

> ui mousemode right "crop volume"

> volume #1.1 tiltedSlabOffset 2.839 tiltedSlabPlaneCount 11

> volume #1.1 tiltedSlabOffset 2.839 tiltedSlabPlaneCount 16

> set bgColor black

> volume #1.1 tiltedSlabOffset 2.839 tiltedSlabPlaneCount 9

> volume #1 region 0,0,0,923,623,46 step 1 colorMode opaque8 orthoplanes xyz
> positionPlanes 461,311,23 imageMode orthoplanes

> set bgColor white

> volume #1.1 level 1057,0 level 4929,0.8 level 1.96e+04,1

> volume #1.1 level 1057,0 level 3245,0.7706 level 1.96e+04,1

> volume #1.2 level 790.3,0 level 2311,0.8 level 8275,1

> volume #1.2 level 790.3,0 level 1949,0.8441 level 8275,1

> volume #1.3 level 403,0 level 485,0.8 level 2069,1

> volume #1.3 level 403,0 level 453.6,0.8147 level 2069,1

> volume #1.1 orthoplanes xyz positionPlanes 461,441,23

> volume #1.1 orthoplanes xyz positionPlanes 685,441,23

> volume #1.1 orthoplanes xyz positionPlanes 685,387,23

> select clear

> volume #1 region 0,0,0,923,623,46 step 2 colorMode auto8 imageMode "tilted
> slab" tiltedSlabAxis 0.5152,-0.7002,-0.4943 tiltedSlabOffset -1.377
> tiltedSlabPlaneCount 4

> set bgColor black

> volume #1.1 tiltedSlabAxis 0.04408,0.009686,-0.999 tiltedSlabOffset 2.406

> volume #1.1 tiltedSlabAxis 0.04408,0.009686,-0.999 tiltedSlabOffset -1.391

> volume #1.1 tiltedSlabAxis 0.09182,0.05938,-0.994 tiltedSlabOffset 2.547

> volume #1.1 tiltedSlabAxis 0.09182,0.05938,-0.994 tiltedSlabOffset 0.5921

> volume #1.1 tiltedSlabAxis 0.09182,0.05938,-0.994 tiltedSlabOffset 0.01317

> volume #1.1 tiltedSlabAxis 0.0287,-0.04669,-0.9985 tiltedSlabOffset -5.7

> set bgColor white

> volume #1 outlineBoxRgb black

> volume #1 backingColor black

> ui mousemode right "crop volume"

> volume #1.1 tiltedSlabOffset -7.108 tiltedSlabPlaneCount 17

> ui mousemode right "move planes"

> volume #1.1 tiltedSlabOffset -4.183 tiltedSlabPlaneCount 17

> volume #1.1 tiltedSlabOffset -4.616 tiltedSlabPlaneCount 17

> ui mousemode right "rotate slab"

> volume #1.1 tiltedSlabAxis 0.03927,-0.02371,-0.9989 tiltedSlabOffset -3.324

> ui mousemode right "move planes"

> volume #1.1 tiltedSlabOffset -4.299 tiltedSlabPlaneCount 17

> volume #1.1 tiltedSlabOffset -4.624 tiltedSlabPlaneCount 17

> ui mousemode right "rotate slab"

> volume #1.1 tiltedSlabAxis -0.007982,0.005278,-1 tiltedSlabOffset -5.965

> volume #1 step 1

> volume #1.1 level 1057,0 level 3174,0.8441 level 1.96e+04,1

> volume #1.3 level 403,0 level 469.8,0.7941 level 2069,1

> ui mousemode right "crop volume"

> volume #1.1 tiltedSlabOffset -3.473 tiltedSlabPlaneCount 14

> ui mousemode right "move planes"

> volume #1.1 tiltedSlabOffset -5.098 tiltedSlabPlaneCount 14

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/ChimeraX.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/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/graphics/view.py", line 166, in draw  
self._draw_scene(camera, drawings)  
File
"/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/graphics/view.py", line 240, in _draw_scene  
draw_transparent(r, transparent_drawings)  
File
"/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/graphics/drawing.py", line 1434, in draw_transparent  
lambda: _draw_multiple(drawings, r, Drawing.TRANSPARENT_DRAW_PASS))  
File
"/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/graphics/opengl.py", line 1170, in draw_transparent  
draw()  
File
"/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/graphics/drawing.py", line 1434, in <lambda>  
lambda: _draw_multiple(drawings, r, Drawing.TRANSPARENT_DRAW_PASS))  
File
"/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/graphics/drawing.py", line 1440, in _draw_multiple  
d.draw(renderer, draw_pass)  
File
"/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/map/image3d.py", line 750, in draw  
bi.draw(renderer, draw_pass)  
File
"/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/map/image3d.py", line 1342, in draw  
Image3d.draw(self, renderer, draw_pass)  
File
"/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/map/image3d.py", line 760, in draw  
pd = self._update_planes(renderer)  
File
"/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/map/image3d.py", line 525, in _update_planes  
pd = self._update_3d_texture_planes(view_dir)  
File
"/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/map/image3d.py", line 577, in _update_3d_texture_planes  
pd = self._texture_3d_planes()  
File
"/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/map/image3d.py", line 587, in _texture_3d_planes  
pd = Texture3dPlanes(self)  
File
"/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/map/image3d.py", line 1122, in __init__  
self._fill_textures()  
File
"/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/map/image3d.py", line 1215, in _fill_textures  
self._fill_texture_blend(t)  
File
"/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/map/image3d.py", line 1265, in _fill_texture_blend  
b.blend3d(vap.texture, modulation_color, self.texture)  
File
"/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/graphics/opengl.py", line 1868, in blend3d  
r.draw_background()  
File
"/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/graphics/opengl.py", line 1096, in draw_background  
GL.glClear(flags)  
File "src/errorchecker.pyx", line 58, in
OpenGL_accelerate.errorchecker._ErrorChecker.glCheckError  
OpenGL.error.GLError: GLError(  
err = 1286,  
description = b'invalid framebuffer operation',  
baseOperation = glClear,  
cArguments = (16640,)  
)  
  
Exception ignored in: <function Drawing.__del__ at 0x1119205f0>  
Traceback (most recent call last):  
File
"/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/graphics/drawing.py", line 1113, in __del__  
self.delete()  
File
"/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/graphics/drawing.py", line 1133, 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 0x111ef97a0>  
Traceback (most recent call last):  
File
"/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/graphics/opengl.py", line 2880, 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  

> volume #1 region 0,0,23,923,623,23 step 1 imageMode "full region"




OpenGL version: 4.1 ATI-3.9.15
OpenGL renderer: AMD Radeon Pro Vega 20 OpenGL Engine
OpenGL vendor: ATI Technologies Inc.Hardware:

    Hardware Overview:

      Model Name: MacBook Pro
      Model Identifier: MacBookPro15,3
      Processor Name: 8-Core Intel Core i9
      Processor Speed: 2.4 GHz
      Number of Processors: 1
      Total Number of Cores: 8
      L2 Cache (per Core): 256 KB
      L3 Cache: 16 MB
      Hyper-Threading Technology: Enabled
      Memory: 32 GB
      Boot ROM Version: 1037.120.87.0.0 (iBridge: 17.16.15300.0.0,0)

Software:

    System Software Overview:

      System Version: macOS 10.15.5 (19F101)
      Kernel Version: Darwin 19.5.0
      Time since boot: 2:48

Graphics/Displays:

    Intel UHD Graphics 630:

      Chipset Model: Intel UHD Graphics 630
      Type: GPU
      Bus: Built-In
      VRAM (Dynamic, Max): 1536 MB
      Vendor: Intel
      Device ID: 0x3e9b
      Revision ID: 0x0002
      Automatic Graphics Switching: Supported
      gMux Version: 5.0.0
      Metal: Supported, feature set macOS GPUFamily2 v1

    Radeon Pro Vega 20:

      Chipset Model: Radeon Pro Vega 20
      Type: GPU
      Bus: PCIe
      PCIe Lane Width: x8
      VRAM (Total): 4 GB
      Vendor: AMD (0x1002)
      Device ID: 0x69af
      Revision ID: 0x00c0
      ROM Revision: 113-D2060I-087
      VBIOS Version: 113-D20601MA0T-016
      Option ROM Version: 113-D20601MA0T-016
      EFI Driver Version: 01.01.087
      Automatic Graphics Switching: Supported
      gMux Version: 5.0.0
      Metal: Supported, feature set macOS GPUFamily2 v1
      Displays:
        Color LCD:
          Display Type: Built-In Retina LCD
          Resolution: 2880 x 1800 Retina
          Framebuffer Depth: 24-Bit Color (ARGB8888)
          Main Display: Yes
          Mirror: Off
          Online: Yes
          Automatically Adjust Brightness: No
          Connection Type: Internal

PyQt version: 5.12.3
Compiled Qt version: 5.12.4
Runtime Qt version: 5.12.8

Change History (3)

comment:1 by Tom Goddard, 5 years ago

Component: UnassignedVolume Data
Owner: set to Tom Goddard
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionVolume tilted slab to plane: glClear invalid framebuffer operation

comment:2 by Tom Goddard, 5 years ago

There are a few bugs here. First volume viewer is setting plane mode for just one channel then forcing an immediate redraw because the plane mode sets the slider value and the slider value change causes an immediate redraw. The other channels also have their region set to a single plane, but the remain in tilted slab mode, and tilted slab texture fill fails for single plane regions.

Should probably fix tilted plane so it does not fail for single plane regions, just show nothing.

Then fix volume viewer so it does not force a redraw when just the first channel has been switched to plane mode, all channels should change to plane mode before the redraw.

comment:3 by Tom Goddard, 5 years ago

Resolution: fixed
Status: assignedclosed

Fixed.

Problem was that 3D texture for single-plane region in tilted plane mode had wrong dimension. Another problem was the volume viewer was redrawing after just one of the 3 map channels was switched to plane. Fixed both problems.

Note: See TracTickets for help on using tickets.