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(child_tidptr)
19   fun:clone
20   fun:clone
21}
22
23{
24   <clone on Wim's Debian>
25   Memcheck:Param
26   clone(tlsinfo)
27   fun:clone
28   fun:clone
29}
30
31# a thread-related free problem in glibc from Edgard
32{
33   __libc_freeres_rw_acess
34   Memcheck:Addr4
35   obj:*
36   obj:*
37   obj:*
38   obj:*
39   obj:*
40   fun:__libc_freeres
41}
42
43{
44   <futex on Andy's 64-bit ubuntu>
45   Memcheck:Param
46   futex(uaddr2)
47   fun:pthread_once
48   obj:/lib/libc-2.3.*.so
49   obj:/lib/libc-2.3.*.so
50   fun:mbsnrtowcs
51   fun:vfprintf
52   fun:vsprintf
53   fun:sprintf
54   obj:/lib/libc-2.3.*.so
55   fun:tmpfile
56   fun:setup_pipe
57   fun:setup_messaging_with_key
58   fun:setup_messaging
59}
60
61# suppression for a glibc bug:
62# http://valgrind.org/docs/manual/faq.html#faq.exit_errors>
63{
64   <Workaround for a glibc bug>
65   Memcheck:Free
66   fun:free
67   obj:*libc-*.so
68   fun:__libc_freeres
69   fun:*
70   fun:_Exit
71}
72
73# same as above, just so it works for tpm on gutsy/x86-64
74{
75   <workaround glibc bug on gutsy x86-64>
76   Memcheck:Free
77   fun:free
78   fun:free_mem
79   fun:__libc_freeres
80}
81
82### glib suppressions
83{
84   <g_parse_debug_string>
85   Memcheck:Cond
86   fun:g_parse_debug_string
87   obj:/usr/lib*/libglib-2.0.so.*
88   fun:g_slice_alloc
89   fun:g_slice_alloc0
90}
91
92{
93   <g_type_init leaks>
94   Memcheck:Leak
95   fun:*alloc
96   ...
97   fun:g_type_init*
98   fun:init_pre*
99}
100
101{
102   <g_type_register_fundamental leaks>
103   Memcheck:Leak
104   fun:*alloc
105   ...
106   fun:g_type_register_fundamental
107}
108
109{
110   <glib 2.21 static type data>
111   Memcheck:Leak
112   fun:malloc
113   fun:realloc
114   fun:g_realloc
115   fun:type_node_any_new_W
116}
117
118{
119   <glib 2.21 static type data>
120   Memcheck:Leak
121   fun:realloc
122   fun:g_realloc
123   fun:type_node_any_new_W
124}
125
126{
127   <glib 2.21 static type data>
128   Memcheck:Leak
129   fun:calloc
130   fun:g_malloc0
131   fun:g_type_class_ref
132}
133
134{
135   <glib 2.21 static type data>
136   Memcheck:Leak
137   fun:malloc
138   fun:realloc
139   fun:g_realloc
140   fun:type_add_flags_W
141}
142
143{
144   <glib 2.21 static type data>
145   Memcheck:Leak
146   fun:calloc
147   fun:g_malloc0
148   fun:type_add_flags_W
149}
150
151#pthread memleaks
152
153{
154   pthread_create Syscall param write(buf) points to uninitialised byte(s)
155   Memcheck:Param
156   write(buf)
157   fun:pthread_create@@GLIBC_2.2.5
158   fun:g_thread_create*
159
160}
161
162# nss_parse_* memleak (used by g_option_context_parse)
163{
164   nss_parse_* memleak
165   Memcheck:Leak
166   fun:malloc
167   fun:nss_parse_service_list
168   fun:__nss_database_lookup
169}
170
171# liboil suppressions
172{
173   <liboil cpu_fault_check_try>
174   Memcheck:Value8
175   obj:/usr/lib/liboil-0.3.so.0.1.0
176   obj:/usr/lib/liboil-0.3.so.0.1.0
177   obj:/usr/lib/liboil-0.3.so.0.1.0
178   fun:oil_cpu_fault_check_try
179   fun:oil_test_check_impl
180   fun:oil_class_optimize
181   fun:oil_optimize_all
182   fun:oil_init
183}
184
185{
186   <Ubuntu Dapper x86_64>
187   Memcheck:Param
188   futex(uaddr2)
189   fun:pthread_once
190   obj:/lib/libc-2.3.6.so
191   obj:/lib/libc-2.3.6.so
192   fun:setlocale
193   fun:init_pre
194   fun:g_option_context_parse
195   fun:gst_init_check
196   fun:gst_init
197   fun:gst_check_init
198   fun:main
199}
200
201{
202   <libcdio 0.76 leak>
203   Memcheck:Leak
204   fun:calloc
205   obj:/usr/lib/libcdio.so.6.0.1
206   fun:cdio_open_am_linux
207   obj:/usr/lib/libcdio.so.6.0.1
208   fun:cdio_open_am
209}
210
211{
212   <First of many Alsa errors>
213   Memcheck:Cond
214   fun:snd_pcm_direct_shm_create_or_connect
215   fun:snd_pcm_dsnoop_open
216   fun:_snd_pcm_dsnoop_open
217   obj:/*lib/libasound.so.2.0.0
218   obj:/*lib/libasound.so.2.0.0
219   fun:snd_pcm_open_slave
220   fun:_snd_pcm_plug_open
221   obj:/*lib/libasound.so.2.0.0
222   fun:snd_pcm_open_slave
223   fun:_snd_pcm_asym_open
224   obj:/*lib/libasound.so.2.0.0
225   obj:/*lib/libasound.so.2.0.0
226}
227
228{
229   <alsa error>
230   Memcheck:Cond
231   fun:snd*_pcm_hw_param_set_near
232}
233
234{
235   <alsa error>
236   Memcheck:Cond
237   ...
238   fun:snd*_pcm_hw_param_set_near
239}
240
241{
242   <alsa error>
243   Memcheck:Cond
244   obj:/*lib/libasound.so.2.0.0
245   obj:/*lib/libasound.so.2.0.0
246   fun:snd_pcm_close
247   obj:/*lib/libasound.so.2.0.0
248}
249{
250   <alsa error>
251   Memcheck:Cond
252   fun:snd_pcm_direct_shm_create_or_connect
253   fun:snd_pcm_dmix_open
254   fun:_snd_pcm_dmix_open
255   obj:/*lib/libasound.so.2.0.0
256   obj:/*lib/libasound.so.2.0.0
257   fun:snd_pcm_open_slave
258   fun:_snd_pcm_softvol_open
259   obj:/*lib/libasound.so.2.0.0
260   fun:snd_pcm_open_slave
261   fun:_snd_pcm_plug_open
262   obj:/*lib/libasound.so.2.0.0
263   fun:snd_pcm_open_slave
264   fun:_snd_pcm_asym_open
265   obj:/*lib/libasound.so.2.0.0
266   obj:/*lib/libasound.so.2.0.0
267}
268{
269   <alsa error>
270   Memcheck:Leak
271   fun:malloc
272   fun:strdup
273   fun:snd_dlobj_cache_add
274   obj:/*lib/libasound.so.2.0.0
275   fun:snd_pcm_open_slave
276   fun:snd_pcm_dsnoop_open
277   fun:_snd_pcm_dsnoop_open
278   obj:/*lib/libasound.so.2.0.0
279   obj:/*lib/libasound.so.2.0.0
280   fun:snd_pcm_open_slave
281   fun:_snd_pcm_plug_open
282   obj:/*lib/libasound.so.2.0.0
283   fun:snd_pcm_open_slave
284   fun:_snd_pcm_asym_open
285   obj:/*lib/libasound.so.2.0.0
286   obj:/*lib/libasound.so.2.0.0
287}
288# Catch about 15 variations on inserting info into an ALSA
289# internal cache
290{
291   <alsa error>
292   Memcheck:Leak
293   fun:malloc
294   ...
295   fun:snd*_dlobj_cache_add
296   obj:/*lib*/libasound.so.2.0.0
297}
298
299{
300   <alsa leak in loading configuration>
301   Memcheck:Leak
302   fun:*alloc
303   ...
304   fun:snd_pcm_open_conf
305}
306
307{
308   <alsa leak snd_config_hook_load>
309   Memcheck:Leak
310   fun:*alloc
311   obj:/*lib*/libasound.so.2.0.0
312   ...
313   fun:snd_config_hook_load
314}
315
316{
317   <alsa leak snd_config_update_r>
318   Memcheck:Leak
319   fun:*alloc
320   obj:/*lib*/libasound.so.2.0.0
321   ...
322   fun:snd_config_update_r
323   fun:snd_config_update
324}
325{
326   <alsa leak snd_config_update_r>
327   Memcheck:Leak
328   fun:*alloc
329   fun:strdup
330   ...
331   fun:snd_config_update_r
332   fun:snd_config_update
333}
334
335{
336   <nss lookup within ALSA>
337   Memcheck:Leak
338   fun:malloc
339   obj:/lib/libc*.so
340   fun:__nss_database_lookup
341   obj:*
342   obj:*
343   fun:getgrnam_r
344   fun:getgrnam
345   fun:snd_pcm_direct_parse_open_conf
346}
347
348{
349   <libxcb leak on Ubuntu Feisty>
350   Memcheck:Leak
351   fun:calloc
352   fun:_XCBInitDisplayLock
353   fun:XOpenDisplay
354}
355
356# GConf internal initialisations related to getting the default client.
357{
358   <Orbit something or other>
359   Memcheck:Leak
360   fun:calloc
361   fun:g_malloc0
362   fun:ORBit_alloc_tcval
363   obj:/usr/lib/libORBit-2.so.*
364   fun:ORBit_demarshal_IOR
365   fun:ORBit_demarshal_object
366   fun:CORBA_ORB_string_to_object
367   obj:/usr/lib/libgconf-2.so.*
368   fun:gconf_get_current_lock_holder
369   fun:gconf_activate_server
370   obj:/usr/lib/libgconf-2.so.*
371   obj:/usr/lib/libgconf-2.so.*
372   fun:gconf_engine_get_default
373}
374{
375   <gconf internal leak>
376   Memcheck:Leak
377   fun:calloc
378   fun:g_malloc0
379   fun:ORBit_alloc_tcval
380   obj:*
381   fun:PortableServer_POA_servant_to_reference
382   fun:*
383   fun:*
384   fun:*
385   fun:gconf_engine_get_default
386}
387{
388   <gconf internal leak>
389   Memcheck:Leak
390   fun:calloc
391   fun:g_malloc0
392   fun:ORBit_alloc_tcval
393   obj:/usr/lib/libORBit-2.so.*
394   fun:ORBit_demarshal_IOR
395   fun:ORBit_demarshal_object
396   fun:CORBA_ORB_string_to_object
397   obj:/usr/lib/libgconf-2.so.*
398   fun:gconf_get_current_lock_holder
399   fun:gconf_activate_server
400   obj:/usr/lib/libgconf-2.so.*
401   obj:/usr/lib/libgconf-2.so.*
402   fun:gconf_engine_get_default
403}
404{
405   <gconf internal initialisation>
406   Memcheck:Leak
407   fun:calloc
408   fun:g_malloc0
409   fun:ORBit_alloc*
410   fun:*
411   fun:ORBit_demarshal_IOR
412   fun:ORBit_demarshal_object
413   fun:ORBit_demarshal_value
414   fun:*
415   fun:ORBit_small_invoke_stub
416   fun:ConfigServer_get_default_database
417   fun:*
418   fun:gconf_engine_get_default
419}
420{
421   <gconf internal init>
422   Memcheck:Leak
423   fun:calloc
424   fun:g_malloc0
425   fun:ORBit_alloc*
426   fun:*
427   fun:IOP_generate_profiles
428   fun:ORBit_marshal_object
429   fun:ORBit_marshal_value
430   fun:*
431   fun:ORBit_small_invoke_stub
432   fun:ConfigServer_add_client
433   fun:*
434   fun:*
435   fun:gconf_engine_get_default
436}
437{
438   <gconf internal init>
439   Memcheck:Leak
440   fun:calloc
441   fun:g_malloc0
442   fun:ORBit_alloc_by_tc
443   fun:*
444   fun:PortableServer_POA_servant_to_reference
445   fun:*
446   fun:*
447   fun:*
448   fun:gconf_engine_get_default
449}
450{
451   <gconf internal init>
452   Memcheck:Leak
453   fun:calloc
454   fun:g_malloc0
455   fun:ORBit_alloc_by_tc
456   obj:/usr/lib/libORBit-2.so.*
457   fun:ORBit_demarshal_IOR
458   fun:ORBit_demarshal_object
459   fun:CORBA_ORB_string_to_object
460   obj:/usr/lib/libgconf-2.so.*
461   fun:gconf_get_current_lock_holder
462   fun:gconf_activate_server
463   obj:/usr/lib/libgconf-2.so.*
464   obj:/usr/lib/libgconf-2.so.*
465   fun:gconf_engine_get_default
466}
467
468{
469   <insert a suppression name here>
470   Memcheck:Leak
471   fun:calloc
472   fun:g_malloc0
473   fun:ORBit_alloc*
474   fun:*
475   fun:ORBit_demarshal_IOR
476   fun:ORBit_demarshal_object
477   fun:*
478   fun:*
479   fun:gconf_activate_server
480}
481
482# Some libORBit/bonobo initialisation stuff
483{
484   <bonobo init>
485   Memcheck:Leak
486   fun:malloc
487   fun:g_malloc
488   fun:ORBit_alloc_string
489   fun:CORBA_string_dup
490   fun:Bonobo_ActivationEnvValue_set
491   fun:bonobo_activation_init_activation_env
492   fun:bonobo_activation_orb_init
493   fun:bonobo_activation_init
494}
495{
496   <bonobo init>
497   Memcheck:Leak
498   fun:calloc
499   fun:g_malloc0
500   fun:ORBit_alloc*
501   fun:ORBit_small_alloc*
502   obj:/usr/lib/libORBit-2.so*
503   fun:PortableServer_POA_servant_to_reference
504   obj:/usr/lib/libbonobo-2.so*
505}
506{
507   <bonobo init>
508   Memcheck:Leak
509   fun:calloc
510   fun:g_malloc0
511   fun:ORBit_alloc_tcval
512   fun:ORBit_small_allocbuf
513   fun:ORBit_adaptor_setup
514   obj:/usr/lib/libORBit-2.so*
515   fun:ORBit_POA_setup_root
516   fun:ORBit_init_internals
517   fun:CORBA_ORB_init
518}
519{
520   <bonobo init - more recent variant of above>
521   Memcheck:Leak
522   fun:calloc
523   fun:g_malloc0
524   fun:ORBit_alloc_tcval
525   fun:ORBit_adaptor_setup
526   fun:*
527   fun:ORBit_POA_setup_root
528   fun:ORBit_init_internals
529   fun:CORBA_ORB_init
530}
531{
532   <bonobo init>
533   Memcheck:Leak
534   fun:calloc
535   fun:g_malloc0
536   fun:ORBit_alloc*
537   fun:ORBit_small_allocbuf
538   fun:bonobo_activation_init_activation_env
539   fun:bonobo_activation_orb_init
540   fun:bonobo_activation_init
541}
542
543# More GConf stuff from the FC5 buildbot, mostly variations on the
544# above stack traces
545{
546   <incompletely initialised ORBit buffer>
547   Memcheck:Param
548   writev(vector[...])
549   fun:writev
550   obj:/usr/lib/libORBit-2.so*
551   fun:link_connection_writev
552   fun:giop_send_buffer_write
553   obj:/usr/lib/libORBit-2.so*
554   fun:ORBit_small_invoke_stub
555   fun:ORBit_small_invoke_stub_n
556   fun:ORBit_c_stub_invoke
557   fun:ConfigServer_ping
558   fun:gconf_activate_server
559   obj:/usr/lib/libgconf-2.so*
560   obj:/usr/lib/libgconf-2.so*
561   fun:gconf_engine_get_default
562}
563{
564   <gconf init>
565   Memcheck:Leak
566   fun:calloc
567   fun:g_malloc0
568   fun:ORBit_alloc*
569   fun:ORBit_small_alloc*
570   obj:/usr/lib/libORBit-2.so*
571   fun:PortableServer_POA_servant_to_reference
572   obj:/usr/lib/libgconf-2.so*
573   obj:/usr/lib/libgconf-2.so*
574   obj:/usr/lib/libgconf-2.so*
575   fun:gconf_engine_get_default
576}
577{
578   <gconf init>
579   Memcheck:Leak
580   fun:calloc
581   fun:g_malloc0
582   fun:ORBit_alloc*
583   fun:ORBit_small_alloc
584   obj:/usr/lib/libORBit-2.so*
585   fun:ORBit_demarshal_IOR
586   fun:ORBit_demarshal_object
587   fun:CORBA_ORB_string_to_object
588   obj:/usr/lib/libgconf-2.so*
589   fun:gconf_get_current_lock_holder
590   fun:gconf_activate_server
591   obj:/usr/lib/libgconf-2.so*
592   obj:/usr/lib/libgconf-2.so*
593   fun:gconf_engine_get_default
594}
595{
596   <gconf init>
597   Memcheck:Leak
598   fun:calloc
599   fun:g_malloc0
600   fun:ORBit_alloc*
601   fun:ORBit_small_alloc*
602   obj:/usr/lib/libORBit-2.so*
603   fun:ORBit_demarshal_IOR
604   fun:ORBit_demarshal_object
605   fun:CORBA_ORB_string_to_object
606   obj:/usr/lib/libgconf-2.so*
607   fun:gconf_get_current_lock_holder
608   fun:gconf_activate_server
609   obj:/usr/lib/libgconf-2.so*
610   obj:/usr/lib/libgconf-2.so*
611   fun:gconf_engine_get_default
612}
613{
614   <bonobo init>
615   Memcheck:Leak
616   fun:calloc
617   fun:g_malloc0
618   fun:ORBit_alloc*
619   fun:ORBit_small_alloc*
620   obj:/usr/lib/libORBit-2.so*
621   fun:ORBit_demarshal_IOR
622   fun:ORBit_demarshal_object
623   fun:ORBit_demarshal_value
624   obj:/usr/lib/libORBit-2.so*
625   fun:ORBit_small_invoke_stub
626   fun:ORBit_small_invoke_stub_n
627   fun:ORBit_c_stub_invoke
628   fun:ConfigServer_get_default_database
629   obj:/usr/lib/libgconf-2.so*
630   fun:gconf_engine_get_default
631}
632{
633   <gconf init>
634   Memcheck:Leak
635   fun:calloc
636   fun:g_malloc0
637   fun:ORBit_alloc*
638   fun:ORBit_small_alloc*
639   obj:/usr/lib/libORBit-2.so*
640   fun:ORBit_OAObject_object_to_objkey
641   fun:IOP_generate_profiles
642   fun:ORBit_marshal_object
643   fun:ORBit_marshal_value
644   obj:/usr/lib/libORBit-2.so*
645   fun:ORBit_small_invoke_stub
646   fun:ORBit_small_invoke_stub_n
647   fun:ORBit_c_stub_invoke
648   fun:ConfigServer_add_client
649   obj:/usr/lib/libgconf-2.so*
650   obj:/usr/lib/libgconf-2.so*
651   fun:gconf_engine_get_default
652}
653{
654   <GLib caching the home dir>
655   Memcheck:Leak
656   fun:malloc
657   obj:*libc-*.so
658   fun:__nss_database_lookup
659   obj:*
660   obj:*
661   fun:getpwnam_r
662   obj:/usr/lib*/libglib-2.0.so.*
663   fun:g_get_home_dir
664}
665{
666   <GLib caching the user name>
667   Memcheck:Leak
668   fun:malloc
669   obj:*libc-*.so
670   fun:__nss_database_lookup
671   obj:*
672   obj:*
673   fun:getpwnam_r
674   obj:/usr/lib*/libglib-2.0.so.*
675   fun:g_get_user_name
676}
677{
678   <GLib caching the tmp dir>
679   Memcheck:Leak
680   fun:malloc
681   obj:*libc-*.so
682   fun:__nss_database_lookup
683   obj:*
684   obj:*
685   fun:getpwnam_r
686   obj:/usr/lib*/libglib-2.0.so.*
687   fun:g_get_tmp_dir
688}
689
690{
691   <GLib caching the host name>
692   Memcheck:Leak
693   fun:malloc
694   obj:*libc-*.so
695   fun:__nss_database_lookup
696   obj:*
697   obj:*
698   fun:getpwnam_r
699   obj:/usr/lib*/libglib-2.0.so.0.*
700   fun:g_get_host_name
701}
702
703
704## Some Fontconfig errors.
705{
706   <First time load of a font - feisty x86_64>
707   Memcheck:Leak
708   fun:malloc
709   fun:FcPatternObjectInsertElt
710   fun:FcPatternObjectAddWithBinding
711   fun:FcPatternAppend
712   fun:FcEndElement
713   obj:/usr/lib/libexpat.so.*
714   obj:/usr/lib/libexpat.so.*
715   obj:/usr/lib/libexpat.so.*
716   obj:/usr/lib/libexpat.so.*
717   fun:XML_ParseBuffer
718   fun:FcConfigParseAndLoad
719   fun:FcConfigParseAndLoad
720   fun:FcParseInclude
721   fun:FcEndElement
722   obj:/usr/lib/libexpat.so.*
723   obj:/usr/lib/libexpat.so.*
724   obj:/usr/lib/libexpat.so.*
725   obj:/usr/lib/libexpat.so.*
726   fun:XML_ParseBuffer
727   fun:FcConfigParseAndLoad
728}
729{
730   <First time load of a font - generic>
731   Memcheck:Leak
732   fun:*alloc
733   ...
734   fun:FcInitLoadConfig
735}
736
737## Leaks in ALSA (variations of leak from snd_config_load1)
738
739{
740   <Alsa leak>
741   Memcheck:Leak
742   fun:calloc
743   fun:_snd_config_make
744   fun:_snd_config_make_add
745   fun:*
746   fun:*
747   fun:*
748   fun:*
749   fun:snd_config_load1
750}
751
752{
753   <Alsa leak>
754   Memcheck:Leak
755   fun:calloc
756   fun:_snd_config_make
757   fun:_snd_config_make_add
758   fun:*
759   fun:*
760   fun:snd_config_load1
761}
762{
763   <Alsa leak>
764   Memcheck:Leak
765   fun:calloc
766   fun:_snd_config_make
767   fun:_snd_config_make_add
768   fun:*
769   fun:*
770   fun:*
771   fun:snd_config_load1
772}
773{
774   <Alsa leak>
775   Memcheck:Leak
776   fun:calloc
777   fun:_snd_config_make
778   fun:_snd_config_make_add
779   fun:*
780   fun:*
781   fun:*
782   fun:*
783   fun:*
784   fun:snd_config_load1
785}
786
787{
788   <Alsa leak>
789   Memcheck:Leak
790   fun:calloc
791   fun:_snd_config_make
792   fun:_snd_config_make_add
793   fun:*
794   fun:*
795   fun:*
796   fun:*
797   fun:*
798   fun:*
799   fun:snd_config_load1
800}
801
802{
803   <Alsa leak>
804   Memcheck:Leak
805   fun:calloc
806   fun:_snd_config_make
807   fun:_snd_config_make_add
808   fun:*
809   fun:*
810   fun:*
811   fun:*
812   fun:*
813   fun:*
814   fun:*
815   fun:snd_config_load1
816}
817{
818   <Alsa leak>
819   Memcheck:Leak
820   fun:calloc
821   fun:_snd_config_make
822   fun:_snd_config_make_add
823   fun:*
824   fun:*
825   fun:*
826   fun:*
827   fun:*
828   fun:*
829   fun:*
830   fun:*
831   fun:snd_config_load1
832}
833
834{
835   <Alsa leak>
836   Memcheck:Leak
837   fun:malloc
838   fun:snd1_dlobj_cache_add
839   fun:snd_ctl_open_noupdate
840}
841
842{
843   <Alsa leak>
844   Memcheck:Leak
845   fun:malloc
846   fun:*
847   fun:snd1_dlobj_cache_add
848   fun:snd_ctl_open_noupdate
849}
850
851{
852   <Alsa leak>
853   Memcheck:Leak
854   fun:*alloc
855   fun:*
856   fun:*
857   fun:*
858   fun:snd_config_load1
859}
860
861{
862   <Alsa leak>
863   Memcheck:Leak
864   fun:*alloc
865   fun:*
866   fun:*
867   fun:*
868   fun:*
869   fun:snd_config_load1
870}
871
872{
873   <Alsa leak>
874   Memcheck:Leak
875   fun:*alloc
876   fun:*
877   fun:*
878   fun:*
879   fun:*
880   fun:*
881   fun:snd_config_load1
882}
883
884{
885   <Alsa leak>
886   Memcheck:Leak
887   fun:*alloc
888   fun:*
889   fun:*
890   fun:*
891   fun:*
892   fun:*
893   fun:*
894   fun:snd_config_load1
895}
896
897{
898   <Alsa leak>
899   Memcheck:Leak
900   fun:*alloc
901   fun:*
902   fun:*
903   fun:*
904   fun:*
905   fun:*
906   fun:*
907   fun:*
908   fun:snd_config_load1
909}
910
911{
912   <Alsa leak>
913   Memcheck:Leak
914   fun:*alloc
915   fun:*
916   fun:*
917   fun:*
918   fun:*
919   fun:*
920   fun:*
921   fun:*
922   fun:*
923   fun:snd_config_load1
924}
925
926{
927   <Alsa leak>
928   Memcheck:Leak
929   fun:*alloc
930   fun:*
931   fun:*
932   fun:*
933   fun:*
934   fun:*
935   fun:*
936   fun:*
937   fun:*
938   fun:*
939   fun:snd_config_load1
940}
941
942{
943   <Alsa leak>
944   Memcheck:Leak
945   fun:*alloc
946   fun:*
947   fun:*
948   fun:*
949   fun:*
950   fun:*
951   fun:*
952   fun:*
953   fun:*
954   fun:*
955   fun:*
956   fun:snd_config_load1
957}
958
959
960# The following are leaks of caps that need to be created dynamically
961# in the type registration of the plugin (used for pad templates).
962
963{
964   <Leak in ogmparsers>
965   Memcheck:Leak
966   fun:malloc
967   fun:g_malloc
968   fun:g_slice_alloc
969   fun:gst_caps_new_empty
970   fun:gst_caps_new_simple
971   fun:*
972   fun:g_type_class_ref
973   fun:gst_element_register
974}
975
976{
977   <Leak in ogmparsers>
978   Memcheck:Leak
979   fun:malloc
980   fun:g_malloc
981   fun:g_slice_alloc
982   fun:gst_caps_new_empty
983   fun:*
984   fun:*
985   fun:g_type_class_ref
986   fun:gst_element_register
987   fun:gst_ogm_parse_plugin_init
988   fun:plugin_init
989}
990
991{
992   <Leak in videotestsrc>
993   Memcheck:Leak
994   fun:malloc
995   fun:g_malloc
996   fun:g_slice_alloc
997   fun:gst_caps_new_empty
998   fun:gst_caps_copy
999   fun:gst_video_test_src_base_init
1000   fun:g_type_class_ref
1001   fun:gst_element_register
1002}
1003
1004{
1005   <Leak in videotestsrc>
1006   Memcheck:Leak
1007   fun:malloc
1008   fun:g_malloc
1009   fun:g_slice_alloc
1010   fun:gst_caps_new_empty
1011   fun:gst_caps_copy
1012   fun:gst_video_test_src_getcaps
1013   fun:gst_video_test_src_base_init
1014   fun:g_type_class_ref
1015   fun:gst_element_register
1016}
1017
1018{
1019   <Leak in ffmpegcolorspace>
1020   Memcheck:Leak
1021   fun:malloc
1022   fun:g_malloc
1023   fun:g_slice_alloc
1024   fun:gst_caps_new_empty
1025   fun:gst_ffmpegcsp_codectype_to_caps
1026   fun:gst_ffmpegcolorspace_register
1027   fun:plugin_init
1028}
1029
1030{
1031   <Leak in ffmpegocolorspace>
1032   Memcheck:Leak
1033   fun:malloc
1034   fun:g_malloc
1035   fun:g_slice_alloc
1036   fun:gst_caps_new_empty
1037   fun:gst_caps_copy
1038   fun:gst_ffmpegcolorspace_register
1039   fun:plugin_init
1040}
1041
1042{
1043   <Leak in gstffmpegdemux>
1044   Memcheck:Leak
1045   fun:malloc
1046   fun:g_malloc
1047   fun:g_slice_alloc
1048   fun:gst_caps_new_empty
1049   fun:gst_caps_new_any
1050   fun:gst_ffmpegdemux_register
1051   fun:plugin_init
1052}
1053
1054{
1055   <Leak in GstAudioFilter subclasses>
1056   Memcheck:Leak
1057   fun:malloc
1058   fun:g_malloc
1059   fun:g_slice_alloc
1060   fun:gst_caps_new_empty
1061   fun:gst_caps_copy
1062   fun:gst_audio_filter_class_add_pad_templates
1063}
1064
1065{
1066   <Leak in GstAudioFilter subclasses, variant>
1067   Memcheck:Leak
1068   fun:realloc
1069   fun:g_realloc
1070   fun:g_ptr_array_maybe_expand
1071   fun:g_ptr_array_add
1072   fun:gst_caps_append
1073   fun:gst_audio_filter_class_add_pad_templates
1074}
1075
1076{
1077   <Leak in GstAudioFilter subclasses, variant>
1078   Memcheck:Leak
1079   fun:malloc
1080   fun:realloc
1081   fun:g_realloc
1082   fun:g_ptr_array_maybe_expand
1083   fun:g_ptr_array_add
1084   fun:gst_caps_append
1085   fun:gst_audio_filter_class_add_pad_templates
1086}
1087
1088{
1089   <Leak in GstAudioFilter subclasses, variant>
1090   Memcheck:Leak
1091   fun:malloc
1092   fun:realloc
1093   fun:g_realloc
1094   fun:g_ptr_array_maybe_expand
1095   fun:g_ptr_array_add
1096   fun:gst_caps_copy
1097   fun:gst_audio_filter_class_add_pad_templates
1098}
1099
1100{
1101   <Leak in GstAudioFilter subclasses, variant2>
1102   Memcheck:Leak
1103   fun:malloc
1104   fun:g_malloc
1105   fun:g_slice_alloc
1106   fun:g_ptr_array_sized_new
1107   fun:gst_caps_new_empty
1108   fun:gst_caps_copy
1109   fun:gst_audio_filter_class_add_pad_templates
1110}
1111{
1112   <Leak in GstAudioFilter subclasses, variant3>
1113   Memcheck:Leak
1114   fun:malloc
1115   fun:realloc
1116   fun:g_realloc
1117   fun:g_array_maybe_expand
1118   fun:g_array_sized_new
1119   fun:*
1120   fun:*
1121   fun:*
1122   fun:gst_value_init_and_copy
1123   fun:gst_structure_copy
1124   fun:gst_caps_copy
1125   fun:gst_audio_filter_class_add_pad_templates
1126}
1127{
1128   <Leak in GstAudioFilter subclasses, variant4>
1129   Memcheck:Leak
1130   fun:malloc
1131   fun:realloc
1132   fun:g_realloc
1133   fun:g_array_maybe_expand
1134   fun:g_array_sized_new
1135   fun:*
1136   fun:gst_structure_copy
1137   fun:gst_caps_copy
1138   fun:gst_audio_filter_class_add_pad_templates
1139}
1140{
1141   <Leak in GstAudioFilter subclasses, variant5>
1142   Memcheck:Leak
1143   fun:malloc
1144   fun:g_malloc
1145   fun:g_slice_alloc
1146   fun:g_array_sized_new
1147   fun:*
1148   fun:gst_structure_copy
1149   fun:gst_caps_copy
1150   fun:gst_audio_filter_class_add_pad_templates
1151}
1152
1153{
1154   <Leak in riff-media>
1155   Memcheck:Leak
1156   fun:malloc
1157   fun:g_malloc
1158   fun:g_slice_alloc
1159   fun:gst_caps_new_empty
1160   fun:gst_riff_create_*_template_caps
1161}
1162{
1163   <Leak in riff-media>
1164   Memcheck:Leak
1165   fun:malloc
1166   fun:realloc
1167   fun:g_realloc
1168   fun:*
1169   fun:*
1170   fun:*
1171   fun:gst_structure_copy
1172   fun:gst_caps_copy
1173   fun:gst_caps_append
1174   fun:gst_riff_create_*_template_caps
1175}
1176{
1177   <Leak in riff-media>
1178   Memcheck:Leak
1179   fun:malloc
1180   fun:g_malloc
1181   fun:g_slice_alloc
1182   fun:g_array_sized_new
1183   fun:*
1184   fun:gst_structure_copy
1185   fun:gst_caps_copy
1186   fun:gst_caps_append
1187   fun:gst_riff_create_*_template_caps
1188}
1189
1190## Leaks in pango (bilboed: gentoo unstable amd64)
1191
1192{
1193   <Pango leak - generic>
1194   Memcheck:Leak
1195   fun:*alloc
1196   ...
1197   fun:pango_layout_get_pixel_extents
1198}
1199{
1200   <insert a suppression name here>
1201   Memcheck:Leak
1202   fun:calloc
1203   fun:g_malloc0
1204   fun:pango_language_from_string
1205   fun:pango_language_get_default
1206   fun:pango_context_init
1207   fun:g_type_create_instance
1208   fun:g_object_constructor
1209   fun:g_object_newv
1210   fun:g_object_new_valist
1211   fun:g_object_new
1212   fun:pango_font_map_create_context
1213}
1214
1215{
1216   <PangoLanguage can never be freed>
1217   Memcheck:Leak
1218   fun:calloc
1219   fun:g_malloc0
1220   fun:pango_language_from_string
1221}
1222
1223
1224## Leak of everything allocated by gst-libav plugin init
1225{
1226   <insert_a_suppression_name_here>
1227   Memcheck:Leak
1228   fun:*alloc
1229   ...
1230   fun:gst_ffmpeg_cfg_init
1231}
1232
1233## Leak of GIO module through gnomevfs
1234
1235{
1236   <gio leak>
1237   Memcheck:Leak
1238   fun:malloc
1239   fun:g_malloc
1240   fun:*
1241   fun:*
1242   fun:g_type_create_instance
1243   fun:*
1244   fun:*
1245   fun:*
1246   fun:*
1247   fun:g_io_module_new
1248   fun:g_io_modules_load_all_in_directory
1249   fun:*
1250   fun:get_default_vfs
1251}
1252
1253## Conditional jump in getaddrinfo (bilboed, gentoo ~amd64, Dec 13 2008)
1254{
1255   <Leak of addrinfo in esd>
1256   Memcheck:Cond
1257   fun:gaih_inet
1258   fun:getaddrinfo
1259}
1260
1261## Dynamic pad templates in mxfmux
1262{
1263   <Dynamic pad templates in mxfmux>
1264   Memcheck:Leak
1265   fun:malloc
1266   fun:g_malloc
1267   fun:g_slice_alloc
1268   fun:gst_caps_new_empty
1269   fun:gst_caps_from_string
1270   fun:mxf_*_init
1271   fun:plugin_init
1272}
1273
1274## We don't know if ffmpeg frees this or not and better pass a copy for safety
1275{
1276   <insert a suppression name here>
1277   Memcheck:Leak
1278   fun:malloc
1279   fun:g_malloc
1280   fun:g_strdup
1281   fun:gst_ffmpeg_cfg_fill_context
1282   fun:gst_ffmpegenc_setcaps
1283   fun:gst_pad_set_caps
1284}
1285
1286{
1287   <glibc-2.10 overreads/conditionals>
1288   Memcheck:Value8
1289   obj:/lib*/libc-2.10.*.so
1290   obj:/lib*/libc-2.10.*.so
1291   fun:_vgnU_freeres
1292}
1293{
1294   <glibc-2.10 overreads/conditionals>
1295   Memcheck:Cond
1296   obj:/lib*/libc-2.10.*.so
1297   obj:/lib*/libc-2.10.*.so
1298   fun:_vgnU_freeres
1299}
1300{
1301   <glibc-2.10 mysterious invalid free on exit>
1302   Memcheck:Free
1303   fun:free
1304   obj:/lib*/libc-2.10.*.so
1305   obj:/lib*/libc-2.10.*.so
1306   fun:_vgnU_freeres
1307}
1308
1309# glibc-2.10 dl overreads
1310
1311{
1312   <glibc-2.10 overreads/conditionals>
1313   Memcheck:Cond
1314   fun:__tls*
1315   obj:*
1316   obj:*
1317   fun:_vgnU_freeres
1318}
1319
1320{
1321   <glibc-2.10 overreads/conditionals>
1322   Memcheck:Param
1323   arch_prctl(arg2)
1324   fun:init_tls
1325}
1326
1327# GModule issues with glibc-2.10
1328{
1329   <glibc-2.10 GLIB leaks>
1330   Memcheck:Value8
1331   fun:g_module_*
1332   fun:gst_plugin*
1333}
1334{
1335   <glibc-2.10 GLIB leaks>
1336   Memcheck:Value8
1337   fun:*
1338   fun:g_module_*
1339   fun:gst_plugin*
1340}
1341
1342# Leak in GSlice
1343{
1344   <insert a suppression name here>
1345   Memcheck:Value8
1346   fun:g_parse_debug_string
1347   fun:slice_config_init
1348   fun:g_slice_init_nomessage
1349   fun:_g_slice_thread_init_nomessage
1350   fun:g_thread_init_glib
1351}
1352
1353# 2.10 pthread issues
1354{
1355   <insert a suppression name here>
1356   Memcheck:Value8
1357   fun:__pthread_initialize_minimal
1358}
1359
1360# glib type leaks
1361{
1362   <insert_a_suppression_name_here>
1363   Memcheck:Leak
1364   fun:*alloc
1365   ...
1366   fun:g_type_register_static
1367}
1368
1369# new registry system
1370# all of this will only be created once when loading registry.
1371
1372{
1373   <insert_a_suppression_name_here>
1374   Memcheck:Leak
1375   fun:*alloc
1376   ...
1377   fun:_priv_gst_registry_chunks_load_plugin
1378}
1379
1380# system-wide tags
1381# these tags are registered once
1382
1383{
1384   <insert_a_suppression_name_here>
1385   Memcheck:Leak
1386   fun:*alloc
1387   fun:*
1388   fun:*
1389   fun:gst_tag_register
1390   fun:_gst_tag_initialize
1391}
1392
1393# system-wide type classes that we keep referenced
1394
1395{
1396   <g_type_class_ref leaks>
1397   Memcheck:Leak
1398   fun:*alloc
1399   ...
1400   fun:g_type_class_ref
1401}
1402
1403# leaking cached queries which are only initialized once
1404{
1405   <insert_a_suppression_name_here>
1406   Memcheck:Leak
1407   fun:*alloc
1408   ...
1409   fun:_gst_query_initialize
1410   fun:init_post
1411}
1412
1413# macosx (leopard) library loader leak
1414{
1415   <insert_a_suppression_name_here>
1416   Memcheck:Leak
1417   fun:_Znwm
1418   fun:_ZNSs4_Rep9_S_createEmmRKSaIcE
1419   fun:_ZNSs12_S_constructIPKcEEPcT_S3_RKSaIcESt20forward_iterator_tag
1420   fun:_ZNSsC2EPKcRKSaIcE
1421   fun:_Z41__static_initialization_and_destruction_0ii
1422   fun:_ZN16ImageLoaderMachO18doModInitFunctionsERKN11ImageLoader11LinkContextE
1423}
1424
1425# GObject type registration
1426{
1427   <insert_a_suppression_name_here>
1428   Memcheck:Leak
1429   fun:*alloc
1430   ...
1431   fun:_g_atomic_array_copy
1432}
1433
1434{
1435   <getdelim one-time inits called from libselinux>
1436   Memcheck:Leak
1437   fun:*alloc
1438   fun:getdelim
1439   obj:*libselinux*
1440}
1441
1442{
1443   <weird one when re-reading registry>
1444   Memcheck:Leak
1445   fun:*alloc
1446   ...
1447   obj:*/sed
1448}
1449
1450{
1451   <weird one when re-reading registry>
1452   Memcheck:Addr8
1453   ...
1454   obj:*/sed
1455}
1456
1457# GLib 2.23 interface vtable
1458{
1459   <insert_a_suppression_name_here>
1460   Memcheck:Leak
1461   fun:*alloc
1462   ...
1463   fun:g_type_add_interface_static
1464}
1465
1466{
1467   <leak in dash on debian sid>
1468   Memcheck:Leak
1469   fun:*alloc
1470   obj:*/dash
1471}
1472
1473# libtool/gentoo fake leak
1474# it actually runs bash and valgrind complains
1475{
1476   <insert_a_suppression_name_here>
1477   Memcheck:Leak
1478   fun:*alloc
1479   obj:/bin/bash
1480}
1481
1482{
1483   <ignore possbly-lost leaks in the plugin scanner which doesn't clean up properly>
1484   Memcheck:Leak
1485   fun:*alloc
1486   ...
1487   fun:_gst_plugin_loader_client_run
1488   fun:main
1489}
1490
1491{
1492   <warning with libc 2.13-2 as in Debian/unstable on amd64>
1493   Memcheck:Cond
1494   fun:*strcasecmp*
1495   ...
1496   fun:__dcigettext
1497}
1498
1499{
1500   <warning with libc 2.13-2 as in Debian/unstable on amd64>
1501   Memcheck:Value8
1502   fun:*strcasecmp*
1503   ...
1504   fun:__dcigettext
1505}
1506
1507{
1508   <GstSystemClock is a singleton and does not leak>
1509   Memcheck:Leak
1510   fun:malloc
1511   ...
1512   fun:gst_poll_new
1513   fun:gst_poll_new_timer
1514   fun:gst_system_clock_init
1515}
1516
1517{
1518   <glib types are singletons>
1519   Memcheck:Leak
1520   fun:calloc
1521   ...
1522   fun:gobject_init_ctor
1523}
1524
1525{
1526   <quark table is leaked on purpose if it grows too big>
1527   Memcheck:Leak
1528   fun:malloc
1529   ...
1530   fun:g_quark_from*_string
1531}
1532
1533{
1534  <timer_create suppressions for earlier valgrind versions that complain>
1535  Memcheck:Param
1536  timer_create(evp)
1537  fun:timer_create@@GLIBC_2.3.3
1538}
1539
1540{
1541   closures aren't valgrind friendly (bgo#739850)
1542   Memcheck:Leak
1543   fun:calloc
1544   ...
1545   fun:g_cclosure_new
1546}
1547
1548{
1549   closures aren't valgrind friendly (bgo#739850)
1550   Memcheck:Leak
1551   fun:malloc
1552   ...
1553   fun:g_closure_add_invalidate_notifier
1554}
1555
1556{
1557   closures aren't valgrind friendly (bgo#739850)
1558   Memcheck:Leak
1559   fun:calloc
1560   ...
1561   fun:g_closure_new_simple
1562}
1563
1564{
1565   glib/giomodules2 (from libsoup.supp)
1566   Memcheck:Leak
1567   ...
1568   fun:_g_io_module_get_default
1569}
1570
1571{
1572   <valgrind bug when trying to parse "infinity" from "interleaved">
1573   Memcheck:Addr8
1574   fun:__GI___strncasecmp_l
1575   fun:____strtod_l_internal
1576   fun:gst_value_deserialize_double
1577}
1578
1579{
1580   <glibc overreads/conditionals>
1581   Memcheck:Addr8
1582   fun:do_lookup_x
1583}
1584
1585{
1586   <quark tables are leaked on purpose when they are expanded, observed with glib 2.46 and gst-rtsp-server tests>
1587   Memcheck:Leak
1588   fun:malloc
1589   ...
1590   fun:g_quark_init
1591}
1592
1593{
1594   Leak of debug function list
1595   Memcheck:Leak
1596   fun:*alloc
1597   ...
1598   fun:g_slist_prepend
1599   fun:gst_debug_add_log_function
1600}
1601{
1602   <We do not care about anything ld related, and don't use library constructors>
1603   Memcheck:Addr1
1604   ...
1605   obj:*/ld-*.so
1606   ...
1607}
1608{
1609   <We do not care about anything ld related, and don't use library constructors>
1610   Memcheck:Addr2
1611   ...
1612   obj:*/ld-*.so
1613   ...
1614}
1615{
1616   <We do not care about anything ld related, and don't use library constructors>
1617   Memcheck:Addr4
1618   ...
1619   obj:*/ld-*.so
1620   ...
1621}
1622{
1623   <We do not care about anything ld related, and don't use library constructors>
1624   Memcheck:Addr8
1625   ...
1626   obj:*/ld-*.so
1627   ...
1628}
1629{
1630   <We do not care about anything ld related, and don't use library constructors>
1631   Memcheck:Leak
1632   ...
1633   obj:*/ld-*.so
1634   ...
1635}
1636{
1637   <We do not care about anything ld related, and don't use library constructors>
1638   Memcheck:Cond
1639   ...
1640   obj:*/ld-*.so
1641   ...
1642}
1643