check.mak: add a .valgrind.gen-suppressions target to aid in generating suppressions
[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    <started showing up on fc4-quick>
72    Memcheck:Addr2
73    fun:memcpy
74    fun:_dl_map_object_deps
75    fun:dl_open_worker
76    fun:_dl_catch_error
77    fun:_dl_open
78    fun:dlopen_doit
79    fun:_dl_catch_error
80    fun:_dlerror_run
81    fun:dlopen@@GLIBC_2.1
82    fun:g_module_open
83    fun:gst_plugin_load_file
84    fun:gst_registry_scan_path_level
85    fun:gst_registry_scan_path_level
86    fun:gst_registry_scan_path_level
87    fun:init_post
88    fun:g_option_context_parse
89    fun:gst_init_check
90    fun:gst_init
91    fun:gst_check_init
92    fun:main
93 }
94
95 {
96    <started showing up on fc4-quick>
97    Memcheck:Addr4
98    fun:memcpy
99    fun:_dl_map_object_deps
100    fun:dl_open_worker
101    fun:_dl_catch_error
102    fun:_dl_open
103    fun:dlopen_doit
104    fun:_dl_catch_error
105    fun:_dlerror_run
106    fun:dlopen@@GLIBC_2.1
107    fun:g_module_open
108    fun:gst_plugin_load_file
109    fun:gst_registry_scan_path_level
110    fun:gst_registry_scan_path_level
111    fun:gst_registry_scan_path_level
112    fun:init_post
113    fun:g_option_context_parse
114    fun:gst_init_check
115    fun:gst_init
116    fun:gst_check_init
117    fun:main
118 }
119
120 {
121    <g_module_open on wim's debian>
122    Memcheck:Cond
123    obj:/lib/ld-2.3.5.so
124    obj:/lib/ld-2.3.5.so
125    obj:/lib/ld-2.3.5.so
126    fun:do_sym
127    fun:_dl_sym
128    fun:dlsym_doit
129    obj:/lib/ld-2.3.5.so
130    fun:_dlerror_run
131    fun:dlsym
132    fun:g_module_symbol
133    fun:g_module_open
134    fun:gst_plugin_load_file
135 }
136
137 {
138    <g_module_open on wim's debian>
139    Memcheck:Cond
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    fun:dl_open_worker
144    obj:/lib/ld-2.3.5.so
145    fun:_dl_open
146    fun:dlopen_doit
147    obj:/lib/ld-2.3.5.so
148    fun:_dlerror_run
149    fun:dlopen@@GLIBC_2.1
150    fun:g_module_open
151    fun:gst_plugin_load_file
152 }
153 {
154    <g_module_open on wim's debian>
155    Memcheck:Cond
156    obj:/lib/ld-2.3.5.so
157    fun:dl_open_worker
158    obj:/lib/ld-2.3.5.so
159    fun:_dl_open
160    fun:dlopen_doit
161    obj:/lib/ld-2.3.5.so
162    fun:_dlerror_run
163    fun:dlopen@@GLIBC_2.1
164    fun:g_module_open
165    fun:gst_plugin_load_file
166    fun:gst_plugin_load_by_name
167    fun:gst_plugin_feature_load
168 }
169
170 {
171    <leak on wim's debian in g_module_open>
172    Memcheck:Leak
173    fun:malloc
174    obj:/lib/ld-2.3.5.so
175    fun:dl_open_worker
176    obj:/lib/ld-2.3.5.so
177    fun:_dl_open
178    fun:dlopen_doit
179    obj:/lib/ld-2.3.5.so
180    fun:_dlerror_run
181    fun:dlopen@@GLIBC_2.1
182    fun:g_module_open
183    fun:gst_plugin_load_file
184    fun:gst_plugin_load_by_name
185 }
186
187 {
188    <invalid read on wim's debian>
189    Memcheck:Addr4
190    obj:/lib/ld-2.3.5.so
191    obj:/lib/ld-2.3.5.so
192    obj:/lib/ld-2.3.5.so
193    obj:/lib/ld-2.3.5.so
194    obj:/lib/ld-2.3.5.so
195    obj:/lib/ld-2.3.5.so
196    obj:/lib/ld-2.3.5.so
197    fun:dl_open_worker
198    obj:/lib/ld-2.3.5.so
199    fun:_dl_open
200    fun:dlopen_doit
201    obj:/lib/ld-2.3.5.so
202 }
203
204 {
205    <invalid read on wim's debian>
206    Memcheck:Addr4
207    obj:/lib/ld-2.3.5.so
208    obj:/lib/ld-2.3.5.so
209    obj:/lib/ld-2.3.5.so
210    obj:/lib/ld-2.3.5.so
211    obj:/lib/ld-2.3.5.so
212    obj:/lib/ld-2.3.5.so
213    fun:dl_open_worker
214    obj:/lib/ld-2.3.5.so
215    fun:_dl_open
216    fun:dlopen_doit
217    obj:/lib/ld-2.3.5.so
218    fun:_dlerror_run
219 }
220
221 {
222    <invalid read on wim's debian - 2006-02-02>
223    Memcheck:Addr4
224    obj:/lib/ld-2.3.5.so
225    obj:/lib/ld-2.3.5.so
226    obj:/lib/ld-2.3.5.so
227    fun:dl_open_worker
228    obj:/lib/ld-2.3.5.so
229    fun:_dl_open
230    fun:dlopen_doit
231    obj:/lib/ld-2.3.5.so
232    fun:_dlerror_run
233    fun:dlopen@@GLIBC_2.1
234    fun:g_module_open
235 }
236
237 {
238    <invalid read on wim's debian - 2006-02-02>
239    Memcheck:Addr4
240    obj:/lib/ld-2.3.5.so
241    obj:/lib/ld-2.3.5.so
242    fun:dl_open_worker
243    obj:/lib/ld-2.3.5.so
244    fun:_dl_open
245    fun:dlopen_doit
246    obj:/lib/ld-2.3.5.so
247    fun:_dlerror_run
248    fun:dlopen@@GLIBC_2.1
249    fun:g_module_open
250 }
251
252 {
253    <invalid read on wim's debian - 2006-02-02>
254    Memcheck:Addr4
255    obj:/lib/ld-2.3.5.so
256    obj:/lib/ld-2.3.5.so
257    obj:/lib/ld-2.3.5.so
258    fun:do_sym
259    fun:_dl_sym
260    fun:dlsym_doit
261    obj:/lib/ld-2.3.5.so
262    fun:_dlerror_run
263    fun:dlsym
264    fun:g_module_symbol
265    fun:g_module_open
266 }
267
268 {
269    <futex on Andy's 64-bit ubuntu>
270    Memcheck:Param
271    futex(uaddr2)
272    fun:pthread_once
273    obj:/lib/libc-2.3.5.so
274    obj:/lib/libc-2.3.5.so
275    fun:mbsnrtowcs
276    fun:vfprintf
277    fun:vsprintf
278    fun:sprintf
279    obj:/lib/libc-2.3.5.so
280    fun:tmpfile
281    fun:setup_pipe
282    fun:setup_messaging_with_key
283    fun:setup_messaging
284 }
285
286 # valgrind doesn't allow me to specify a suppression for Addr1, Addr2, Addr4
287 # as Addr*, so 3 copies for that; and then 2 of each for that pesky memcpy
288 {
289    <Invalid read of size 1, 2, 4 on thomas's FC4>
290    Memcheck:Addr1
291    fun:_dl_signal_error
292    fun:_dl_map_object_deps
293    fun:dl_open_worker
294    fun:_dl_catch_error
295    fun:_dl_open
296    fun:dlopen_doit
297    fun:_dl_catch_error
298    fun:_dlerror_run
299    fun:dlopen@@GLIBC_2.1
300    fun:g_module_open
301 }
302
303 {
304    <Invalid read of size 1, 2, 4 on thomas's FC4>
305    Memcheck:Addr2
306    fun:_dl_signal_error
307    fun:_dl_map_object_deps
308    fun:dl_open_worker
309    fun:_dl_catch_error
310    fun:_dl_open
311    fun:dlopen_doit
312    fun:_dl_catch_error
313    fun:_dlerror_run
314    fun:dlopen@@GLIBC_2.1
315    fun:g_module_open
316 }
317 {
318    <Invalid read of size 1, 2, 4 on thomas's FC4>
319    Memcheck:Addr4
320    fun:_dl_signal_error
321    fun:_dl_map_object_deps
322    fun:dl_open_worker
323    fun:_dl_catch_error
324    fun:_dl_open
325    fun:dlopen_doit
326    fun:_dl_catch_error
327    fun:_dlerror_run
328    fun:dlopen@@GLIBC_2.1
329    fun:g_module_open
330 }
331
332 {
333    <Invalid read of size 1, 2, 4 on thomas's FC4>
334    Memcheck:Addr1
335    fun:memcpy
336    fun:_dl_signal_error
337    fun:_dl_map_object_deps
338    fun:dl_open_worker
339    fun:_dl_catch_error
340    fun:_dl_open
341    fun:dlopen_doit
342    fun:_dl_catch_error
343    fun:_dlerror_run
344    fun:dlopen@@GLIBC_2.1
345    fun:g_module_open
346 }
347
348 {
349    <Invalid read of size 1, 2, 4 on thomas's FC4>
350    Memcheck:Addr2
351    fun:memcpy
352    fun:_dl_signal_error
353    fun:_dl_map_object_deps
354    fun:dl_open_worker
355    fun:_dl_catch_error
356    fun:_dl_open
357    fun:dlopen_doit
358    fun:_dl_catch_error
359    fun:_dlerror_run
360    fun:dlopen@@GLIBC_2.1
361    fun:g_module_open
362 }
363 {
364    <Invalid read of size 1, 2, 4 on thomas's FC4>
365    Memcheck:Addr4
366    fun:memcpy
367    fun:_dl_signal_error
368    fun:_dl_map_object_deps
369    fun:dl_open_worker
370    fun:_dl_catch_error
371    fun:_dl_open
372    fun:dlopen_doit
373    fun:_dl_catch_error
374    fun:_dlerror_run
375    fun:dlopen@@GLIBC_2.1
376    fun:g_module_open
377 }
378
379 {
380    <Addr8 on Andy's AMD64 ubuntu in dl_open>
381    Memcheck:Addr8
382    obj:/lib/ld-2.3.5.so
383    obj:/lib/ld-2.3.5.so
384    obj:/lib/ld-2.3.5.so
385    obj:/lib/ld-2.3.5.so
386    obj:/lib/ld-2.3.5.so
387    obj:/lib/ld-2.3.5.so
388    obj:/lib/ld-2.3.5.so
389    obj:/lib/libc-2.3.5.so
390    obj:/lib/ld-2.3.5.so
391    fun:_dl_open
392    obj:/lib/libdl-2.3.5.so
393    obj:/lib/ld-2.3.5.so
394 }
395
396 {
397    <Conditional jump on Andy's AMD64 ubuntu>
398    Memcheck:Cond
399    obj:/lib/ld-2.3.5.so
400    obj:/lib/libc-2.3.5.so
401    obj:/lib/ld-2.3.5.so
402    fun:_dl_open
403    obj:/lib/libdl-2.3.5.so
404    obj:/lib/ld-2.3.5.so
405    obj:/lib/libdl-2.3.5.so
406    fun:dlopen
407    fun:g_module_open
408    fun:gst_plugin_load_file
409    fun:gst_plugin_load_by_name
410    fun:gst_plugin_feature_load
411 }
412
413
414
415 ### glib suppressions
416
417 {
418    <g_type_init malloc>
419    Memcheck:Leak
420    fun:malloc
421    fun:g_malloc
422    fun:g_strdup
423    fun:g_quark_from_string
424    obj:*
425    obj:*
426    fun:g_type_register_fundamental
427    obj:*
428    fun:g_type_init_with_debug_flags
429    fun:g_type_init
430    fun:init_pre
431 }
432
433 {
434    <g_type_init calloc>
435    Memcheck:Leak
436    fun:calloc
437    fun:g_malloc0
438    obj:*
439    obj:*
440    fun:g_type_register_fundamental
441 }
442
443 {
444    <g_type_init calloc 2>
445    Memcheck:Leak
446    fun:calloc
447    fun:g_malloc0
448    obj:*
449    obj:*
450    fun:g_type_init_with_debug_flags
451 }
452
453 ### GStreamer suppressions
454
455 # ds is saying he's rewriting the registry anyway
456 {
457    <registry>
458    Memcheck:Leak
459    fun:malloc
460    fun:g_malloc
461    fun:g_strdup
462    fun:read_string
463    fun:load_plugin
464    fun:gst_xml_registry_load
465    fun:gst_registry_load
466    fun:_registry_load_func
467    fun:g_list_foreach
468    fun:gst_registry_pool_load_all
469    fun:init_post
470    fun:init_popt_callback
471 }
472
473 #pthread memleaks
474
475 {
476    Thread creation leak
477    Memcheck:Leak
478    fun:calloc
479    fun:allocate_dtv
480    fun:_dl_allocate*
481    fun:_dl_allocate*
482    fun:__pthread_initialize_minimal
483 }
484
485 {
486    Thread management leak
487    Memcheck:Leak
488    fun:calloc
489    fun:allocate_dtv
490    fun:_dl_allocate*
491    fun:_dl_allocate*
492    fun:__pthread_*
493 }
494
495 {
496    Thread management leak 2
497    Memcheck:Leak
498    fun:memalign
499    fun:_dl_allocate*
500    fun:_dl_allocate*
501    fun:__pthread_*
502 }
503
504 {
505    pthread_create Syscall param write(buf) points to uninitialised byte(s)
506    Memcheck:Param
507    write(buf)
508    fun:pthread_create@@GLIBC_2.2.5
509    fun:g_thread_create*
510
511 }
512
513 # nss_parse_* memleak (used by g_option_context_parse)
514 {
515    nss_parse_* memleak
516    Memcheck:Leak
517    fun:malloc
518    fun:nss_parse_service_list
519    fun:__nss_database_lookup
520 }
521
522 # liboil suppressions
523 {
524    <liboil cpu_fault_check_try>
525    Memcheck:Value8
526    obj:/usr/lib/liboil-0.3.so.0.1.0
527    obj:/usr/lib/liboil-0.3.so.0.1.0
528    obj:/usr/lib/liboil-0.3.so.0.1.0
529    fun:oil_cpu_fault_check_try
530    fun:oil_test_check_impl
531    fun:oil_class_optimize
532    fun:oil_optimize_all
533    fun:oil_init
534 }