Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Reduces the amount of build env leaked in the binaries (see #39)
[simgrid.git] / tools / simgrid.supp
1 # Valgrind suppressions for stuff that we cannot control
2
3 # Memory leaks in standard tools (e.g. dash, tail, or sort)
4 {
5    Memory leak in /bin tools
6    Memcheck:Leak
7    ...
8    obj:/bin/*
9 }
10
11 {
12    Memory leak in /usr/bin tools
13    Memcheck:Leak
14    ...
15    obj:/usr/bin/*
16 }
17
18 {
19    Memory leak in cmake
20    Memcheck:Leak
21    ...
22    obj:cmake
23 }
24
25 # There's a constant leak of 56 bytes in the depths of libc which
26 # manifests, for example, when using backtrace()
27 {
28    Memory leak in libc/dlopen with -pthread
29    Memcheck:Leak
30    fun:malloc
31    fun:_dl_map_object_deps
32    fun:dl_open_worker
33    fun:_dl_catch_error
34    fun:_dl_open
35    fun:do_dlopen
36    fun:_dl_catch_error
37    fun:dlerror_run
38    fun:__libc_dlopen_mode
39 }
40
41 # Another problem in glibc, where makecontext does not reset the EBP register,
42 # and backtrace goes too far when walking up the stack frames
43 {
44    Invalid read in backtrace, called after makecontext
45    Memcheck:Addr4
46    fun:backtrace
47    ...
48    fun:makecontext
49 }
50
51 #There seems to be an issue with libc using an uninitialized value somewhere in dlopen
52 {
53    Invalid read in dl_start
54    Memcheck:Cond
55    fun:index
56    fun:expand_dynamic_string_token
57    ...
58    fun:_dl_start
59 }
60
61 # 72704 bytes leak from GCC >5.1 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64535
62 {
63    Memory leak in dl_init
64    Memcheck:Leak
65    match-leak-kinds:reachable
66    fun:malloc
67    obj:/usr/lib/*/libstdc++.so.*
68    fun:call_init.part.0
69    ...
70    fun:_dl_init
71 }
72
73 #Ignore leaks in SMPI sample codes
74 {
75    Leaks in SMPI sample codes
76    Memcheck:Leak
77    match-leak-kinds: all
78    fun:malloc
79    fun:smpi_simulated_main_
80 }
81
82 #SMPI leaks the dlopen handle used to load the program
83 {
84    dlopen handle leaks (1/2)
85    Memcheck:Leak
86    match-leak-kinds:reachable
87    fun:malloc
88    ...
89    fun:dlopen@@GLIBC_*
90 }
91
92 {
93    dlopen handle leaks (2/2)
94    Memcheck:Leak
95    match-leak-kinds:reachable
96    fun:calloc
97    ...
98    fun:dlopen@@GLIBC_*
99 }
100
101 # Memory leaks appearing to be in libcgraph.  They can be seen with the
102 # following simple program:
103 # ,----
104 # | #include <stdio.h>
105 # | #include <graphviz/cgraph.h>
106 # | int main(int argc, char *argv[])
107 # | {
108 # |     if (argc == 1) {
109 # |         printf("Usage: %s <dotfile>\n", argv[0]);
110 # |         return 1;
111 # |     }
112 # |     Agraph_t *g;
113 # |     FILE *inf = fopen(argv[1], "r");
114 # |     g = agread(inf, 0);
115 # |     fclose(inf);
116 # |     agclose(g);
117 # |     return 0;
118 # | }
119 # `----
120 {
121    Memory leak in libcgraph (1/2)
122    Memcheck:Leak
123    fun:malloc
124    ...
125    obj:/usr/lib/libcgraph.so*
126    fun:aaglex
127    fun:aagparse
128    fun:agconcat
129 }
130 {
131    Memory leak in libcgraph (1/2)
132    Memcheck:Leak
133    fun:calloc
134    ...
135    obj:/usr/lib/libcgraph.so*
136    fun:aagparse
137    fun:agconcat
138 }
139 {
140    Memory leak in libcgraph (2/2)
141    Memcheck:Leak
142    fun:malloc
143    ...
144    fun:agnode
145    obj:/usr/lib/libcgraph.so*
146    fun:aagparse
147    fun:agconcat
148 }
149
150 # We're not interested by memory leaks in the Lua interpreter
151 {
152    Memory leak in lua
153    Memcheck:Leak
154    ...
155    fun:luaD_precall
156 }
157
158 # libunwind seems to be using msync poorly, thus triggering these
159 # https://github.com/JuliaLang/julia/issues/4533
160 {
161    msync unwind
162    Memcheck:Param
163    msync(start)
164    ...
165    obj:*/libpthread*.so
166    ...
167 }
168
169 {
170    ignore unwind cruft 
171    Memcheck:Param
172    rt_sigprocmask(set)
173    ...
174    obj:/usr/lib/x86_64-linux-gnu/libunwind.so.*
175    ...
176 }
177 {
178    ignore unwind cruft 
179    Memcheck:Param
180    msync(start)
181    ...
182    obj:/usr/lib/x86_64-linux-gnu/libunwind.so.*
183    ...
184 }
185  
186 {
187    ignore unwind invalid reads 
188    Memcheck:Addr8
189    fun:_Ux86_64_setcontext
190 }
191
192 # Java cruft
193 {
194   JavaCruft 1
195   Memcheck:Addr4
196   ...
197   fun:_ZN9JavaCalls11call_helperEP9JavaValueP12methodHandleP17JavaCallArgumentsP6Thread
198   fun:JVM_DoPrivileged
199   ...
200 }
201 {
202    JavaCruft 2
203    Memcheck:Cond
204    ...
205    fun:_ZN13CompileBroker25invoke_compiler_on_methodEP11CompileTask
206    ...
207 }
208
209 {
210    Somewhere within the Java conditions and monitors
211    Memcheck:Cond
212    fun:MarsagliaXORV
213    ...
214 }