Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
use the local copy of pybind11 if a local checkout exists
[simgrid.git] / tools / simgrid.supp
index d91f900..e71b44f 100644 (file)
@@ -1,16 +1,33 @@
 # Valgrind suppressions for stuff that we cannot control
 
-# Memory leak in dash
-# dash is actually used when checking the "mkfile" command in tesh
+# Memory leaks in standard tools (e.g. dash, tail, or sort)
 {
-   Memory leak in /bin/dash
+   Memory leak in /bin tools
    Memcheck:Leak
    ...
-   obj:/bin/dash
+   obj:/bin/*
+}
+
+{
+   Memory leak in /usr/bin tools
+   Memcheck:Leak
+   ...
+   obj:/usr/bin/*
+}
+
+{
+   Memory leak in cmake
+   Memcheck:Leak
+   match-leak-kinds:reachable
+   ...
+   fun:_ZN4Json5Value13nullSingletonEv
+   obj:*/libjsoncpp.so*
+   ...
+   fun:_dl_init
 }
 
 # There's a constant leak of 56 bytes in the depths of libc which
-# manifests, for example, when unsing backtrace()
+# manifests, for example, when using backtrace()
 {
    Memory leak in libc/dlopen with -pthread
    Memcheck:Leak
    fun:dlerror_run
    fun:__libc_dlopen_mode
 }
+
+# Another problem in glibc, where makecontext does not reset the EBP register,
+# and backtrace goes too far when walking up the stack frames
+{
+   Invalid read in backtrace, called after makecontext
+   Memcheck:Addr4
+   fun:backtrace
+   ...
+   fun:makecontext
+}
+
+#There seems to be an issue with libc using an uninitialized value somewhere in dlopen
+{
+   Invalid read in dl_start
+   Memcheck:Cond
+   fun:index
+   fun:expand_dynamic_string_token
+   ...
+   fun:_dl_start
+}
+
+# 72704 bytes leak from GCC >5.1 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64535
+{
+   Memory leak in dl_init
+   Memcheck:Leak
+   match-leak-kinds:reachable
+   fun:malloc
+   obj:/usr/lib/*/libstdc++.so.*
+   fun:call_init.part.0
+   ...
+   fun:_dl_init
+}
+
+#Ignore leaks in SMPI sample codes
+{
+   Leaks in SMPI sample codes
+   Memcheck:Leak
+   match-leak-kinds: all
+   fun:malloc
+   fun:smpi_simulated_main_
+}
+
+#SMPI leaks the dlopen handle used to load the program
+{
+   dlopen handle leaks (1/3)
+   Memcheck:Leak
+   match-leak-kinds:reachable
+   fun:malloc
+   ...
+   fun:dlopen@@GLIBC_*
+}
+
+{
+   dlopen handle leaks (2/3)
+   Memcheck:Leak
+   match-leak-kinds:reachable
+   fun:calloc
+   ...
+   fun:dlopen@@GLIBC_*
+}
+
+{
+   dlopen handle leaks (3/3)
+   Memcheck:Leak
+   match-leak-kinds:reachable
+   fun:realloc
+   ...
+   fun:dlopen@@GLIBC_*
+}
+
+# Memory leaks appearing to be in libcgraph.  They can be seen with the
+# following simple program:
+# ,----
+# | #include <stdio.h>
+# | #include <graphviz/cgraph.h>
+# | int main(int argc, char *argv[])
+# | {
+# |     if (argc == 1) {
+# |         printf("Usage: %s <dotfile>\n", argv[0]);
+# |         return 1;
+# |     }
+# |     Agraph_t *g;
+# |     FILE *inf = fopen(argv[1], "r");
+# |     g = agread(inf, 0);
+# |     fclose(inf);
+# |     agclose(g);
+# |     return 0;
+# | }
+# `----
+{
+   Memory leak in libcgraph (1/3)
+   Memcheck:Leak
+   fun:malloc
+   ...
+   obj:*/libcgraph.so*
+   fun:aaglex
+   fun:aagparse
+   fun:agconcat
+}
+{
+   Memory leak in libcgraph (2/3)
+   Memcheck:Leak
+   fun:calloc
+   ...
+   obj:*/libcgraph.so*
+   fun:aagparse
+   fun:agconcat
+}
+{
+   Memory leak in libcgraph (3/3)
+   Memcheck:Leak
+   fun:malloc
+   ...
+   fun:agnode
+   obj:*/libcgraph.so*
+   fun:aagparse
+   fun:agconcat
+}
+
+# We're not interested by memory leaks in the Lua interpreter
+{
+   Memory leak in lua
+   Memcheck:Leak
+   ...
+   fun:luaD_precall
+}
+
+# libunwind seems to be using msync poorly, thus triggering these
+# https://github.com/JuliaLang/julia/issues/4533
+{
+   msync unwind
+   Memcheck:Param
+   msync(start)
+   ...
+   obj:*/libpthread*.so
+   ...
+}
+
+{
+   ignore unwind cruft
+   Memcheck:Param
+   rt_sigprocmask(set)
+   ...
+   obj:/usr/lib/x86_64-linux-gnu/libunwind.so.*
+   ...
+}
+{
+   ignore unwind cruft
+   Memcheck:Param
+   msync(start)
+   ...
+   obj:/usr/lib/x86_64-linux-gnu/libunwind.so.*
+   ...
+}
+
+{
+   ignore unwind invalid reads
+   Memcheck:Addr8
+   fun:_Ux86_64_setcontext
+}
+
+# Java cruft
+{
+  JavaCruft 1
+  Memcheck:Addr4
+  ...
+  fun:_ZN9JavaCalls11call_helperEP9JavaValueP12methodHandleP17JavaCallArgumentsP6Thread
+  fun:JVM_DoPrivileged
+  ...
+}
+{
+   JavaCruft 2
+   Memcheck:Cond
+   ...
+   fun:_ZN13CompileBroker25invoke_compiler_on_methodEP11CompileTask
+   ...
+}
+
+{
+   Somewhere within the Java conditions and monitors
+   Memcheck:Cond
+   fun:MarsagliaXORV
+   ...
+}
+
+#ignore python cruft
+{
+   ignore python cruft 1
+   Memcheck:Cond
+   ...
+   obj:/usr/bin/python*
+}
+
+{
+   ignore python cruft 2
+   Memcheck:Addr4
+   ...
+   obj:/usr/bin/python*
+}
+
+{
+   ignore python cruft 3
+   Memcheck:Value8
+   ...
+   obj:/usr/bin/python*
+}