(Observed with valgrind 3.2.1, fixed in 3.2.3)
Valgrind 3.2.1 sometimes produces supressions that don't work, like this:

{
  <insert a suppression name here>
  Memcheck:Free
  fun:_vgrZU_libcZdsoZa_free
  fun:main
}

The identifying characteristic is that they begin with fun:_vg<something>

http://article.gmane.org/gmane.comp.debugging.valgrind/5939 explains what these symbols are.

The workaround is to replace fun:vg*_lib*<something> with fun:<something>, where something
should be a valid C or C++ mangled symbol.

The following test program demonstrates the problem

#include <stdlib.h>
int main(int argc,char**argv) {
   char*p = malloc(10);
   free(p);
   free(p);
}
  • No labels