Hello, "make check" doesn't report any single memory leak under valgrind anymore in trunk... except those from external libs such as libpci and libxml. I created the attached suppressions file to hide them when valgrind'ing hwloc programs. Just pass --suppressions=hwloc.supp to valgrind.
For the record, the reason we need this is: * libpci and libxml use libz, which initializes global state without ever freeing it. * libxml only frees it global state in xmlCleanupParser(), but we stopped calling it in hwloc because the program may still be using libxml when hwloc stops using it. Should we ship this suppressions file in the tarball? At least having it somewhere online may be a good idea? Brice
{ zlib doesn't cleanup Memcheck:Cond fun:inflateReset2 fun:inflateInit2_ } { hwloc cannot free the global parser (xmlCleanupParser) because other threads may be using it Memcheck:Leak ... fun:xmlInitParser } { hwloc cannot free the global xml dict RMutex because it cannot call xmlCleanupParser Memcheck:Leak fun:malloc fun:xmlNewRMutex ... fun:xmlDictCreate }