memory leak
Posted: Mon Aug 24, 2015 8:56 pm
Guys,
We have been cleaning up memory leaks in MMB. I think I got all that came from MMB and molmodel, but there is a problem remaining, apparently involving OpenMM. This one is quite insidious, in that I was unable to get a location in the source. At least it is completing the calculation and not hanging. Still, it is not nice behavior and I think still dangerous. I am appending the error output from valgrind. I am coming to see you on Monday so we can discuss then if you wish.
Thank you very much for your help. Memory leaks have caused me weeks of anguish.
Sam
[samuelf@ti31 build]$ valgrind --leak-check=full ./MMB_Debug
==29613== Memcheck, a memory error detector
==29613== Copyright (C) 2002-2012, and GNU GPL'd, by Julian Seward et al.
==29613== Using Valgrind-3.8.1 and LibVEX; rerun with -h for copyright info
==29613== Command: ./MMB_Debug
==29613==
Usage: MMB [options]
…
/home/samuelf/svn/RNAToolbox/trunk/src/Utils.cpp:30
/home/samuelf/svn/RNAToolbox/trunk/src/RNABuilder.cpp:234
==29613== Invalid free() / delete / delete[] / realloc()
==29613== at 0x4A06016: operator delete(void*) (vg_replace_malloc.c:480)
==29613== by 0x4336F1: __gnu_cxx::new_allocator<double>::deallocate(double*, unsigned long) (new_allocator.h:110)
==29613== by 0x431F4A: std::allocator_traits<std::allocator<double> >::deallocate(std::allocator<double>&, double*, unsigned long) (alloc_traits.h:386)
==29613== by 0x430603: std::_Vector_base<double, std::allocator<double> >::_M_deallocate(double*, unsigned long) (stl_vector.h:178)
==29613== by 0x42E742: std::_Vector_base<double, std::allocator<double> >::~_Vector_base() (stl_vector.h:160)
==29613== by 0x435DB4: std::vector<double, std::allocator<double> >::~vector() (stl_vector.h:425)
==29613== by 0x3000835EBC: __cxa_finalize (in /lib64/libc-2.12.so)
==29613== by 0x51465E5: ??? (in /pica/h1/samuelf/svn/RNAToolbox/trunk/build/libMMBlib_d.so)
==29613== by 0x529E1F0: ??? (in /pica/h1/samuelf/svn/RNAToolbox/trunk/build/libMMBlib_d.so)
==29613== by 0x3000835B21: exit (in /lib64/libc-2.12.so)
==29613== by 0x300081ED63: (below main) (in /lib64/libc-2.12.so)
==29613== Address 0xa5acd00 is 0 bytes inside a block of size 512 free'd
==29613== at 0x4A06016: operator delete(void*) (vg_replace_malloc.c:480)
==29613== by 0x4336F1: __gnu_cxx::new_allocator<double>::deallocate(double*, unsigned long) (new_allocator.h:110)
==29613== by 0x431F4A: std::allocator_traits<std::allocator<double> >::deallocate(std::allocator<double>&, double*, unsigned long) (alloc_traits.h:386)
==29613== by 0x430603: std::_Vector_base<double, std::allocator<double> >::_M_deallocate(double*, unsigned long) (stl_vector.h:178)
==29613== by 0x42E742: std::_Vector_base<double, std::allocator<double> >::~_Vector_base() (stl_vector.h:160)
==29613== by 0x435DB4: std::vector<double, std::allocator<double> >::~vector() (stl_vector.h:425)
==29613== by 0x3000835B21: exit (in /lib64/libc-2.12.so)
==29613== by 0x300081ED63: (below main) (in /lib64/libc-2.12.so)
==29613==
==29613==
==29613== HEAP SUMMARY:
==29613== in use at exit: 77,583 bytes in 122 blocks
==29613== total heap usage: 446,327 allocs, 446,206 frees, 106,746,632 bytes allocated
==29613==
==29613== 40 bytes in 1 blocks are definitely lost in loss record 29 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E96E89: registerSerializationProxies (SerializationProxyRegistration.cpp:114)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 40 bytes in 1 blocks are definitely lost in loss record 30 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E96F4C: registerSerializationProxies (SerializationProxyRegistration.cpp:119)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 40 bytes in 1 blocks are definitely lost in loss record 31 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E96FC1: registerSerializationProxies (SerializationProxyRegistration.cpp:122)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 40 bytes in 1 blocks are definitely lost in loss record 32 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E97120: registerSerializationProxies (SerializationProxyRegistration.cpp:131)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 40 bytes in 1 blocks are definitely lost in loss record 33 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E97147: registerSerializationProxies (SerializationProxyRegistration.cpp:132)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 40 bytes in 1 blocks are definitely lost in loss record 34 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E97258: registerSerializationProxies (SerializationProxyRegistration.cpp:139)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 40 bytes in 1 blocks are definitely lost in loss record 35 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E972A6: registerSerializationProxies (SerializationProxyRegistration.cpp:141)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 40 bytes in 1 blocks are definitely lost in loss record 36 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E972CD: registerSerializationProxies (SerializationProxyRegistration.cpp:142)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 40 bytes in 1 blocks are definitely lost in loss record 37 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E972F4: registerSerializationProxies (SerializationProxyRegistration.cpp:143)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 57 (40 direct, 17 indirect) bytes in 1 blocks are definitely lost in loss record 38 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E96E62: registerSerializationProxies (SerializationProxyRegistration.cpp:113)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 57 (40 direct, 17 indirect) bytes in 1 blocks are definitely lost in loss record 39 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E96F25: registerSerializationProxies (SerializationProxyRegistration.cpp:118)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 57 (40 direct, 17 indirect) bytes in 1 blocks are definitely lost in loss record 40 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E96FE8: registerSerializationProxies (SerializationProxyRegistration.cpp:123)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 57 (40 direct, 17 indirect) bytes in 1 blocks are definitely lost in loss record 41 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E9700F: registerSerializationProxies (SerializationProxyRegistration.cpp:124)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 57 (40 direct, 17 indirect) bytes in 1 blocks are definitely lost in loss record 42 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E97369: registerSerializationProxies (SerializationProxyRegistration.cpp:146)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 58 (40 direct, 18 indirect) bytes in 1 blocks are definitely lost in loss record 43 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E97195: registerSerializationProxies (SerializationProxyRegistration.cpp:134)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 59 (40 direct, 19 indirect) bytes in 1 blocks are definitely lost in loss record 44 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E96E14: registerSerializationProxies (SerializationProxyRegistration.cpp:111)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 59 (40 direct, 19 indirect) bytes in 1 blocks are definitely lost in loss record 45 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E96E3B: registerSerializationProxies (SerializationProxyRegistration.cpp:112)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 59 (40 direct, 19 indirect) bytes in 1 blocks are definitely lost in loss record 46 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E97084: registerSerializationProxies (SerializationProxyRegistration.cpp:127)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 59 (40 direct, 19 indirect) bytes in 1 blocks are definitely lost in loss record 47 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E970AB: registerSerializationProxies (SerializationProxyRegistration.cpp:128)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 59 (40 direct, 19 indirect) bytes in 1 blocks are definitely lost in loss record 48 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E970D2: registerSerializationProxies (SerializationProxyRegistration.cpp:129)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 59 (40 direct, 19 indirect) bytes in 1 blocks are definitely lost in loss record 49 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E970F9: registerSerializationProxies (SerializationProxyRegistration.cpp:130)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 59 (40 direct, 19 indirect) bytes in 1 blocks are definitely lost in loss record 50 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E9716E: registerSerializationProxies (SerializationProxyRegistration.cpp:133)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 59 (40 direct, 19 indirect) bytes in 1 blocks are definitely lost in loss record 51 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E971BC: registerSerializationProxies (SerializationProxyRegistration.cpp:135)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 59 (40 direct, 19 indirect) bytes in 1 blocks are definitely lost in loss record 52 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E9720A: registerSerializationProxies (SerializationProxyRegistration.cpp:137)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 60 (40 direct, 20 indirect) bytes in 1 blocks are definitely lost in loss record 53 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E96F9A: registerSerializationProxies (SerializationProxyRegistration.cpp:121)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 61 (40 direct, 21 indirect) bytes in 1 blocks are definitely lost in loss record 54 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E96EB0: registerSerializationProxies (SerializationProxyRegistration.cpp:115)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 61 (40 direct, 21 indirect) bytes in 1 blocks are definitely lost in loss record 55 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E96ED7: registerSerializationProxies (SerializationProxyRegistration.cpp:116)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 61 (40 direct, 21 indirect) bytes in 1 blocks are definitely lost in loss record 56 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E96EFE: registerSerializationProxies (SerializationProxyRegistration.cpp:117)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 61 (40 direct, 21 indirect) bytes in 1 blocks are definitely lost in loss record 57 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E9705D: registerSerializationProxies (SerializationProxyRegistration.cpp:126)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 61 (40 direct, 21 indirect) bytes in 1 blocks are definitely lost in loss record 58 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E9727F: registerSerializationProxies (SerializationProxyRegistration.cpp:140)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 64 (40 direct, 24 indirect) bytes in 1 blocks are definitely lost in loss record 59 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E96F73: registerSerializationProxies (SerializationProxyRegistration.cpp:120)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 64 (40 direct, 24 indirect) bytes in 1 blocks are definitely lost in loss record 60 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E97036: registerSerializationProxies (SerializationProxyRegistration.cpp:125)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 65 (40 direct, 25 indirect) bytes in 1 blocks are definitely lost in loss record 61 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E97342: registerSerializationProxies (SerializationProxyRegistration.cpp:145)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 67 (40 direct, 27 indirect) bytes in 1 blocks are definitely lost in loss record 62 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E97231: registerSerializationProxies (SerializationProxyRegistration.cpp:138)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 67 (40 direct, 27 indirect) bytes in 1 blocks are definitely lost in loss record 63 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E9731B: registerSerializationProxies (SerializationProxyRegistration.cpp:144)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 70 (40 direct, 30 indirect) bytes in 1 blocks are definitely lost in loss record 64 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E971E3: registerSerializationProxies (SerializationProxyRegistration.cpp:136)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 2,883 (128 direct, 2,755 indirect) bytes in 1 blocks are definitely lost in loss record 67 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7DB2C19: registerPlatforms() (Platform.cpp:64)
==29613== by 0x7DB4367: __static_initialization_and_destruction_0(int, int) (Platform.cpp:69)
==29613== by 0x7DB4383: _GLOBAL__sub_I_Platform.cpp (Platform.cpp:327)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== LEAK SUMMARY:
==29613== definitely lost: 1,568 bytes in 37 blocks
==29613== indirectly lost: 3,311 bytes in 84 blocks
==29613== possibly lost: 0 bytes in 0 blocks
==29613== still reachable: 72,704 bytes in 1 blocks
==29613== suppressed: 0 bytes in 0 blocks
==29613== Reachable blocks (those to which a pointer was found) are not shown.
==29613== To see them, rerun with: --leak-check=full --show-reachable=yes
==29613==
==29613== For counts of detected and suppressed errors, rerun with: -v
==29613== ERROR SUMMARY: 38 errors from 38 contexts (suppressed: 6 from 6)
[samuelf@ti31 build]$
We have been cleaning up memory leaks in MMB. I think I got all that came from MMB and molmodel, but there is a problem remaining, apparently involving OpenMM. This one is quite insidious, in that I was unable to get a location in the source. At least it is completing the calculation and not hanging. Still, it is not nice behavior and I think still dangerous. I am appending the error output from valgrind. I am coming to see you on Monday so we can discuss then if you wish.
Thank you very much for your help. Memory leaks have caused me weeks of anguish.
Sam
[samuelf@ti31 build]$ valgrind --leak-check=full ./MMB_Debug
==29613== Memcheck, a memory error detector
==29613== Copyright (C) 2002-2012, and GNU GPL'd, by Julian Seward et al.
==29613== Using Valgrind-3.8.1 and LibVEX; rerun with -h for copyright info
==29613== Command: ./MMB_Debug
==29613==
Usage: MMB [options]
…
/home/samuelf/svn/RNAToolbox/trunk/src/Utils.cpp:30
/home/samuelf/svn/RNAToolbox/trunk/src/RNABuilder.cpp:234
==29613== Invalid free() / delete / delete[] / realloc()
==29613== at 0x4A06016: operator delete(void*) (vg_replace_malloc.c:480)
==29613== by 0x4336F1: __gnu_cxx::new_allocator<double>::deallocate(double*, unsigned long) (new_allocator.h:110)
==29613== by 0x431F4A: std::allocator_traits<std::allocator<double> >::deallocate(std::allocator<double>&, double*, unsigned long) (alloc_traits.h:386)
==29613== by 0x430603: std::_Vector_base<double, std::allocator<double> >::_M_deallocate(double*, unsigned long) (stl_vector.h:178)
==29613== by 0x42E742: std::_Vector_base<double, std::allocator<double> >::~_Vector_base() (stl_vector.h:160)
==29613== by 0x435DB4: std::vector<double, std::allocator<double> >::~vector() (stl_vector.h:425)
==29613== by 0x3000835EBC: __cxa_finalize (in /lib64/libc-2.12.so)
==29613== by 0x51465E5: ??? (in /pica/h1/samuelf/svn/RNAToolbox/trunk/build/libMMBlib_d.so)
==29613== by 0x529E1F0: ??? (in /pica/h1/samuelf/svn/RNAToolbox/trunk/build/libMMBlib_d.so)
==29613== by 0x3000835B21: exit (in /lib64/libc-2.12.so)
==29613== by 0x300081ED63: (below main) (in /lib64/libc-2.12.so)
==29613== Address 0xa5acd00 is 0 bytes inside a block of size 512 free'd
==29613== at 0x4A06016: operator delete(void*) (vg_replace_malloc.c:480)
==29613== by 0x4336F1: __gnu_cxx::new_allocator<double>::deallocate(double*, unsigned long) (new_allocator.h:110)
==29613== by 0x431F4A: std::allocator_traits<std::allocator<double> >::deallocate(std::allocator<double>&, double*, unsigned long) (alloc_traits.h:386)
==29613== by 0x430603: std::_Vector_base<double, std::allocator<double> >::_M_deallocate(double*, unsigned long) (stl_vector.h:178)
==29613== by 0x42E742: std::_Vector_base<double, std::allocator<double> >::~_Vector_base() (stl_vector.h:160)
==29613== by 0x435DB4: std::vector<double, std::allocator<double> >::~vector() (stl_vector.h:425)
==29613== by 0x3000835B21: exit (in /lib64/libc-2.12.so)
==29613== by 0x300081ED63: (below main) (in /lib64/libc-2.12.so)
==29613==
==29613==
==29613== HEAP SUMMARY:
==29613== in use at exit: 77,583 bytes in 122 blocks
==29613== total heap usage: 446,327 allocs, 446,206 frees, 106,746,632 bytes allocated
==29613==
==29613== 40 bytes in 1 blocks are definitely lost in loss record 29 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E96E89: registerSerializationProxies (SerializationProxyRegistration.cpp:114)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 40 bytes in 1 blocks are definitely lost in loss record 30 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E96F4C: registerSerializationProxies (SerializationProxyRegistration.cpp:119)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 40 bytes in 1 blocks are definitely lost in loss record 31 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E96FC1: registerSerializationProxies (SerializationProxyRegistration.cpp:122)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 40 bytes in 1 blocks are definitely lost in loss record 32 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E97120: registerSerializationProxies (SerializationProxyRegistration.cpp:131)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 40 bytes in 1 blocks are definitely lost in loss record 33 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E97147: registerSerializationProxies (SerializationProxyRegistration.cpp:132)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 40 bytes in 1 blocks are definitely lost in loss record 34 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E97258: registerSerializationProxies (SerializationProxyRegistration.cpp:139)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 40 bytes in 1 blocks are definitely lost in loss record 35 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E972A6: registerSerializationProxies (SerializationProxyRegistration.cpp:141)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 40 bytes in 1 blocks are definitely lost in loss record 36 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E972CD: registerSerializationProxies (SerializationProxyRegistration.cpp:142)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 40 bytes in 1 blocks are definitely lost in loss record 37 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E972F4: registerSerializationProxies (SerializationProxyRegistration.cpp:143)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 57 (40 direct, 17 indirect) bytes in 1 blocks are definitely lost in loss record 38 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E96E62: registerSerializationProxies (SerializationProxyRegistration.cpp:113)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 57 (40 direct, 17 indirect) bytes in 1 blocks are definitely lost in loss record 39 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E96F25: registerSerializationProxies (SerializationProxyRegistration.cpp:118)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 57 (40 direct, 17 indirect) bytes in 1 blocks are definitely lost in loss record 40 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E96FE8: registerSerializationProxies (SerializationProxyRegistration.cpp:123)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 57 (40 direct, 17 indirect) bytes in 1 blocks are definitely lost in loss record 41 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E9700F: registerSerializationProxies (SerializationProxyRegistration.cpp:124)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 57 (40 direct, 17 indirect) bytes in 1 blocks are definitely lost in loss record 42 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E97369: registerSerializationProxies (SerializationProxyRegistration.cpp:146)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 58 (40 direct, 18 indirect) bytes in 1 blocks are definitely lost in loss record 43 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E97195: registerSerializationProxies (SerializationProxyRegistration.cpp:134)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 59 (40 direct, 19 indirect) bytes in 1 blocks are definitely lost in loss record 44 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E96E14: registerSerializationProxies (SerializationProxyRegistration.cpp:111)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 59 (40 direct, 19 indirect) bytes in 1 blocks are definitely lost in loss record 45 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E96E3B: registerSerializationProxies (SerializationProxyRegistration.cpp:112)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 59 (40 direct, 19 indirect) bytes in 1 blocks are definitely lost in loss record 46 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E97084: registerSerializationProxies (SerializationProxyRegistration.cpp:127)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 59 (40 direct, 19 indirect) bytes in 1 blocks are definitely lost in loss record 47 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E970AB: registerSerializationProxies (SerializationProxyRegistration.cpp:128)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 59 (40 direct, 19 indirect) bytes in 1 blocks are definitely lost in loss record 48 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E970D2: registerSerializationProxies (SerializationProxyRegistration.cpp:129)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 59 (40 direct, 19 indirect) bytes in 1 blocks are definitely lost in loss record 49 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E970F9: registerSerializationProxies (SerializationProxyRegistration.cpp:130)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 59 (40 direct, 19 indirect) bytes in 1 blocks are definitely lost in loss record 50 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E9716E: registerSerializationProxies (SerializationProxyRegistration.cpp:133)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 59 (40 direct, 19 indirect) bytes in 1 blocks are definitely lost in loss record 51 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E971BC: registerSerializationProxies (SerializationProxyRegistration.cpp:135)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 59 (40 direct, 19 indirect) bytes in 1 blocks are definitely lost in loss record 52 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E9720A: registerSerializationProxies (SerializationProxyRegistration.cpp:137)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 60 (40 direct, 20 indirect) bytes in 1 blocks are definitely lost in loss record 53 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E96F9A: registerSerializationProxies (SerializationProxyRegistration.cpp:121)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 61 (40 direct, 21 indirect) bytes in 1 blocks are definitely lost in loss record 54 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E96EB0: registerSerializationProxies (SerializationProxyRegistration.cpp:115)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 61 (40 direct, 21 indirect) bytes in 1 blocks are definitely lost in loss record 55 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E96ED7: registerSerializationProxies (SerializationProxyRegistration.cpp:116)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 61 (40 direct, 21 indirect) bytes in 1 blocks are definitely lost in loss record 56 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E96EFE: registerSerializationProxies (SerializationProxyRegistration.cpp:117)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 61 (40 direct, 21 indirect) bytes in 1 blocks are definitely lost in loss record 57 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E9705D: registerSerializationProxies (SerializationProxyRegistration.cpp:126)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 61 (40 direct, 21 indirect) bytes in 1 blocks are definitely lost in loss record 58 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E9727F: registerSerializationProxies (SerializationProxyRegistration.cpp:140)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 64 (40 direct, 24 indirect) bytes in 1 blocks are definitely lost in loss record 59 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E96F73: registerSerializationProxies (SerializationProxyRegistration.cpp:120)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 64 (40 direct, 24 indirect) bytes in 1 blocks are definitely lost in loss record 60 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E97036: registerSerializationProxies (SerializationProxyRegistration.cpp:125)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 65 (40 direct, 25 indirect) bytes in 1 blocks are definitely lost in loss record 61 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E97342: registerSerializationProxies (SerializationProxyRegistration.cpp:145)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 67 (40 direct, 27 indirect) bytes in 1 blocks are definitely lost in loss record 62 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E97231: registerSerializationProxies (SerializationProxyRegistration.cpp:138)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 67 (40 direct, 27 indirect) bytes in 1 blocks are definitely lost in loss record 63 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E9731B: registerSerializationProxies (SerializationProxyRegistration.cpp:144)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 70 (40 direct, 30 indirect) bytes in 1 blocks are definitely lost in loss record 64 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7E971E3: registerSerializationProxies (SerializationProxyRegistration.cpp:136)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== 2,883 (128 direct, 2,755 indirect) bytes in 1 blocks are definitely lost in loss record 67 of 68
==29613== at 0x4A075FC: operator new(unsigned long) (vg_replace_malloc.c:298)
==29613== by 0x7DB2C19: registerPlatforms() (Platform.cpp:64)
==29613== by 0x7DB4367: __static_initialization_and_destruction_0(int, int) (Platform.cpp:69)
==29613== by 0x7DB4383: _GLOBAL__sub_I_Platform.cpp (Platform.cpp:327)
==29613== by 0x7F4DB05: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613== by 0x7CDBA4A: ??? (in /pica/h1/samuelf/openmm/lib/libOpenMM.so)
==29613==
==29613== LEAK SUMMARY:
==29613== definitely lost: 1,568 bytes in 37 blocks
==29613== indirectly lost: 3,311 bytes in 84 blocks
==29613== possibly lost: 0 bytes in 0 blocks
==29613== still reachable: 72,704 bytes in 1 blocks
==29613== suppressed: 0 bytes in 0 blocks
==29613== Reachable blocks (those to which a pointer was found) are not shown.
==29613== To see them, rerun with: --leak-check=full --show-reachable=yes
==29613==
==29613== For counts of detected and suppressed errors, rerun with: -v
==29613== ERROR SUMMARY: 38 errors from 38 contexts (suppressed: 6 from 6)
[samuelf@ti31 build]$