common/gst.supp: add suppressions from Wim's Debian machine
[platform/upstream/gst-common.git] / gst.supp
1 ### this file contains suppressions for valgrind when running
2 ### the gstreamer unit tests
3 ### it might be useful for wider use as well
4
5 ### syscall suppressions
6
7 {
8    <clone on Wim's Debian>
9    Memcheck:Param
10    clone(parent_tidptr)
11    fun:clone
12    fun:clone
13 }
14
15 {
16    <clone on Wim's Debian>
17    Memcheck:Param
18    clone(tlsinfo)
19    fun:clone
20    fun:clone
21 }
22
23 ### glibc suppressions
24
25 # glibc does not deallocate thread-local storage
26
27 {
28    <tls>
29    Memcheck:Leak
30    fun:calloc
31    fun:_dl_allocate_tls
32    fun:pthread_create@@*
33 }
34
35 {
36    <pthread strstr>
37    Memcheck:Cond
38    fun:strstr
39    fun:__pthread_initialize_minimal
40    obj:/lib/libpthread-*.so
41    obj:/lib/libpthread-*.so
42    fun:call_init
43    fun:_dl_init
44    obj:/lib/ld-*.so
45 }
46
47 # a thread-related free problem in glibc from Edgard
48 {
49    __libc_freeres_rw_acess
50    Memcheck:Addr4
51    obj:*
52    obj:*
53    obj:*
54    obj:*
55    obj:*
56    fun:__libc_freeres
57 }
58
59 {
60    <a conditional jump on wim's debian>
61    Memcheck:Cond
62    obj:/lib/ld-2.3.5.so
63    obj:/lib/ld-2.3.5.so
64    obj:/lib/ld-2.3.5.so
65    obj:/lib/ld-2.3.5.so
66    obj:/lib/ld-2.3.5.so
67 }
68
69 # g_module_open-related problems
70 {
71    <g_module_open on wim's debian>
72    Memcheck:Cond
73    obj:/lib/ld-2.3.5.so
74    obj:/lib/ld-2.3.5.so
75    obj:/lib/ld-2.3.5.so
76    fun:do_sym
77    fun:_dl_sym
78    fun:dlsym_doit
79    obj:/lib/ld-2.3.5.so
80    fun:_dlerror_run
81    fun:dlsym
82    fun:g_module_symbol
83    fun:g_module_open
84    fun:gst_plugin_load_file
85 }
86
87 {
88    <g_module_open on wim's debian>
89    Memcheck:Cond
90    obj:/lib/ld-2.3.5.so
91    obj:/lib/ld-2.3.5.so
92    obj:/lib/ld-2.3.5.so
93    fun:dl_open_worker
94    obj:/lib/ld-2.3.5.so
95    fun:_dl_open
96    fun:dlopen_doit
97    obj:/lib/ld-2.3.5.so
98    fun:_dlerror_run
99    fun:dlopen@@GLIBC_2.1
100    fun:g_module_open
101    fun:gst_plugin_load_file
102 }
103 {
104    <g_module_open on wim's debian>
105    Memcheck:Cond
106    obj:/lib/ld-2.3.5.so
107    fun:dl_open_worker
108    obj:/lib/ld-2.3.5.so
109    fun:_dl_open
110    fun:dlopen_doit
111    obj:/lib/ld-2.3.5.so
112    fun:_dlerror_run
113    fun:dlopen@@GLIBC_2.1
114    fun:g_module_open
115    fun:gst_plugin_load_file
116    fun:gst_plugin_load_by_name
117    fun:gst_plugin_feature_load
118 }
119
120 {
121    <leak on wim's debian in g_module_open>
122    Memcheck:Leak
123    fun:malloc
124    obj:/lib/ld-2.3.5.so
125    fun:dl_open_worker
126    obj:/lib/ld-2.3.5.so
127    fun:_dl_open
128    fun:dlopen_doit
129    obj:/lib/ld-2.3.5.so
130    fun:_dlerror_run
131    fun:dlopen@@GLIBC_2.1
132    fun:g_module_open
133    fun:gst_plugin_load_file
134    fun:gst_plugin_load_by_name
135 }
136
137 {
138    <invalid read on wim's debian>
139    Memcheck:Addr4
140    obj:/lib/ld-2.3.5.so
141    obj:/lib/ld-2.3.5.so
142    obj:/lib/ld-2.3.5.so
143    obj:/lib/ld-2.3.5.so
144    obj:/lib/ld-2.3.5.so
145    obj:/lib/ld-2.3.5.so
146    obj:/lib/ld-2.3.5.so
147    fun:dl_open_worker
148    obj:/lib/ld-2.3.5.so
149    fun:_dl_open
150    fun:dlopen_doit
151    obj:/lib/ld-2.3.5.so
152 }
153
154 {
155    <invalid read on wim's debian>
156    Memcheck:Addr4
157    obj:/lib/ld-2.3.5.so
158    obj:/lib/ld-2.3.5.so
159    obj:/lib/ld-2.3.5.so
160    obj:/lib/ld-2.3.5.so
161    obj:/lib/ld-2.3.5.so
162    obj:/lib/ld-2.3.5.so
163    fun:dl_open_worker
164    obj:/lib/ld-2.3.5.so
165    fun:_dl_open
166    fun:dlopen_doit
167    obj:/lib/ld-2.3.5.so
168    fun:_dlerror_run
169 }
170
171 {
172    <futex on Andy's 64-bit ubuntu>
173    Memcheck:Param
174    futex(uaddr2)
175    fun:pthread_once
176    obj:/lib/libc-2.3.5.so
177    obj:/lib/libc-2.3.5.so
178    fun:mbsnrtowcs
179    fun:vfprintf
180    fun:vsprintf
181    fun:sprintf
182    obj:/lib/libc-2.3.5.so
183    fun:tmpfile
184    fun:setup_pipe
185    fun:setup_messaging_with_key
186    fun:setup_messaging
187 }
188
189 # valgrind doesn't allow me to specify a suppression for Addr1, Addr2, Addr4
190 # as Addr*, so 3 copies for that; and then 2 of each for that pesky memcpy
191 {
192    <Invalid read of size 1, 2, 4 on thomas's FC4>
193    Memcheck:Addr1
194    fun:_dl_signal_error
195    fun:_dl_map_object_deps
196    fun:dl_open_worker
197    fun:_dl_catch_error
198    fun:_dl_open
199    fun:dlopen_doit
200    fun:_dl_catch_error
201    fun:_dlerror_run
202    fun:dlopen@@GLIBC_2.1
203    fun:g_module_open
204 }
205
206 {
207    <Invalid read of size 1, 2, 4 on thomas's FC4>
208    Memcheck:Addr2
209    fun:_dl_signal_error
210    fun:_dl_map_object_deps
211    fun:dl_open_worker
212    fun:_dl_catch_error
213    fun:_dl_open
214    fun:dlopen_doit
215    fun:_dl_catch_error
216    fun:_dlerror_run
217    fun:dlopen@@GLIBC_2.1
218    fun:g_module_open
219 }
220 {
221    <Invalid read of size 1, 2, 4 on thomas's FC4>
222    Memcheck:Addr4
223    fun:_dl_signal_error
224    fun:_dl_map_object_deps
225    fun:dl_open_worker
226    fun:_dl_catch_error
227    fun:_dl_open
228    fun:dlopen_doit
229    fun:_dl_catch_error
230    fun:_dlerror_run
231    fun:dlopen@@GLIBC_2.1
232    fun:g_module_open
233 }
234
235 {
236    <Invalid read of size 1, 2, 4 on thomas's FC4>
237    Memcheck:Addr1
238    fun:memcpy
239    fun:_dl_signal_error
240    fun:_dl_map_object_deps
241    fun:dl_open_worker
242    fun:_dl_catch_error
243    fun:_dl_open
244    fun:dlopen_doit
245    fun:_dl_catch_error
246    fun:_dlerror_run
247    fun:dlopen@@GLIBC_2.1
248    fun:g_module_open
249 }
250
251 {
252    <Invalid read of size 1, 2, 4 on thomas's FC4>
253    Memcheck:Addr2
254    fun:memcpy
255    fun:_dl_signal_error
256    fun:_dl_map_object_deps
257    fun:dl_open_worker
258    fun:_dl_catch_error
259    fun:_dl_open
260    fun:dlopen_doit
261    fun:_dl_catch_error
262    fun:_dlerror_run
263    fun:dlopen@@GLIBC_2.1
264    fun:g_module_open
265 }
266 {
267    <Invalid read of size 1, 2, 4 on thomas's FC4>
268    Memcheck:Addr4
269    fun:memcpy
270    fun:_dl_signal_error
271    fun:_dl_map_object_deps
272    fun:dl_open_worker
273    fun:_dl_catch_error
274    fun:_dl_open
275    fun:dlopen_doit
276    fun:_dl_catch_error
277    fun:_dlerror_run
278    fun:dlopen@@GLIBC_2.1
279    fun:g_module_open
280 }
281
282 {
283    <Addr8 on Andy's AMD64 ubuntu in dl_open>
284    Memcheck:Addr8
285    obj:/lib/ld-2.3.5.so
286    obj:/lib/ld-2.3.5.so
287    obj:/lib/ld-2.3.5.so
288    obj:/lib/ld-2.3.5.so
289    obj:/lib/ld-2.3.5.so
290    obj:/lib/ld-2.3.5.so
291    obj:/lib/ld-2.3.5.so
292    obj:/lib/libc-2.3.5.so
293    obj:/lib/ld-2.3.5.so
294    fun:_dl_open
295    obj:/lib/libdl-2.3.5.so
296    obj:/lib/ld-2.3.5.so
297 }
298
299 {
300    <Conditional jump on Andy's AMD64 ubuntu>
301    Memcheck:Cond
302    obj:/lib/ld-2.3.5.so
303    obj:/lib/libc-2.3.5.so
304    obj:/lib/ld-2.3.5.so
305    fun:_dl_open
306    obj:/lib/libdl-2.3.5.so
307    obj:/lib/ld-2.3.5.so
308    obj:/lib/libdl-2.3.5.so
309    fun:dlopen
310    fun:g_module_open
311    fun:gst_plugin_load_file
312    fun:gst_plugin_load_by_name
313    fun:gst_plugin_feature_load
314 }
315
316
317
318 ### glib suppressions
319
320 {
321    <g_type_init malloc>
322    Memcheck:Leak
323    fun:malloc
324    fun:g_malloc
325    fun:g_strdup
326    fun:g_quark_from_string
327    obj:*
328    obj:*
329    fun:g_type_register_fundamental
330    obj:*
331    fun:g_type_init_with_debug_flags
332    fun:g_type_init
333    fun:init_pre
334 }
335
336 {
337    <g_type_init calloc>
338    Memcheck:Leak
339    fun:calloc
340    fun:g_malloc0
341    obj:*
342    obj:*
343    fun:g_type_register_fundamental
344 }
345
346 {
347    <g_type_init calloc 2>
348    Memcheck:Leak
349    fun:calloc
350    fun:g_malloc0
351    obj:*
352    obj:*
353    fun:g_type_init_with_debug_flags
354 }
355
356 ### GStreamer suppressions
357
358 # ds is saying he's rewriting the registry anyway
359 {
360    <registry>
361    Memcheck:Leak
362    fun:malloc
363    fun:g_malloc
364    fun:g_strdup
365    fun:read_string
366    fun:load_plugin
367    fun:gst_xml_registry_load
368    fun:gst_registry_load
369    fun:_registry_load_func
370    fun:g_list_foreach
371    fun:gst_registry_pool_load_all
372    fun:init_post
373    fun:init_popt_callback
374 }
375
376 #pthread memleaks
377
378 {
379    Thread creation leak
380    Memcheck:Leak
381    fun:calloc
382    fun:allocate_dtv
383    fun:_dl_allocate*
384    fun:_dl_allocate*
385    fun:__pthread_initialize_minimal
386 }
387
388 {
389    Thread management leak
390    Memcheck:Leak
391    fun:calloc
392    fun:allocate_dtv
393    fun:_dl_allocate*
394    fun:_dl_allocate*
395    fun:__pthread_*
396 }
397
398 {
399    Thread management leak 2
400    Memcheck:Leak
401    fun:memalign
402    fun:_dl_allocate*
403    fun:_dl_allocate*
404    fun:__pthread_*
405 }
406
407 {
408    pthread_create Syscall param write(buf) points to uninitialised byte(s)
409    Memcheck:Param
410    write(buf)
411    fun:pthread_create@@GLIBC_2.2.5
412    fun:g_thread_create*
413
414 }
415
416 # nss_parse_* memleak (used by g_option_context_parse)
417 {
418    nss_parse_* memleak
419    Memcheck:Leak
420    fun:malloc
421    fun:nss_parse_service_list
422    fun:__nss_database_lookup
423 }