Logo AND Algorithmique Numérique Distribuée

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