A minor nit is detected when quitting pymol svn built with clang 3.6 using -fsanitize=address...
% setenv ASAN_SYMBOLIZER_PATH /sw/opt/llvm-3.6.0/bin/llvm-symbolizer
% pymol
PyMOL(TM) Molecular Graphics System, Version 1.7.5.0.
Copyright (c) Schrodinger, LLC.
All Rights Reserved.
Created by Warren L. DeLano, Ph.D.
PyMOL is user-supported open-source software. Although some versions
are freely available, PyMOL is not in the public domain.
If PyMOL is helpful in your work or study, then please volunteer
support for our ongoing efforts to create open and affordable scientific
software by purchasing a PyMOL Maintenance and/or Support subscription.
More information can be found at "http://www.pymol.org".
Enter "help" for a list of commands.
Enter "help <command-name>" for information on a specific command.
Hit ESC anytime to toggle between text and graphics.
Detected OpenGL version 2.0 or greater. Shaders available.
Detected GLSL version 1.20.
OpenGL graphics engine:
GL_VENDOR: ATI Technologies Inc.
GL_RENDERER: ATI Radeon HD 2600 OpenGL Engine
GL_VERSION: 2.1 ATI-10.0.28
Adjusting settings to improve performance for ATI cards.
Detected 8 CPU cores. Enabled multithreaded rendering.
=================================================================
==51003==ERROR: AddressSanitizer: heap-use-after-free on address 0x60c000029c98 at pc 0x00010729ca94 bp 0x7fff5c137400 sp 0x7fff5c1373f8
READ of size 8 at 0x60c000029c98 thread T0
#0 0x10729ca93 in CShaderMgr_AddVBOToFree(_CShaderMgr, unsigned int) (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x6da93)
#1 0x10731b14f in CGOFreeVBOs(_CGO) (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0xec14f)
#2 0x107316303 in CGOFree(_CGO) (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0xe7303)
#3 0x1073f48e0 in OrthoInvalidateDoDraw(_PyMOLGlobals) (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x1c58e0)
#4 0x10749c353 in SceneInvalidate(_PyMOLGlobals) (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x26d353)
#5 0x1073e7704 in MovieClearImages(_PyMOLGlobals) (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x1b8704)
#6 0x1073f03b2 in MovieFree(_PyMOLGlobals) (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x1c13b2)
#7 0x1079f3526 in PyMOL_Stop (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x7c4526)
#8 0x1079de2fc in MainFree() (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x7af2fc)
#9 0x1074142dd in PExit(_PyMOLGlobals, int) (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x1e52dd)
#10 0x1079b5f9d in CmdQuit(_object, _object) (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x786f9d)
#11 0x1048a20f7 in PyEval_EvalFrameEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xad0f7)
#12 0x10489d1d1 in PyEval_EvalCodeEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xa81d1)
#13 0x1048a4cb4 in fast_function (/sw/lib/python2.7/config/libpython2.7.dylib+0xafcb4)
#14 0x1048a0da0 in PyEval_EvalFrameEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xabda0)
#15 0x10489d1d1 in PyEval_EvalCodeEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xa81d1)
#16 0x10489cbc5 in PyEval_EvalCode (/sw/lib/python2.7/config/libpython2.7.dylib+0xa7bc5)
#17 0x1048c6c5e in PyRun_StringFlags (/sw/lib/python2.7/config/libpython2.7.dylib+0xd1c5e)
#18 0x1048a27c7 in PyEval_EvalFrameEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xad7c7)
#19 0x10489d1d1 in PyEval_EvalCodeEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xa81d1)
#20 0x1048a4cb4 in fast_function (/sw/lib/python2.7/config/libpython2.7.dylib+0xafcb4)
#21 0x1048a0da0 in PyEval_EvalFrameEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xabda0)
#22 0x10489d1d1 in PyEval_EvalCodeEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xa81d1)
#23 0x1048a4cb4 in fast_function (/sw/lib/python2.7/config/libpython2.7.dylib+0xafcb4)
#24 0x1048a0da0 in PyEval_EvalFrameEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xabda0)
#25 0x10489d1d1 in PyEval_EvalCodeEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xa81d1)
#26 0x104828b6b in function_call (/sw/lib/python2.7/config/libpython2.7.dylib+0x33b6b)
#27 0x104802f92 in PyObject_Call (/sw/lib/python2.7/config/libpython2.7.dylib+0xdf92)
#28 0x1048030fa in PyObject_CallFunction (/sw/lib/python2.7/config/libpython2.7.dylib+0xe0fa)
#29 0x107414d26 in PFlush(_PyMOLGlobals) (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x1e5d26)
#30 0x1079f4d96 in PyMOL_Idle (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x7c5d96)
#31 0x1079e3273 in MainBusyIdle() (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x7b4273)
#32 0x108ba510b in glutMainLoop (/sw/lib/freeglut2/libglut.3.dylib+0xc10b)
#33 0x1079e0011 in main_common() (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x7b1011)
#34 0x1079e0827 in main_shared(int) (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x7b1827)
#35 0x1079bcd6e in CmdRunPyMOL(_object, _object*) (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x78dd6e)
#36 0x1048a20f7 in PyEval_EvalFrameEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xad0f7)
#37 0x10489d1d1 in PyEval_EvalCodeEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xa81d1)
#38 0x1048a4cb4 in fast_function (/sw/lib/python2.7/config/libpython2.7.dylib+0xafcb4)
#39 0x1048a0da0 in PyEval_EvalFrameEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xabda0)
#40 0x10489d1d1 in PyEval_EvalCodeEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xa81d1)
#41 0x10489cbc5 in PyEval_EvalCode (/sw/lib/python2.7/config/libpython2.7.dylib+0xa7bc5)
#42 0x1048c6aa3 in PyRun_FileExFlags (/sw/lib/python2.7/config/libpython2.7.dylib+0xd1aa3)
#43 0x1048c6620 in PyRun_SimpleFileExFlags (/sw/lib/python2.7/config/libpython2.7.dylib+0xd1620)
#44 0x1048da377 in Py_Main (/sw/lib/python2.7/config/libpython2.7.dylib+0xe5377)
#45 0x7fff9050f5c8 in start (/usr/lib/system/libdyld.dylib+0x35c8)
#46 0x4 (<unknown module="">)</unknown>
0x60c000029c98 is located 24 bytes inside of 120-byte region [0x60c000029c80,0x60c000029cf8)
freed by thread T0 here:
#0 0x103b0e8a0 in wrap_free (/sw/opt/llvm-3.6.0/lib/clang/3.6.0/lib/darwin/libclang_rt.asan_osx_dynamic.dylib+0x418a0)
#1 0x1079f34ae in PyMOL_Stop (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x7c44ae)
#2 0x1079de2fc in MainFree() (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x7af2fc)
#3 0x1074142dd in PExit(_PyMOLGlobals, int) (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x1e52dd)
#4 0x1079b5f9d in CmdQuit(_object, _object) (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x786f9d)
#5 0x1048a20f7 in PyEval_EvalFrameEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xad0f7)
#6 0x10489d1d1 in PyEval_EvalCodeEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xa81d1)
#7 0x1048a4cb4 in fast_function (/sw/lib/python2.7/config/libpython2.7.dylib+0xafcb4)
#8 0x1048a0da0 in PyEval_EvalFrameEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xabda0)
#9 0x10489d1d1 in PyEval_EvalCodeEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xa81d1)
#10 0x10489cbc5 in PyEval_EvalCode (/sw/lib/python2.7/config/libpython2.7.dylib+0xa7bc5)
#11 0x1048c6c5e in PyRun_StringFlags (/sw/lib/python2.7/config/libpython2.7.dylib+0xd1c5e)
#12 0x1048a27c7 in PyEval_EvalFrameEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xad7c7)
#13 0x10489d1d1 in PyEval_EvalCodeEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xa81d1)
#14 0x1048a4cb4 in fast_function (/sw/lib/python2.7/config/libpython2.7.dylib+0xafcb4)
#15 0x1048a0da0 in PyEval_EvalFrameEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xabda0)
#16 0x10489d1d1 in PyEval_EvalCodeEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xa81d1)
#17 0x1048a4cb4 in fast_function (/sw/lib/python2.7/config/libpython2.7.dylib+0xafcb4)
#18 0x1048a0da0 in PyEval_EvalFrameEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xabda0)
#19 0x10489d1d1 in PyEval_EvalCodeEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xa81d1)
#20 0x104828b6b in function_call (/sw/lib/python2.7/config/libpython2.7.dylib+0x33b6b)
#21 0x104802f92 in PyObject_Call (/sw/lib/python2.7/config/libpython2.7.dylib+0xdf92)
#22 0x1048030fa in PyObject_CallFunction (/sw/lib/python2.7/config/libpython2.7.dylib+0xe0fa)
#23 0x107414d26 in PFlush(_PyMOLGlobals) (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x1e5d26)
#24 0x1079f4d96 in PyMOL_Idle (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x7c5d96)
#25 0x1079e3273 in MainBusyIdle() (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x7b4273)
#26 0x108ba510b in glutMainLoop (/sw/lib/freeglut2/libglut.3.dylib+0xc10b)
#27 0x1079e0011 in main_common() (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x7b1011)
#28 0x1079e0827 in main_shared(int) (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x7b1827)
#29 0x1079bcd6e in CmdRunPyMOL(_object, _object) (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x78dd6e)
previously allocated by thread T0 here:
#0 0x103b0e6d7 in wrap_malloc (/sw/opt/llvm-3.6.0/lib/clang/3.6.0/lib/darwin/libclang_rt.asan_osx_dynamic.dylib+0x416d7)
#1 0x10728fbf4 in CShaderMgr_New(_PyMOLGlobals) (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x60bf4)
#2 0x10728eb9f in ShaderMgrInit(_PyMOLGlobals) (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x5fb9f)
#3 0x1079f258f in PyMOL_Start (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x7c358f)
#4 0x1079dfd66 in main_common() (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x7b0d66)
#5 0x1079e0827 in main_shared(int) (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x7b1827)
#6 0x1079bcd6e in CmdRunPyMOL(_object, _object) (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x78dd6e)
#7 0x1048a20f7 in PyEval_EvalFrameEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xad0f7)
#8 0x10489d1d1 in PyEval_EvalCodeEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xa81d1)
#9 0x1048a4cb4 in fast_function (/sw/lib/python2.7/config/libpython2.7.dylib+0xafcb4)
#10 0x1048a0da0 in PyEval_EvalFrameEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xabda0)
#11 0x10489d1d1 in PyEval_EvalCodeEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xa81d1)
#12 0x10489cbc5 in PyEval_EvalCode (/sw/lib/python2.7/config/libpython2.7.dylib+0xa7bc5)
#13 0x1048c6aa3 in PyRun_FileExFlags (/sw/lib/python2.7/config/libpython2.7.dylib+0xd1aa3)
#14 0x1048c6620 in PyRun_SimpleFileExFlags (/sw/lib/python2.7/config/libpython2.7.dylib+0xd1620)
#15 0x1048da377 in Py_Main (/sw/lib/python2.7/config/libpython2.7.dylib+0xe5377)
#16 0x7fff9050f5c8 in start (/usr/lib/system/libdyld.dylib+0x35c8)
#17 0x4 (<unknown module="">)</unknown>
SUMMARY: AddressSanitizer: heap-use-after-free ??:0 CShaderMgr_AddVBOToFree(_CShaderMgr*, unsigned int)
Shadow bytes around the buggy address:
0x1c1800005340: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd
0x1c1800005350: fd fd fd fd fd fd fd fd fa fa fa fa fa fa fa fa
0x1c1800005360: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x1c1800005370: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd
0x1c1800005380: fd fd fd fd fd fd fd fd fa fa fa fa fa fa fa fa
=>0x1c1800005390: fd fd fd[fd]fd fd fd fd fd fd fd fd fd fd fd fa
0x1c18000053a0: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd
0x1c18000053b0: fd fd fd fd fd fd fd fd fa fa fa fa fa fa fa fa
0x1c18000053c0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x1c18000053d0: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd
0x1c18000053e0: fd fd fd fd fd fd fd fd fa fa fa fa fa fa fa fa
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Heap right redzone: fb
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack partial redzone: f4
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Left alloca redzone: ca
Right alloca redzone: cb
==51003==ABORTING
This should be fixed by the attached patch. Will apply to SVN after further testing.
The proposed patch converts the AddressSanitizer error on quitting pymol to...
% pymol
PyMOL(TM) Molecular Graphics System, Version 1.7.5.0.
Copyright (c) Schrodinger, LLC.
All Rights Reserved.
Hit ESC anytime to toggle between text and graphics.
Detected OpenGL version 2.0 or greater. Shaders available.
Detected GLSL version 1.20.
OpenGL graphics engine:
GL_VENDOR: ATI Technologies Inc.
GL_RENDERER: ATI Radeon HD 2600 OpenGL Engine
GL_VERSION: 2.1 ATI-10.0.28
Adjusting settings to improve performance for ATI cards.
Detected 8 CPU cores. Enabled multithreaded rendering.
PyMOL: normal program termination.
=================================================================
==35839==ERROR: AddressSanitizer: heap-use-after-free on address 0x613000014a90 at pc 0x00010df214a7 bp 0x7fff55bf4780 sp 0x7fff55bf4778
READ of size 4 at 0x613000014a90 thread T0
#0 0x10df214a6 in MainOnExit() (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x7af4a6)
#1 0x7fff8885b8ba in __cxa_finalize_ranges (/usr/lib/system/libsystem_c.dylib+0x5e8ba)
#2 0x7fff8885bbcf in exit (/usr/lib/system/libsystem_c.dylib+0x5ebcf)
#3 0x10d95813a in PExit(_PyMOLGlobals, int) (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x1e613a)
#4 0x10def9ded in CmdQuit(_object, _object) (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x787ded)
#5 0x10ade30f7 in PyEval_EvalFrameEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xad0f7)
#6 0x10adde1d1 in PyEval_EvalCodeEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xa81d1)
#7 0x10ade5cb4 in fast_function (/sw/lib/python2.7/config/libpython2.7.dylib+0xafcb4)
#8 0x10ade1da0 in PyEval_EvalFrameEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xabda0)
#9 0x10adde1d1 in PyEval_EvalCodeEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xa81d1)
#10 0x10adddbc5 in PyEval_EvalCode (/sw/lib/python2.7/config/libpython2.7.dylib+0xa7bc5)
#11 0x10ae07c5e in PyRun_StringFlags (/sw/lib/python2.7/config/libpython2.7.dylib+0xd1c5e)
#12 0x10ade37c7 in PyEval_EvalFrameEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xad7c7)
#13 0x10adde1d1 in PyEval_EvalCodeEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xa81d1)
#14 0x10ade5cb4 in fast_function (/sw/lib/python2.7/config/libpython2.7.dylib+0xafcb4)
#15 0x10ade1da0 in PyEval_EvalFrameEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xabda0)
#16 0x10adde1d1 in PyEval_EvalCodeEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xa81d1)
#17 0x10ade5cb4 in fast_function (/sw/lib/python2.7/config/libpython2.7.dylib+0xafcb4)
#18 0x10ade1da0 in PyEval_EvalFrameEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xabda0)
#19 0x10adde1d1 in PyEval_EvalCodeEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xa81d1)
#20 0x10ad69b6b in function_call (/sw/lib/python2.7/config/libpython2.7.dylib+0x33b6b)
#21 0x10ad43f92 in PyObject_Call (/sw/lib/python2.7/config/libpython2.7.dylib+0xdf92)
#22 0x10ad440fa in PyObject_CallFunction (/sw/lib/python2.7/config/libpython2.7.dylib+0xe0fa)
#23 0x10d958b76 in PFlush(_PyMOLGlobals) (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x1e6b76)
#24 0x10df38be6 in PyMOL_Idle (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x7c6be6)
#25 0x10df270c3 in MainBusyIdle() (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x7b50c3)
#26 0x10f0ea10b in glutMainLoop (/sw/lib/freeglut2/libglut.3.dylib+0xc10b)
#27 0x10df23e61 in main_common() (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x7b1e61)
#28 0x10df24677 in main_shared(int) (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x7b2677)
#29 0x10df00bbe in CmdRunPyMOL(_object, _object) (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x78ebbe)
#30 0x10ade30f7 in PyEval_EvalFrameEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xad0f7)
#31 0x10adde1d1 in PyEval_EvalCodeEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xa81d1)
#32 0x10ade5cb4 in fast_function (/sw/lib/python2.7/config/libpython2.7.dylib+0xafcb4)
#33 0x10ade1da0 in PyEval_EvalFrameEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xabda0)
#34 0x10adde1d1 in PyEval_EvalCodeEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xa81d1)
#35 0x10adddbc5 in PyEval_EvalCode (/sw/lib/python2.7/config/libpython2.7.dylib+0xa7bc5)
#36 0x10ae07aa3 in PyRun_FileExFlags (/sw/lib/python2.7/config/libpython2.7.dylib+0xd1aa3)
#37 0x10ae07620 in PyRun_SimpleFileExFlags (/sw/lib/python2.7/config/libpython2.7.dylib+0xd1620)
#38 0x10ae1b377 in Py_Main (/sw/lib/python2.7/config/libpython2.7.dylib+0xe5377)
#39 0x7fff9050f5c8 in start (/usr/lib/system/libdyld.dylib+0x35c8)
#40 0x4 (<unknown module="">)</unknown>
0x613000014a90 is located 336 bytes inside of 368-byte region [0x613000014940,0x613000014ab0)
freed by thread T0 here:
#0 0x10a0518a0 in wrap_free (/sw/opt/llvm-3.6.0/lib/clang/3.6.0/lib/darwin/libclang_rt.asan_osx_dynamic.dylib+0x418a0)
#1 0x10df376ee in PyMOL_Free (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x7c56ee)
#2 0x10df2218a in MainFree() (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x7b018a)
#3 0x10d95812d in PExit(_PyMOLGlobals, int) (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x1e612d)
#4 0x10def9ded in CmdQuit(_object, _object) (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x787ded)
#5 0x10ade30f7 in PyEval_EvalFrameEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xad0f7)
#6 0x10adde1d1 in PyEval_EvalCodeEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xa81d1)
#7 0x10ade5cb4 in fast_function (/sw/lib/python2.7/config/libpython2.7.dylib+0xafcb4)
#8 0x10ade1da0 in PyEval_EvalFrameEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xabda0)
#9 0x10adde1d1 in PyEval_EvalCodeEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xa81d1)
#10 0x10adddbc5 in PyEval_EvalCode (/sw/lib/python2.7/config/libpython2.7.dylib+0xa7bc5)
#11 0x10ae07c5e in PyRun_StringFlags (/sw/lib/python2.7/config/libpython2.7.dylib+0xd1c5e)
#12 0x10ade37c7 in PyEval_EvalFrameEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xad7c7)
#13 0x10adde1d1 in PyEval_EvalCodeEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xa81d1)
#14 0x10ade5cb4 in fast_function (/sw/lib/python2.7/config/libpython2.7.dylib+0xafcb4)
#15 0x10ade1da0 in PyEval_EvalFrameEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xabda0)
#16 0x10adde1d1 in PyEval_EvalCodeEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xa81d1)
#17 0x10ade5cb4 in fast_function (/sw/lib/python2.7/config/libpython2.7.dylib+0xafcb4)
#18 0x10ade1da0 in PyEval_EvalFrameEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xabda0)
#19 0x10adde1d1 in PyEval_EvalCodeEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xa81d1)
#20 0x10ad69b6b in function_call (/sw/lib/python2.7/config/libpython2.7.dylib+0x33b6b)
#21 0x10ad43f92 in PyObject_Call (/sw/lib/python2.7/config/libpython2.7.dylib+0xdf92)
#22 0x10ad440fa in PyObject_CallFunction (/sw/lib/python2.7/config/libpython2.7.dylib+0xe0fa)
#23 0x10d958b76 in PFlush(_PyMOLGlobals) (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x1e6b76)
#24 0x10df38be6 in PyMOL_Idle (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x7c6be6)
#25 0x10df270c3 in MainBusyIdle() (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x7b50c3)
#26 0x10f0ea10b in glutMainLoop (/sw/lib/freeglut2/libglut.3.dylib+0xc10b)
#27 0x10df23e61 in main_common() (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x7b1e61)
#28 0x10df24677 in main_shared(int) (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x7b2677)
#29 0x10df00bbe in CmdRunPyMOL(_object, _object) (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x78ebbe)
previously allocated by thread T0 here:
#0 0x10a051c44 in wrap_calloc (/sw/opt/llvm-3.6.0/lib/clang/3.6.0/lib/darwin/libclang_rt.asan_osx_dynamic.dylib+0x41c44)
#1 0x10df31d56 in PyMOL_NewWithOptions (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x7bfd56)
#2 0x10df2335b in main_common() (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x7b135b)
#3 0x10df24677 in main_shared(int) (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x7b2677)
#4 0x10df00bbe in CmdRunPyMOL(_object, _object) (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x78ebbe)
#5 0x10ade30f7 in PyEval_EvalFrameEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xad0f7)
#6 0x10adde1d1 in PyEval_EvalCodeEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xa81d1)
#7 0x10ade5cb4 in fast_function (/sw/lib/python2.7/config/libpython2.7.dylib+0xafcb4)
#8 0x10ade1da0 in PyEval_EvalFrameEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xabda0)
#9 0x10adde1d1 in PyEval_EvalCodeEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xa81d1)
#10 0x10adddbc5 in PyEval_EvalCode (/sw/lib/python2.7/config/libpython2.7.dylib+0xa7bc5)
#11 0x10ae07aa3 in PyRun_FileExFlags (/sw/lib/python2.7/config/libpython2.7.dylib+0xd1aa3)
#12 0x10ae07620 in PyRun_SimpleFileExFlags (/sw/lib/python2.7/config/libpython2.7.dylib+0xd1620)
#13 0x10ae1b377 in Py_Main (/sw/lib/python2.7/config/libpython2.7.dylib+0xe5377)
#14 0x7fff9050f5c8 in start (/usr/lib/system/libdyld.dylib+0x35c8)
#15 0x4 (<unknown module="">)</unknown>
SUMMARY: AddressSanitizer: heap-use-after-free ??:0 MainOnExit()
Shadow bytes around the buggy address:
0x1c2600002900: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x1c2600002910: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fa fa
0x1c2600002920: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd
0x1c2600002930: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x1c2600002940: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
=>0x1c2600002950: fd fd[fd]fd fd fd fa fa fa fa fa fa fa fa fa fa
0x1c2600002960: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x1c2600002970: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x1c2600002980: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fa fa
0x1c2600002990: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd
0x1c26000029a0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Heap right redzone: fb
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack partial redzone: f4
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Left alloca redzone: ca
Right alloca redzone: cb
==35839==ABORTING
The newly offending code is...
Has the memory used by SingletonPyMOLGlobals already been freed at this point?
should be fixed in svn rev 4111
At r4111, still seeing...
PyMOL(TM) Molecular Graphics System, Version 1.7.5.0.
Copyright (c) Schrodinger, LLC.
All Rights Reserved.
Hit ESC anytime to toggle between text and graphics.
Detected OpenGL version 2.0 or greater. Shaders available.
Detected GLSL version 1.20.
OpenGL graphics engine:
GL_VENDOR: ATI Technologies Inc.
GL_RENDERER: ATI Radeon HD 2600 OpenGL Engine
GL_VERSION: 2.1 ATI-10.0.28
Adjusting settings to improve performance for ATI cards.
Detected 8 CPU cores. Enabled multithreaded rendering.
PyMOL: normal program termination.
=================================================================
==1292==ERROR: AddressSanitizer: heap-use-after-free on address 0x613000014a90 at pc 0x00011100e49e bp 0x7fff52b01780 sp 0x7fff52b01778
READ of size 4 at 0x613000014a90 thread T0
#0 0x11100e49d in MainOnExit() (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x7af49d)
#1 0x7fff985f08ba in __cxa_finalize_ranges (/usr/lib/system/libsystem_c.dylib+0x5e8ba)
#2 0x7fff985f0bcf in exit (/usr/lib/system/libsystem_c.dylib+0x5ebcf)
#3 0x110a451ea in PExit(_PyMOLGlobals, int) (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x1e61ea)
#4 0x110fe6ddd in CmdQuit(_object, _object) (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x787ddd)
#5 0x10ded50f7 in PyEval_EvalFrameEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xad0f7)
#6 0x10ded01d1 in PyEval_EvalCodeEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xa81d1)
#7 0x10ded7cb4 in fast_function (/sw/lib/python2.7/config/libpython2.7.dylib+0xafcb4)
#8 0x10ded3da0 in PyEval_EvalFrameEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xabda0)
#9 0x10ded01d1 in PyEval_EvalCodeEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xa81d1)
#10 0x10decfbc5 in PyEval_EvalCode (/sw/lib/python2.7/config/libpython2.7.dylib+0xa7bc5)
#11 0x10def9c5e in PyRun_StringFlags (/sw/lib/python2.7/config/libpython2.7.dylib+0xd1c5e)
#12 0x10ded57c7 in PyEval_EvalFrameEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xad7c7)
#13 0x10ded01d1 in PyEval_EvalCodeEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xa81d1)
#14 0x10ded7cb4 in fast_function (/sw/lib/python2.7/config/libpython2.7.dylib+0xafcb4)
#15 0x10ded3da0 in PyEval_EvalFrameEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xabda0)
#16 0x10ded01d1 in PyEval_EvalCodeEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xa81d1)
#17 0x10ded7cb4 in fast_function (/sw/lib/python2.7/config/libpython2.7.dylib+0xafcb4)
#18 0x10ded3da0 in PyEval_EvalFrameEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xabda0)
#19 0x10ded01d1 in PyEval_EvalCodeEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xa81d1)
#20 0x10de5bb6b in function_call (/sw/lib/python2.7/config/libpython2.7.dylib+0x33b6b)
#21 0x10de35f92 in PyObject_Call (/sw/lib/python2.7/config/libpython2.7.dylib+0xdf92)
#22 0x10de360fa in PyObject_CallFunction (/sw/lib/python2.7/config/libpython2.7.dylib+0xe0fa)
#23 0x110a45c26 in PFlush(_PyMOLGlobals) (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x1e6c26)
#24 0x111025be6 in PyMOL_Idle (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x7c6be6)
#25 0x1110140c3 in MainBusyIdle() (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x7b50c3)
#26 0x1121d610b in glutMainLoop (/sw/lib/freeglut2/libglut.3.dylib+0xc10b)
#27 0x111010e61 in main_common() (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x7b1e61)
#28 0x111011677 in main_shared(int) (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x7b2677)
#29 0x110fedbae in CmdRunPyMOL(_object, _object) (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x78ebae)
#30 0x10ded50f7 in PyEval_EvalFrameEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xad0f7)
#31 0x10ded01d1 in PyEval_EvalCodeEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xa81d1)
#32 0x10ded7cb4 in fast_function (/sw/lib/python2.7/config/libpython2.7.dylib+0xafcb4)
#33 0x10ded3da0 in PyEval_EvalFrameEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xabda0)
#34 0x10ded01d1 in PyEval_EvalCodeEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xa81d1)
#35 0x10decfbc5 in PyEval_EvalCode (/sw/lib/python2.7/config/libpython2.7.dylib+0xa7bc5)
#36 0x10def9aa3 in PyRun_FileExFlags (/sw/lib/python2.7/config/libpython2.7.dylib+0xd1aa3)
#37 0x10def9620 in PyRun_SimpleFileExFlags (/sw/lib/python2.7/config/libpython2.7.dylib+0xd1620)
#38 0x10df0d377 in Py_Main (/sw/lib/python2.7/config/libpython2.7.dylib+0xe5377)
#39 0x7fff945395c8 in start (/usr/lib/system/libdyld.dylib+0x35c8)
#40 0x4 (<unknown module="">)</unknown>
0x613000014a90 is located 336 bytes inside of 368-byte region [0x613000014940,0x613000014ab0)
freed by thread T0 here:
#0 0x10d1428a0 in wrap_free (/sw/opt/llvm-3.6.0/lib/clang/3.6.0/lib/darwin/libclang_rt.asan_osx_dynamic.dylib+0x418a0)
#1 0x1110246ee in PyMOL_Free (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x7c56ee)
#2 0x11100f18a in MainFree() (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x7b018a)
#3 0x110a451dd in PExit(_PyMOLGlobals, int) (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x1e61dd)
#4 0x110fe6ddd in CmdQuit(_object, _object) (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x787ddd)
#5 0x10ded50f7 in PyEval_EvalFrameEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xad0f7)
#6 0x10ded01d1 in PyEval_EvalCodeEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xa81d1)
#7 0x10ded7cb4 in fast_function (/sw/lib/python2.7/config/libpython2.7.dylib+0xafcb4)
#8 0x10ded3da0 in PyEval_EvalFrameEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xabda0)
#9 0x10ded01d1 in PyEval_EvalCodeEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xa81d1)
#10 0x10decfbc5 in PyEval_EvalCode (/sw/lib/python2.7/config/libpython2.7.dylib+0xa7bc5)
#11 0x10def9c5e in PyRun_StringFlags (/sw/lib/python2.7/config/libpython2.7.dylib+0xd1c5e)
#12 0x10ded57c7 in PyEval_EvalFrameEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xad7c7)
#13 0x10ded01d1 in PyEval_EvalCodeEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xa81d1)
#14 0x10ded7cb4 in fast_function (/sw/lib/python2.7/config/libpython2.7.dylib+0xafcb4)
#15 0x10ded3da0 in PyEval_EvalFrameEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xabda0)
#16 0x10ded01d1 in PyEval_EvalCodeEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xa81d1)
#17 0x10ded7cb4 in fast_function (/sw/lib/python2.7/config/libpython2.7.dylib+0xafcb4)
#18 0x10ded3da0 in PyEval_EvalFrameEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xabda0)
#19 0x10ded01d1 in PyEval_EvalCodeEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xa81d1)
#20 0x10de5bb6b in function_call (/sw/lib/python2.7/config/libpython2.7.dylib+0x33b6b)
#21 0x10de35f92 in PyObject_Call (/sw/lib/python2.7/config/libpython2.7.dylib+0xdf92)
#22 0x10de360fa in PyObject_CallFunction (/sw/lib/python2.7/config/libpython2.7.dylib+0xe0fa)
#23 0x110a45c26 in PFlush(_PyMOLGlobals) (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x1e6c26)
#24 0x111025be6 in PyMOL_Idle (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x7c6be6)
#25 0x1110140c3 in MainBusyIdle() (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x7b50c3)
#26 0x1121d610b in glutMainLoop (/sw/lib/freeglut2/libglut.3.dylib+0xc10b)
#27 0x111010e61 in main_common() (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x7b1e61)
#28 0x111011677 in main_shared(int) (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x7b2677)
#29 0x110fedbae in CmdRunPyMOL(_object, _object) (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x78ebae)
previously allocated by thread T0 here:
#0 0x10d142c44 in wrap_calloc (/sw/opt/llvm-3.6.0/lib/clang/3.6.0/lib/darwin/libclang_rt.asan_osx_dynamic.dylib+0x41c44)
#1 0x11101ed56 in PyMOL_NewWithOptions (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x7bfd56)
#2 0x11101035b in main_common() (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x7b135b)
#3 0x111011677 in main_shared(int) (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x7b2677)
#4 0x110fedbae in CmdRunPyMOL(_object, _object) (/sw/lib/python2.7/site-packages/pymol/_cmd.so+0x78ebae)
#5 0x10ded50f7 in PyEval_EvalFrameEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xad0f7)
#6 0x10ded01d1 in PyEval_EvalCodeEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xa81d1)
#7 0x10ded7cb4 in fast_function (/sw/lib/python2.7/config/libpython2.7.dylib+0xafcb4)
#8 0x10ded3da0 in PyEval_EvalFrameEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xabda0)
#9 0x10ded01d1 in PyEval_EvalCodeEx (/sw/lib/python2.7/config/libpython2.7.dylib+0xa81d1)
#10 0x10decfbc5 in PyEval_EvalCode (/sw/lib/python2.7/config/libpython2.7.dylib+0xa7bc5)
#11 0x10def9aa3 in PyRun_FileExFlags (/sw/lib/python2.7/config/libpython2.7.dylib+0xd1aa3)
#12 0x10def9620 in PyRun_SimpleFileExFlags (/sw/lib/python2.7/config/libpython2.7.dylib+0xd1620)
#13 0x10df0d377 in Py_Main (/sw/lib/python2.7/config/libpython2.7.dylib+0xe5377)
#14 0x7fff945395c8 in start (/usr/lib/system/libdyld.dylib+0x35c8)
#15 0x4 (<unknown module="">)</unknown>
SUMMARY: AddressSanitizer: heap-use-after-free ??:0 MainOnExit()
Shadow bytes around the buggy address:
0x1c2600002900: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x1c2600002910: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fa fa
0x1c2600002920: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd
0x1c2600002930: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x1c2600002940: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
=>0x1c2600002950: fd fd[fd]fd fd fd fa fa fa fa fa fa fa fa fa fa
0x1c2600002960: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x1c2600002970: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
0x1c2600002980: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fa fa
0x1c2600002990: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd
0x1c26000029a0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Heap right redzone: fb
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack partial redzone: f4
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Left alloca redzone: ca
Right alloca redzone: cb
==1292==ABORTING
next attempt: SingletonPyMOLGlobalsNULL.patch
Thanks. The SingletonPyMOLGlobalsNULL patch solved the AddressSanitizer failure on quitting pymol...
PyMOL(TM) Molecular Graphics System, Version 1.7.5.0.
Copyright (c) Schrodinger, LLC.
All Rights Reserved.
Hit ESC anytime to toggle between text and graphics.
Detected OpenGL version 2.0 or greater. Shaders available.
Detected GLSL version 1.20.
OpenGL graphics engine:
GL_VENDOR: ATI Technologies Inc.
GL_RENDERER: ATI Radeon HD 2600 OpenGL Engine
GL_VERSION: 2.1 ATI-10.0.28
Adjusting settings to improve performance for ATI cards.
Detected 8 CPU cores. Enabled multithreaded rendering.
PyMOL: normal program termination.
SingletonPyMOLGlobalsNULL patch applied in svn rev 4112. Thanks Jack for testing.