Commit 763d01f4 authored by Antonio Ospite's avatar Antonio Ospite Committed by Tim-Philipp Müller

tests: add the valgrind suppression file from the "common" module

Other gstreamer repositories have their own valgrind suppression file
directly in the repository.

Add a suppression file to the core gstreamer repository too, this makes
it easier to use it with gst-build which does not check out the common
module.

This is also a little step towards the removal of the common submodule.

NOTE: the added file is the latest version from the "common" repository
but it has been renamed from gst.supp to gstreamer.supp for symmetry
with the suppression files in the other repositories.
parent a7db80f9
### this file contains suppressions for valgrind when running
### the gstreamer unit tests
### it might be useful for wider use as well
### syscall suppressions
{
<clone on Wim's Debian>
Memcheck:Param
clone(parent_tidptr)
fun:clone
fun:clone
}
{
<clone on Wim's Debian>
Memcheck:Param
clone(child_tidptr)
fun:clone
fun:clone
}
{
<clone on Wim's Debian>
Memcheck:Param
clone(tlsinfo)
fun:clone
fun:clone
}
# a thread-related free problem in glibc from Edgard
{
__libc_freeres_rw_acess
Memcheck:Addr4
obj:*
obj:*
obj:*
obj:*
obj:*
fun:__libc_freeres
}
{
<futex on Andy's 64-bit ubuntu>
Memcheck:Param
futex(uaddr2)
fun:pthread_once
obj:/lib/libc-2.3.*.so
obj:/lib/libc-2.3.*.so
fun:mbsnrtowcs
fun:vfprintf
fun:vsprintf
fun:sprintf
obj:/lib/libc-2.3.*.so
fun:tmpfile
fun:setup_pipe
fun:setup_messaging_with_key
fun:setup_messaging
}
# suppression for a glibc bug:
# http://valgrind.org/docs/manual/faq.html#faq.exit_errors>
{
<Workaround for a glibc bug>
Memcheck:Free
fun:free
obj:*libc-*.so
fun:__libc_freeres
fun:*
fun:_Exit
}
# same as above, just so it works for tpm on gutsy/x86-64
{
<workaround glibc bug on gutsy x86-64>
Memcheck:Free
fun:free
fun:free_mem
fun:__libc_freeres
}
### glib suppressions
{
<g_parse_debug_string>
Memcheck:Cond
fun:g_parse_debug_string
obj:/usr/lib*/libglib-2.0.so.*
fun:g_slice_alloc
fun:g_slice_alloc0
}
{
<g_type_init leaks>
Memcheck:Leak
fun:*alloc
...
fun:g_type_init*
fun:init_pre*
}
{
<g_type_register_fundamental leaks>
Memcheck:Leak
fun:*alloc
...
fun:g_type_register_fundamental
}
{
<glib 2.21 static type data>
Memcheck:Leak
fun:malloc
fun:realloc
fun:g_realloc
fun:type_node_any_new_W
}
{
<glib 2.21 static type data>
Memcheck:Leak
fun:realloc
fun:g_realloc
fun:type_node_any_new_W
}
{
<glib 2.21 static type data>
Memcheck:Leak
fun:calloc
fun:g_malloc0
fun:g_type_class_ref
}
{
<glib 2.21 static type data>
Memcheck:Leak
fun:malloc
fun:realloc
fun:g_realloc
fun:type_add_flags_W
}
{
<glib 2.21 static type data>
Memcheck:Leak
fun:calloc
fun:g_malloc0
fun:type_add_flags_W
}
#pthread memleaks
{
pthread_create Syscall param write(buf) points to uninitialised byte(s)
Memcheck:Param
write(buf)
fun:pthread_create@@GLIBC_2.2.5
fun:g_thread_create*
}
# nss_parse_* memleak (used by g_option_context_parse)
{
nss_parse_* memleak
Memcheck:Leak
fun:malloc
fun:nss_parse_service_list
fun:__nss_database_lookup
}
# liboil suppressions
{
<liboil cpu_fault_check_try>
Memcheck:Value8
obj:/usr/lib/liboil-0.3.so.0.1.0
obj:/usr/lib/liboil-0.3.so.0.1.0
obj:/usr/lib/liboil-0.3.so.0.1.0
fun:oil_cpu_fault_check_try
fun:oil_test_check_impl
fun:oil_class_optimize
fun:oil_optimize_all
fun:oil_init
}
{
<Ubuntu Dapper x86_64>
Memcheck:Param
futex(uaddr2)
fun:pthread_once
obj:/lib/libc-2.3.6.so
obj:/lib/libc-2.3.6.so
fun:setlocale
fun:init_pre
fun:g_option_context_parse
fun:gst_init_check
fun:gst_init
fun:gst_check_init
fun:main
}
{
<libcdio 0.76 leak>
Memcheck:Leak
fun:calloc
obj:/usr/lib/libcdio.so.6.0.1
fun:cdio_open_am_linux
obj:/usr/lib/libcdio.so.6.0.1
fun:cdio_open_am
}
{
<First of many Alsa errors>
Memcheck:Cond
fun:snd_pcm_direct_shm_create_or_connect
fun:snd_pcm_dsnoop_open
fun:_snd_pcm_dsnoop_open
obj:/*lib/libasound.so.2.0.0
obj:/*lib/libasound.so.2.0.0
fun:snd_pcm_open_slave
fun:_snd_pcm_plug_open
obj:/*lib/libasound.so.2.0.0
fun:snd_pcm_open_slave
fun:_snd_pcm_asym_open
obj:/*lib/libasound.so.2.0.0
obj:/*lib/libasound.so.2.0.0
}
{
<alsa error>
Memcheck:Cond
fun:snd*_pcm_hw_param_set_near
}
{
<alsa error>
Memcheck:Cond
...
fun:snd*_pcm_hw_param_set_near
}
{
<alsa error>
Memcheck:Cond
obj:/*lib/libasound.so.2.0.0
obj:/*lib/libasound.so.2.0.0
fun:snd_pcm_close
obj:/*lib/libasound.so.2.0.0
}
{
<alsa error>
Memcheck:Cond
fun:snd_pcm_direct_shm_create_or_connect
fun:snd_pcm_dmix_open
fun:_snd_pcm_dmix_open
obj:/*lib/libasound.so.2.0.0
obj:/*lib/libasound.so.2.0.0
fun:snd_pcm_open_slave
fun:_snd_pcm_softvol_open
obj:/*lib/libasound.so.2.0.0
fun:snd_pcm_open_slave
fun:_snd_pcm_plug_open
obj:/*lib/libasound.so.2.0.0
fun:snd_pcm_open_slave
fun:_snd_pcm_asym_open
obj:/*lib/libasound.so.2.0.0
obj:/*lib/libasound.so.2.0.0
}
{
<alsa error>
Memcheck:Leak
fun:malloc
fun:strdup
fun:snd_dlobj_cache_add
obj:/*lib/libasound.so.2.0.0
fun:snd_pcm_open_slave
fun:snd_pcm_dsnoop_open
fun:_snd_pcm_dsnoop_open
obj:/*lib/libasound.so.2.0.0
obj:/*lib/libasound.so.2.0.0
fun:snd_pcm_open_slave
fun:_snd_pcm_plug_open
obj:/*lib/libasound.so.2.0.0
fun:snd_pcm_open_slave
fun:_snd_pcm_asym_open
obj:/*lib/libasound.so.2.0.0
obj:/*lib/libasound.so.2.0.0
}
# Catch about 15 variations on inserting info into an ALSA
# internal cache
{
<alsa error>
Memcheck:Leak
fun:malloc
...
fun:snd*_dlobj_cache_add
obj:/*lib*/libasound.so.2.0.0
}
{
<alsa leak in loading configuration>
Memcheck:Leak
fun:*alloc
...
fun:snd_pcm_open_conf
}
{
<alsa leak snd_config_hook_load>
Memcheck:Leak
fun:*alloc
obj:/*lib*/libasound.so.2.0.0
...
fun:snd_config_hook_load
}
{
<alsa leak snd_config_update_r>
Memcheck:Leak
fun:*alloc
obj:/*lib*/libasound.so.2.0.0
...
fun:snd_config_update_r
fun:snd_config_update
}
{
<alsa leak snd_config_update_r>
Memcheck:Leak
fun:*alloc
fun:strdup
...
fun:snd_config_update_r
fun:snd_config_update
}
{
<nss lookup within ALSA>
Memcheck:Leak
fun:malloc
obj:/lib/libc*.so
fun:__nss_database_lookup
obj:*
obj:*
fun:getgrnam_r
fun:getgrnam
fun:snd_pcm_direct_parse_open_conf
}
{
<libxcb leak on Ubuntu Feisty>
Memcheck:Leak
fun:calloc
fun:_XCBInitDisplayLock
fun:XOpenDisplay
}
# GConf internal initialisations related to getting the default client.
{
<Orbit something or other>
Memcheck:Leak
fun:calloc
fun:g_malloc0
fun:ORBit_alloc_tcval
obj:/usr/lib/libORBit-2.so.*
fun:ORBit_demarshal_IOR
fun:ORBit_demarshal_object
fun:CORBA_ORB_string_to_object
obj:/usr/lib/libgconf-2.so.*
fun:gconf_get_current_lock_holder
fun:gconf_activate_server
obj:/usr/lib/libgconf-2.so.*
obj:/usr/lib/libgconf-2.so.*
fun:gconf_engine_get_default
}
{
<gconf internal leak>
Memcheck:Leak
fun:calloc
fun:g_malloc0
fun:ORBit_alloc_tcval
obj:*
fun:PortableServer_POA_servant_to_reference
fun:*
fun:*
fun:*
fun:gconf_engine_get_default
}
{
<gconf internal leak>
Memcheck:Leak
fun:calloc
fun:g_malloc0
fun:ORBit_alloc_tcval
obj:/usr/lib/libORBit-2.so.*
fun:ORBit_demarshal_IOR
fun:ORBit_demarshal_object
fun:CORBA_ORB_string_to_object
obj:/usr/lib/libgconf-2.so.*
fun:gconf_get_current_lock_holder
fun:gconf_activate_server
obj:/usr/lib/libgconf-2.so.*
obj:/usr/lib/libgconf-2.so.*
fun:gconf_engine_get_default
}
{
<gconf internal initialisation>
Memcheck:Leak
fun:calloc
fun:g_malloc0
fun:ORBit_alloc*
fun:*
fun:ORBit_demarshal_IOR
fun:ORBit_demarshal_object
fun:ORBit_demarshal_value
fun:*
fun:ORBit_small_invoke_stub
fun:ConfigServer_get_default_database
fun:*
fun:gconf_engine_get_default
}
{
<gconf internal init>
Memcheck:Leak
fun:calloc
fun:g_malloc0
fun:ORBit_alloc*
fun:*
fun:IOP_generate_profiles
fun:ORBit_marshal_object
fun:ORBit_marshal_value
fun:*
fun:ORBit_small_invoke_stub
fun:ConfigServer_add_client
fun:*
fun:*
fun:gconf_engine_get_default
}
{
<gconf internal init>
Memcheck:Leak
fun:calloc
fun:g_malloc0
fun:ORBit_alloc_by_tc
fun:*
fun:PortableServer_POA_servant_to_reference
fun:*
fun:*
fun:*
fun:gconf_engine_get_default
}
{
<gconf internal init>
Memcheck:Leak
fun:calloc
fun:g_malloc0
fun:ORBit_alloc_by_tc
obj:/usr/lib/libORBit-2.so.*
fun:ORBit_demarshal_IOR
fun:ORBit_demarshal_object
fun:CORBA_ORB_string_to_object
obj:/usr/lib/libgconf-2.so.*
fun:gconf_get_current_lock_holder
fun:gconf_activate_server
obj:/usr/lib/libgconf-2.so.*
obj:/usr/lib/libgconf-2.so.*
fun:gconf_engine_get_default
}
{
<insert a suppression name here>
Memcheck:Leak
fun:calloc
fun:g_malloc0
fun:ORBit_alloc*
fun:*
fun:ORBit_demarshal_IOR
fun:ORBit_demarshal_object
fun:*
fun:*
fun:gconf_activate_server
}
# Some libORBit/bonobo initialisation stuff
{
<bonobo init>
Memcheck:Leak
fun:malloc
fun:g_malloc
fun:ORBit_alloc_string
fun:CORBA_string_dup
fun:Bonobo_ActivationEnvValue_set
fun:bonobo_activation_init_activation_env
fun:bonobo_activation_orb_init
fun:bonobo_activation_init
}
{
<bonobo init>
Memcheck:Leak
fun:calloc
fun:g_malloc0
fun:ORBit_alloc*
fun:ORBit_small_alloc*
obj:/usr/lib/libORBit-2.so*
fun:PortableServer_POA_servant_to_reference
obj:/usr/lib/libbonobo-2.so*
}
{
<bonobo init>
Memcheck:Leak
fun:calloc
fun:g_malloc0
fun:ORBit_alloc_tcval
fun:ORBit_small_allocbuf
fun:ORBit_adaptor_setup
obj:/usr/lib/libORBit-2.so*
fun:ORBit_POA_setup_root
fun:ORBit_init_internals
fun:CORBA_ORB_init
}
{
<bonobo init - more recent variant of above>
Memcheck:Leak
fun:calloc
fun:g_malloc0
fun:ORBit_alloc_tcval
fun:ORBit_adaptor_setup
fun:*
fun:ORBit_POA_setup_root
fun:ORBit_init_internals
fun:CORBA_ORB_init
}
{
<bonobo init>
Memcheck:Leak
fun:calloc
fun:g_malloc0
fun:ORBit_alloc*
fun:ORBit_small_allocbuf
fun:bonobo_activation_init_activation_env
fun:bonobo_activation_orb_init
fun:bonobo_activation_init
}
# More GConf stuff from the FC5 buildbot, mostly variations on the
# above stack traces
{
<incompletely initialised ORBit buffer>
Memcheck:Param
writev(vector[...])
fun:writev
obj:/usr/lib/libORBit-2.so*
fun:link_connection_writev
fun:giop_send_buffer_write
obj:/usr/lib/libORBit-2.so*
fun:ORBit_small_invoke_stub
fun:ORBit_small_invoke_stub_n
fun:ORBit_c_stub_invoke
fun:ConfigServer_ping
fun:gconf_activate_server
obj:/usr/lib/libgconf-2.so*
obj:/usr/lib/libgconf-2.so*
fun:gconf_engine_get_default
}
{
<gconf init>
Memcheck:Leak
fun:calloc
fun:g_malloc0
fun:ORBit_alloc*
fun:ORBit_small_alloc*
obj:/usr/lib/libORBit-2.so*
fun:PortableServer_POA_servant_to_reference
obj:/usr/lib/libgconf-2.so*
obj:/usr/lib/libgconf-2.so*
obj:/usr/lib/libgconf-2.so*
fun:gconf_engine_get_default
}
{
<gconf init>
Memcheck:Leak
fun:calloc
fun:g_malloc0
fun:ORBit_alloc*
fun:ORBit_small_alloc
obj:/usr/lib/libORBit-2.so*
fun:ORBit_demarshal_IOR
fun:ORBit_demarshal_object
fun:CORBA_ORB_string_to_object
obj:/usr/lib/libgconf-2.so*
fun:gconf_get_current_lock_holder
fun:gconf_activate_server
obj:/usr/lib/libgconf-2.so*
obj:/usr/lib/libgconf-2.so*
fun:gconf_engine_get_default
}
{
<gconf init>
Memcheck:Leak
fun:calloc
fun:g_malloc0
fun:ORBit_alloc*
fun:ORBit_small_alloc*
obj:/usr/lib/libORBit-2.so*
fun:ORBit_demarshal_IOR
fun:ORBit_demarshal_object
fun:CORBA_ORB_string_to_object
obj:/usr/lib/libgconf-2.so*
fun:gconf_get_current_lock_holder
fun:gconf_activate_server
obj:/usr/lib/libgconf-2.so*
obj:/usr/lib/libgconf-2.so*
fun:gconf_engine_get_default
}
{
<bonobo init>
Memcheck:Leak
fun:calloc
fun:g_malloc0
fun:ORBit_alloc*
fun:ORBit_small_alloc*
obj:/usr/lib/libORBit-2.so*
fun:ORBit_demarshal_IOR
fun:ORBit_demarshal_object
fun:ORBit_demarshal_value
obj:/usr/lib/libORBit-2.so*
fun:ORBit_small_invoke_stub
fun:ORBit_small_invoke_stub_n
fun:ORBit_c_stub_invoke
fun:ConfigServer_get_default_database
obj:/usr/lib/libgconf-2.so*
fun:gconf_engine_get_default
}
{
<gconf init>
Memcheck:Leak
fun:calloc
fun:g_malloc0
fun:ORBit_alloc*
fun:ORBit_small_alloc*
obj:/usr/lib/libORBit-2.so*
fun:ORBit_OAObject_object_to_objkey
fun:IOP_generate_profiles
fun:ORBit_marshal_object
fun:ORBit_marshal_value
obj:/usr/lib/libORBit-2.so*
fun:ORBit_small_invoke_stub
fun:ORBit_small_invoke_stub_n
fun:ORBit_c_stub_invoke
fun:ConfigServer_add_client
obj:/usr/lib/libgconf-2.so*
obj:/usr/lib/libgconf-2.so*
fun:gconf_engine_get_default
}
{
<GLib caching the home dir>
Memcheck:Leak
fun:malloc
obj:*libc-*.so
fun:__nss_database_lookup
obj:*
obj:*
fun:getpwnam_r
obj:/usr/lib*/libglib-2.0.so.*
fun:g_get_home_dir
}
{
<GLib caching the user name>
Memcheck:Leak
fun:malloc
obj:*libc-*.so
fun:__nss_database_lookup
obj:*
obj:*
fun:getpwnam_r
obj:/usr/lib*/libglib-2.0.so.*
fun:g_get_user_name
}
{
<GLib caching the tmp dir>
Memcheck:Leak
fun:malloc
obj:*libc-*.so
fun:__nss_database_lookup
obj:*
obj:*
fun:getpwnam_r
obj:/usr/lib*/libglib-2.0.so.*
fun:g_get_tmp_dir
}
{
<GLib caching the host name>
Memcheck:Leak
fun:malloc
obj:*libc-*.so
fun:__nss_database_lookup
obj:*
obj:*
fun:getpwnam_r
obj:/usr/lib*/libglib-2.0.so.0.*