﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	blockedby	blocking	notify_on_close	platform	project
3339	Easy to get surface cap deletion wrong	Tristan Croll	Tom Goddard	"{{{
The following bug report has been submitted:
Platform:        Linux-3.10.0-1062.9.1.el7.x86_64-x86_64-with-centos-7.7.1908-Core
ChimeraX Version: 1.0rc202005270557 (2020-05-27 05:57:28 UTC)
Description
Looks related to #3222. I'd openend and closed a few different model/map combos with Clipper, and had one open when I closed - but try as I might, I can't find a scenario in this pipeline where the ""cap far"" drawing actually exists. Clipper doesn't use clip caps, and clipping planes weren't enabled before initialising the Clipper object. Printing [d.name for d in {top-level model}.all_drawings()] doesn't show a drawing of that name.

Possibly related (?): I'm also still seeing the occasional segmentation fault on exit (at least once in a session where I'd never used ISOLDE or Clipper). Finally managed to capture one under gdb, but it's the most spectacularly unhelpful stack trace I've ever seen (more helpful Python stack trace underneath):

{{{
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffee6ffd700 (LWP 10493)]
0x00007fffb30ed3a4 in ?? ()
(gdb) bt
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffee6ffd700 (LWP 10493)]
0x00007fffb30ed3a4 in ?? ()
(gdb) bt
#0  0x00007fffb30ed3a4 in  ()
#1  0x00007ffee6ffcdb0 in  ()
#2  0x00007ffee6ffcda0 in  ()
#3  0x000000005ed22d77 in  ()
#4  0x0000000000026f11 in  ()
#5  0x000000005ed22d77 in  ()
#6  0x000000000f77bb68 in  ()
#7  0x0000000000000001 in  ()
#8  0x0000000002d78da0 in  ()
#9  0x00007fffb3ff69e0 in  ()
#10 0x0000000002d78da0 in  ()
#11 0x00007fffb3ff6200 in  ()
#12 0x00007fffb3ff6200 in  ()
#13 0x00007fffb3ff69e0 in  ()
#14 0x00007fffb315efcc in  ()
#15 0x0000000000000001 in  ()
#16 0x00007ffee6ffd700 in  ()
#17 0x0000000000000000 in  ()
}}}


NOTE: Exception ignored in: <function Drawing.__del__ at 0x7f047851d200>
Traceback (most recent call last):
  File ""/opt/UCSF/ChimeraX/lib/python3.7/site-packages/chimerax/graphics/drawing.py"", line 1113, in __del__
    self.delete()
  File ""/opt/UCSF/ChimeraX/lib/python3.7/site-packages/chimerax/core/models.py"", line 94, in delete
    Drawing.delete(self)
  File ""/opt/UCSF/ChimeraX/lib/python3.7/site-packages/chimerax/graphics/drawing.py"", line 1126, in delete
    raise RuntimeError('OpenGL context make_current() raised an error during Drawing.delete()  for drawing ""%s""' % self.name) from e
RuntimeError: OpenGL context make_current() raised an error during Drawing.delete()  for drawing ""cap far""
Exception ignored in: <function Drawing.__del__ at 0x7f047851d200>
Traceback (most recent call last):
  File ""/opt/UCSF/ChimeraX/lib/python3.7/site-packages/chimerax/graphics/drawing.py"", line 1113, in __del__
    self.delete()
  File ""/opt/UCSF/ChimeraX/lib/python3.7/site-packages/chimerax/core/models.py"", line 94, in delete
    Drawing.delete(self)
  File ""/opt/UCSF/ChimeraX/lib/python3.7/site-packages/chimerax/graphics/drawing.py"", line 1126, in delete
    raise RuntimeError('OpenGL context make_current() raised an error during Drawing.delete()  for drawing ""%s""' % self.name) from e
RuntimeError: OpenGL context make_current() raised an error during Drawing.delete()  for drawing ""cap near""
Exception ignored in: <function Buffer.__del__ at 0x7f04761a8830>
Traceback (most recent call last):
  File ""/opt/UCSF/ChimeraX/lib/python3.7/site-packages/chimerax/graphics/opengl.py"", line 2502, in __del__
    % self.shader_variable_name)
chimerax.graphics.opengl.OpenGLError: OpenGL buffer ""position"" was not deleted before graphics.Buffer destroyed
Exception ignored in: <function Buffer.__del__ at 0x7f04761a8830>
Traceback (most recent call last):
  File ""/opt/UCSF/ChimeraX/lib/python3.7/site-packages/chimerax/graphics/opengl.py"", line 2502, in __del__
    % self.shader_variable_name)
chimerax.graphics.opengl.OpenGLError: OpenGL buffer ""normal"" was not deleted before graphics.Buffer destroyed
Exception ignored in: <function Buffer.__del__ at 0x7f04761a8830>
Traceback (most recent call last):
  File ""/opt/UCSF/ChimeraX/lib/python3.7/site-packages/chimerax/graphics/opengl.py"", line 2502, in __del__
    % self.shader_variable_name)
chimerax.graphics.opengl.OpenGLError: OpenGL buffer ""vcolor"" was not deleted before graphics.Buffer destroyed
Exception ignored in: <function Buffer.__del__ at 0x7f04761a8830>
Traceback (most recent call last):
  File ""/opt/UCSF/ChimeraX/lib/python3.7/site-packages/chimerax/graphics/opengl.py"", line 2502, in __del__
    % self.shader_variable_name)
chimerax.graphics.opengl.OpenGLError: OpenGL buffer ""tex_coord"" was not deleted before graphics.Buffer destroyed
Exception ignored in: <function Buffer.__del__ at 0x7f04761a8830>
Traceback (most recent call last):
  File ""/opt/UCSF/ChimeraX/lib/python3.7/site-packages/chimerax/graphics/opengl.py"", line 2502, in __del__
    % self.shader_variable_name)
chimerax.graphics.opengl.OpenGLError: OpenGL buffer ""position"" was not deleted before graphics.Buffer destroyed
Exception ignored in: <function Buffer.__del__ at 0x7f04761a8830>
Traceback (most recent call last):
  File ""/opt/UCSF/ChimeraX/lib/python3.7/site-packages/chimerax/graphics/opengl.py"", line 2502, in __del__
    % self.shader_variable_name)
chimerax.graphics.opengl.OpenGLError: OpenGL buffer ""normal"" was not deleted before graphics.Buffer destroyed
Exception ignored in: <function Buffer.__del__ at 0x7f04761a8830>
Traceback (most recent call last):
  File ""/opt/UCSF/ChimeraX/lib/python3.7/site-packages/chimerax/graphics/opengl.py"", line 2502, in __del__
    % self.shader_variable_name)
chimerax.graphics.opengl.OpenGLError: OpenGL buffer ""vcolor"" was not deleted before graphics.Buffer destroyed
Exception ignored in: <function Buffer.__del__ at 0x7f04761a8830>
Traceback (most recent call last):
  File ""/opt/UCSF/ChimeraX/lib/python3.7/site-packages/chimerax/graphics/opengl.py"", line 2502, in __del__
    % self.shader_variable_name)
chimerax.graphics.opengl.OpenGLError: OpenGL buffer ""tex_coord"" was not deleted before graphics.Buffer destroyed




Log:
UCSF ChimeraX version: 1.0rc202005270557 (2020-05-27)  
© 2016-2020 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  




OpenGL version: 3.3.0 NVIDIA 440.33.01
OpenGL renderer: TITAN Xp/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation
Manufacturer: Dell Inc.
Model: Precision T5600
OS: CentOS Linux 7 Core
Architecture: 64bit ELF
CPU: 32 Intel(R) Xeon(R) CPU E5-2687W 0 @ 3.10GHz
Cache Size: 20480 KB
Memory:
	              total        used        free      shared  buff/cache   available
	Mem:            62G        4.2G         46G        265M         11G         57G
	Swap:          4.9G          0B        4.9G

Graphics:
	03:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP102 [TITAN Xp] [10de:1b02] (rev a1)	
	Subsystem: NVIDIA Corporation Device [10de:11df]	
	Kernel driver in use: nvidia
PyQt version: 5.12.3
Compiled Qt version: 5.12.4
Runtime Qt version: 5.12.8

}}}
"	defect	closed	normal		Surface		fixed						all	ChimeraX
