Statistics
| Revision:

root / trunk / tests / valgrind.supp @ 1843

History | View | Annotate | Download (5.6 KB)

1
# Valgrind error suppression file
2

                
3
# ============================= libc ==================================
4

                
5
{
6
   ld.so initialization + selinux
7
   Memcheck:Leak
8
   ...
9
   fun:_dl_init
10
   obj:/lib/ld-*.so
11
}
12

                
13
{
14
   dlopen initialization, triggered by handle-leak-debug code
15
   Memcheck:Leak
16
   ...
17
   fun:__libc_dlopen_mode
18
   fun:init
19
   fun:backtrace
20
   fun:handle_leak_debug_bt
21
   fun:dynamic_ensure_handle
22
   fun:tp_handle_ensure
23
}
24

                
25
# default.supp has these for 2.10, but they're too specific
26
{
27
   Debian libc6 (2.10.x, 2.11.x) stripped dynamic linker
28
   Memcheck:Cond
29
   fun:index
30
   fun:expand_dynamic_string_token
31
   fun:_dl_map_object
32
   fun:map_doit
33
   fun:_dl_catch_error
34
   fun:do_preload
35
   fun:dl_main
36
   fun:_dl_sysdep_start
37
   fun:_dl_start
38
   obj:/lib/ld-*.so
39
}
40
{
41
   Debian libc6 (2.9.x - 2.11.x) stripped dynamic linker
42
   Memcheck:Cond
43
   fun:_dl_relocate_object
44
   fun:dl_main
45
   fun:_dl_sysdep_start
46
   fun:_dl_start
47
   obj:/lib/ld-*.so
48
}
49

                
50
{
51
   ld.so initialization on glibc 2.9
52
   Memcheck:Cond
53
   fun:strlen
54
   fun:_dl_init_paths
55
   fun:dl_main
56
   fun:_dl_sysdep_start
57
   fun:_dl_start
58
   obj:/lib/ld-2.9.so
59
}
60

                
61
# ======================= libselinux on Debian amd64 =====================
62

                
63
{
64
   I have no idea what SELinux is doing but it's not my problem
65
   Memcheck:Cond
66
   ...
67
   obj:/lib/libselinux.so.1
68
   obj:/lib/libselinux.so.1
69
   obj:/lib/libselinux.so.1
70
}
71

                
72
{
73
   I have no idea what SELinux is doing but it's not my problem
74
   Memcheck:Value8
75
   ...
76
   obj:/lib/libselinux.so.1
77
   obj:/lib/libselinux.so.1
78
   obj:/lib/libselinux.so.1
79
}
80

                
81
{
82
   I have no idea what SELinux is doing but it's not my problem
83
   Memcheck:Leak
84
   ...
85
   obj:/lib/libselinux.so.1
86
   obj:/lib/libselinux.so.1
87
   obj:/lib/libselinux.so.1
88
}
89

                
90
# ============================= GLib ==================================
91

                
92
{
93
   g_set_prgname copies its argument
94
   Memcheck:Leak
95
   ...
96
   fun:g_set_prgname
97
}
98

                
99
{
100
   one g_get_charset per child^Wprocess
101
   Memcheck:Leak
102
   ...
103
   fun:g_get_charset
104
}
105

                
106
{
107
   one g_get_home_dir per process
108
   Memcheck:Leak
109
   ...
110
   fun:g_get_home_dir
111
}
112

                
113
{
114
   one g_get_tmp_dir per process
115
   Memcheck:Leak
116
   ...
117
   fun:g_get_tmp_dir
118
}
119

                
120
{
121
   GQuarks can't be freed
122
   Memcheck:Leak
123
   ...
124
   fun:g_quark_from_static_string
125
}
126

                
127
{
128
   GQuarks can't be freed
129
   Memcheck:Leak
130
   ...
131
   fun:g_quark_from_string
132
}
133

                
134
{
135
   interned strings can't be freed
136
   Memcheck:Leak
137
   ...
138
   fun:g_intern_string
139
}
140

                
141
{
142
   interned strings can't be freed
143
   Memcheck:Leak
144
   ...
145
   fun:g_intern_static_string
146
}
147

                
148
{
149
   shared global default g_main_context
150
   Memcheck:Leak
151
   ...
152
   fun:g_main_context_new
153
   fun:g_main_context_default
154
}
155

                
156
{
157
   GTest initialization
158
   Memcheck:Leak
159
   ...
160
   fun:g_test_init
161
   fun:main
162
}
163

                
164
{
165
   GTest admin
166
   Memcheck:Leak
167
   ...
168
   fun:g_test_add_vtable
169
}
170

                
171
{
172
   GTest pseudorandomness
173
   Memcheck:Leak
174
   ...
175
   fun:g_rand_new_with_seed_array
176
   fun:test_run_seed
177
   fun:g_test_run_suite_internal
178
}
179

                
180
{
181
   GTest internal
182
   Memcheck:Leak
183
   ...
184
   fun:g_strdup
185
   fun:g_test_run_suite_internal
186
   fun:g_test_run_suite_internal
187
   fun:g_test_run_suite
188
}
189

                
190
{
191
   GSLice initialization
192
   Memcheck:Leak
193
   ...
194
   fun:g_malloc0
195
   fun:g_slice_init_nomessage
196
   fun:g_slice_alloc
197
}
198

                
199
# ============================= GObject ===============================
200

                
201
{
202
   g_type_init
203
   Memcheck:Leak
204
   ...
205
   fun:g_type_init
206
}
207

                
208
{
209
   g_type_init_with_debug_flags
210
   Memcheck:Leak
211
   ...
212
   fun:g_type_init_with_debug_flags
213
}
214

                
215
{
216
   g_type_register_static
217
   Memcheck:Leak
218
   ...
219
   fun:g_type_register_static
220
}
221

                
222
{
223
   g_type_add_interface_static
224
   Memcheck:Leak
225
   ...
226
   fun:g_type_add_interface_static
227
}
228

                
229
{
230
   initialization of interfaces
231
   Memcheck:Leak
232
   ...
233
   fun:type_iface_vtable_base_init_Wm
234
   fun:g_type_class_ref
235
}
236

                
237
{
238
   g_object_real_dispose
239
   Memcheck:Leak
240
   ...
241
   fun:g_data_initialize
242
   fun:g_datalist_id_set_data_full
243
   fun:g_object_real_dispose
244
}
245

                
246
{
247
   g_type_class_ref
248
   Memcheck:Leak
249
   ...
250
   fun:g_type_class_ref
251
   fun:g_object_newv
252
}
253

                
254
# ============================= GIO ===================================
255

                
256
{
257
   GIO init
258
   Memcheck:Leak
259
   ...
260
   fun:g_inet_address_class_intern_init
261
}
262

                
263
{
264
   g_simple_async_result class
265
   Memcheck:Leak
266
   ...
267
   fun:g_type_class_ref
268
   ...
269
   fun:g_simple_async_result_new
270
}
271

                
272
# ============================= dbus-glib =============================
273

                
274
{
275
   registering marshallers is permanent
276
   Memcheck:Leak
277
   ...
278
   fun:dbus_g_object_register_marshaller_array
279
   fun:dbus_g_object_register_marshaller
280
}
281

                
282
{
283
   dbus-glib specialized GTypes are permanent
284
   Memcheck:Leak
285
   ...
286
   fun:dbus_g_type_specialized_init
287
}
288

                
289
{
290
   libdbus shared connection
291
   Memcheck:Leak
292
   ...
293
   fun:dbus_g_bus_get
294
}
295

                
296
{
297
   dbus-gobject registrations aren't freed unless we fall off the bus
298
   Memcheck:Leak
299
   ...
300
   fun:g_slist_append
301
   fun:dbus_g_connection_register_g_object
302
}
303

                
304
{
305
   DBusGProxy slots aren't freed unless we fall off the bus
306
   Memcheck:Leak
307
   ...
308
   fun:dbus_connection_allocate_data_slot
309
   ...
310
   fun:dbus_g_proxy_constructor
311
}
312

                
313
{
314
   error registrations are for life, not just for Christmas
315
   Memcheck:Leak
316
   ...
317
   fun:dbus_g_error_domain_register
318
}
319

                
320
{
321
   DBusGProxy class init
322
   Memcheck:Leak
323
   ...
324
   fun:dbus_g_proxy_class_init
325
}
326

                
327
# =============================== nntpgrab ============================
328

                
329
{
330
   cached regex in nntpgrab_utils_strip_subject
331
   Memcheck:Leak
332
   ...
333
   fun:nntpgrab_utils_regex_compile
334
   fun:nntpgrab_utils_strip_subject
335
}
336

                
337

                
338
# ============================= questionable ==========================
339

                
340
{
341
   creating classes for instances (this is a pretty big hammer)
342
   Memcheck:Leak
343
   ...
344
   fun:g_type_class_ref
345
   ...
346
   fun:g_type_create_instance
347
   ...
348
   fun:g_param_spec_string
349
}