From 172a473d7dfa3e28211758eebad57d4b65b77b2a Mon Sep 17 00:00:00 2001 From: Guillaume Desmottes Date: Fri, 2 Jul 2010 13:46:49 +0200 Subject: sync valgrind supp file with tp-glib's one --- tests/valgrind.supp | 784 ++++++++++++++-------------------------------------- 1 file changed, 203 insertions(+), 581 deletions(-) (limited to 'tests') diff --git a/tests/valgrind.supp b/tests/valgrind.supp index 29bb04547..b92bfccc7 100644 --- a/tests/valgrind.supp +++ b/tests/valgrind.supp @@ -1,711 +1,333 @@ -### this file contains suppressions for valgrind when running -### the gibber/telepathy-salut unit tests based on the gstreamer one +# Valgrind error suppression file -### syscall suppressions +# ============================= libc ================================== { - - Memcheck:Param - clone(parent_tidptr) - fun:clone - fun:clone + ld.so initialization + selinux + Memcheck:Leak + ... + fun:_dl_init + obj:/lib/ld-*.so } { - - Memcheck:Param - clone(child_tidptr) - fun:clone - fun:clone + dlopen initialization, triggered by handle-leak-debug code + Memcheck:Leak + ... + fun:__libc_dlopen_mode + fun:init + fun:backtrace + fun:handle_leak_debug_bt + fun:dynamic_ensure_handle + fun:tp_handle_ensure } { - - Memcheck:Param - clone(tlsinfo) - fun:clone - fun:clone + ld.so initialization on glibc 2.9 + Memcheck:Cond + fun:_dl_relocate_object + fun:dl_main + fun:_dl_sysdep_start + fun:_dl_start + obj:/lib/ld-2.9.so } -### glibc suppressions - { - + ld.so initialization on glibc 2.9 Memcheck:Cond - obj:/lib/ld-2.3.*.so - fun:dl_open_worker - obj:/lib/ld-2.3.*.so - fun:_dl_open - fun:dlopen_doit - obj:/lib/ld-2.3.*.so - fun:_dlerror_run - fun:dlopen@@GLIBC_2.1 - fun:g_module_open + fun:strlen + fun:_dl_init_paths + fun:dl_main + fun:_dl_sysdep_start + fun:_dl_start + obj:/lib/ld-2.9.so } -# glibc does not deallocate thread-local storage - { - - Memcheck:Leak - fun:calloc - fun:_dl_allocate_tls - fun:pthread_create@@* + selinux, we just don't know + Memcheck:Leak + fun:malloc + fun:getdelim + obj:/lib/libselinux.so.1 } -# I get an extra stack entry on x86/dapper +# ============================= GLib ================================== + { - + g_set_prgname copies its argument Memcheck:Leak - fun:calloc - obj:/lib/ld-2.3.*.so - fun:_dl_allocate_tls - fun:pthread_create@@* + ... + fun:g_set_prgname } - { - - Memcheck:Cond - fun:strstr - fun:__pthread_initialize_minimal - obj:/lib/libpthread-*.so - obj:/lib/libpthread-*.so - fun:call_init - fun:_dl_init - obj:/lib/ld-*.so + one g_get_charset per child^Wprocess + Memcheck:Leak + ... + fun:g_get_charset } -# a thread-related free problem in glibc from Edgard { - __libc_freeres_rw_acess - Memcheck:Addr4 - obj:* - obj:* - obj:* - obj:* - obj:* - fun:__libc_freeres + GQuarks can't be freed + Memcheck:Leak + ... + fun:g_quark_from_static_string } { - - Memcheck:Cond - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so + GQuarks can't be freed + Memcheck:Leak + ... + fun:g_quark_from_string } -# g_module_open-related problems { - - Memcheck:Addr2 - fun:memcpy - fun:_dl_map_object_deps - fun:dl_open_worker - fun:_dl_catch_error - fun:_dl_open - fun:dlopen_doit - fun:_dl_catch_error - fun:_dlerror_run - fun:dlopen@@GLIBC_2.1 - fun:g_module_open + interned strings can't be freed + Memcheck:Leak + ... + fun:g_intern_string } { - - Memcheck:Addr4 - fun:memcpy - fun:_dl_map_object_deps - fun:dl_open_worker - fun:_dl_catch_error - fun:_dl_open - fun:dlopen_doit - fun:_dl_catch_error - fun:_dlerror_run - fun:dlopen@@GLIBC_2.1 - fun:g_module_open + interned strings can't be freed + Memcheck:Leak + ... + fun:g_intern_static_string } { - - Memcheck:Cond - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - fun:do_sym - fun:_dl_sym - fun:dlsym_doit - obj:/lib/ld-2.3.*.so - fun:_dlerror_run - fun:dlsym - fun:g_module_symbol - fun:g_module_open + shared global default g_main_context + Memcheck:Leak + ... + fun:g_main_context_new + fun:g_main_context_default } { - - Memcheck:Cond - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - fun:dl_open_worker - obj:/lib/ld-2.3.*.so - fun:_dl_open - fun:dlopen_doit - obj:/lib/ld-2.3.*.so - fun:_dlerror_run - fun:dlopen@@GLIBC_2.1 - fun:g_module_open -} -{ - - Memcheck:Cond - obj:/lib/ld-2.3.*.so - fun:dl_open_worker - obj:/lib/ld-2.3.*.so - fun:_dl_open - fun:dlopen_doit - obj:/lib/ld-2.3.*.so - fun:_dlerror_run - fun:dlopen@@GLIBC_2.1 - fun:g_module_open + GTest initialization + Memcheck:Leak + ... + fun:g_test_init + fun:main } { - + GTest admin Memcheck:Leak - fun:malloc - obj:/lib/ld-2.3.*.so - fun:dl_open_worker - obj:/lib/ld-2.3.*.so - fun:_dl_open - fun:dlopen_doit - obj:/lib/ld-2.3.*.so - fun:_dlerror_run - fun:dlopen@@GLIBC_2.1 - fun:g_module_open + ... + fun:g_test_add_vtable } { - - Memcheck:Addr4 - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - fun:dl_open_worker - obj:/lib/ld-2.3.*.so - fun:_dl_open - fun:dlopen_doit - obj:/lib/ld-2.3.*.so -} - -{ - - Memcheck:Addr4 - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - fun:dl_open_worker - obj:/lib/ld-2.3.*.so - fun:_dl_open - fun:dlopen_doit - obj:/lib/ld-2.3.*.so - fun:_dlerror_run -} - -{ - - Memcheck:Addr4 - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - fun:dl_open_worker - obj:/lib/ld-2.3.*.so - fun:_dl_open - fun:dlopen_doit - obj:/lib/ld-2.3.*.so - fun:_dlerror_run - fun:dlopen@@GLIBC_2.1 - fun:g_module_open + GTest pseudorandomness + Memcheck:Leak + ... + fun:g_rand_new_with_seed_array + fun:test_run_seed + ... + fun:g_test_run } { - - Memcheck:Addr4 - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - fun:dl_open_worker - obj:/lib/ld-2.3.*.so - fun:_dl_open - fun:dlopen_doit - obj:/lib/ld-2.3.*.so - fun:_dlerror_run - fun:dlopen@@GLIBC_2.1 - fun:g_module_open + GSLice initialization + Memcheck:Leak + ... + fun:g_malloc0 + fun:g_slice_init_nomessage + fun:g_slice_alloc } -{ - - Memcheck:Addr4 - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - fun:do_sym - fun:_dl_sym - fun:dlsym_doit - obj:/lib/ld-2.3.*.so - fun:_dlerror_run - fun:dlsym - fun:g_module_symbol - fun:g_module_open -} - -{ - - 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 -} - -# valgrind doesn't allow me to specify a suppression for Addr1, Addr2, Addr4 -# as Addr*, so 3 copies for that; and then 2 of each for that pesky memcpy -{ - - Memcheck:Addr1 - fun:_dl_signal_error - fun:_dl_map_object_deps - fun:dl_open_worker - fun:_dl_catch_error - fun:_dl_open - fun:dlopen_doit - fun:_dl_catch_error - fun:_dlerror_run - fun:dlopen@@GLIBC_2.1 - fun:g_module_open -} - -{ - - Memcheck:Addr2 - fun:_dl_signal_error - fun:_dl_map_object_deps - fun:dl_open_worker - fun:_dl_catch_error - fun:_dl_open - fun:dlopen_doit - fun:_dl_catch_error - fun:_dlerror_run - fun:dlopen@@GLIBC_2.1 - fun:g_module_open -} -{ - - Memcheck:Addr4 - fun:_dl_signal_error - fun:_dl_map_object_deps - fun:dl_open_worker - fun:_dl_catch_error - fun:_dl_open - fun:dlopen_doit - fun:_dl_catch_error - fun:_dlerror_run - fun:dlopen@@GLIBC_2.1 - fun:g_module_open -} - -{ - - Memcheck:Addr1 - fun:memcpy - fun:_dl_signal_error - fun:_dl_map_object_deps - fun:dl_open_worker - fun:_dl_catch_error - fun:_dl_open - fun:dlopen_doit - fun:_dl_catch_error - fun:_dlerror_run - fun:dlopen@@GLIBC_2.1 - fun:g_module_open -} - -{ - - Memcheck:Addr2 - fun:memcpy - fun:_dl_signal_error - fun:_dl_map_object_deps - fun:dl_open_worker - fun:_dl_catch_error - fun:_dl_open - fun:dlopen_doit - fun:_dl_catch_error - fun:_dlerror_run - fun:dlopen@@GLIBC_2.1 - fun:g_module_open -} -{ - - Memcheck:Addr4 - fun:memcpy - fun:_dl_signal_error - fun:_dl_map_object_deps - fun:dl_open_worker - fun:_dl_catch_error - fun:_dl_open - fun:dlopen_doit - fun:_dl_catch_error - fun:_dlerror_run - fun:dlopen@@GLIBC_2.1 - fun:g_module_open -} - -{ - - Memcheck:Addr8 - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - obj:/lib/ld-2.3.*.so - obj:/lib/libc-2.3.*.so - obj:/lib/ld-2.3.*.so - fun:_dl_open - obj:/lib/libdl-2.3.*.so - obj:/lib/ld-2.3.*.so -} - -{ - - Memcheck:Cond - obj:/lib/ld-2.3.*.so - obj:/lib/libc-2.3.*.so - obj:/lib/ld-2.3.*.so - fun:_dl_open - obj:/lib/libdl-2.3.*.so - obj:/lib/ld-2.3.*.so - obj:/lib/libdl-2.3.*.so - fun:dlopen - fun:g_module_open -} +# ============================= GObject =============================== { - - Memcheck:Addr4 - obj:/lib/ld-2.3.6.so - obj:/lib/ld-2.3.6.so - obj:/lib/tls/i686/cmov/libc-2.3.6.so - obj:/lib/ld-2.3.6.so - fun:_dl_open - obj:/lib/tls/i686/cmov/libdl-2.3.6.so - obj:/lib/ld-2.3.6.so - obj:/lib/tls/i686/cmov/libdl-2.3.6.so - fun:dlopen + g_type_init + Memcheck:Leak + ... + fun:g_type_init } { - - Memcheck:Cond - obj:/lib/ld-2.3.6.so - obj:/lib/tls/i686/cmov/libc-2.3.6.so - obj:/lib/ld-2.3.6.so - fun:_dl_open - obj:/lib/tls/i686/cmov/libdl-2.3.6.so - obj:/lib/ld-2.3.6.so - obj:/lib/tls/i686/cmov/libdl-2.3.6.so - fun:dlopen + g_type_init_with_debug_flags + Memcheck:Leak + ... + fun:g_type_init_with_debug_flags } { - - Memcheck:Cond - obj:/lib/ld-2.3.6.so - obj:/lib/ld-2.3.6.so - obj:/lib/ld-2.3.6.so - obj:/lib/tls/i686/cmov/libc-2.3.6.so - obj:/lib/ld-2.3.6.so - fun:_dl_open - obj:/lib/tls/i686/cmov/libdl-2.3.6.so - obj:/lib/ld-2.3.6.so - obj:/lib/tls/i686/cmov/libdl-2.3.6.so - fun:dlopen + g_type_register_static + Memcheck:Leak + ... + fun:g_type_register_static } -### glib suppressions { - - Memcheck:Cond - fun:g_parse_debug_string - obj:/usr/lib*/libglib-2.0.so.* - fun:g_slice_alloc - fun:g_slice_alloc0 + g_type_add_interface_static + Memcheck:Leak + ... + fun:g_type_add_interface_static } +# ============================= GIO =================================== + { - + g_simple_async_result class Memcheck:Leak - fun:malloc - fun:g_malloc - fun:g_strdup - fun:g_quark_from_string - obj:* - obj:* - fun:g_type_register_fundamental - obj:* - fun:g_type_init_with_debug_flags - fun:g_type_init + ... + fun:g_type_class_ref + ... + fun:g_simple_async_result_new } +# ============================= dbus-glib ============================= + { - - Memcheck:Leak - fun:calloc - fun:g_malloc0 - obj:* - obj:* - fun:g_type_register_fundamental + dbus-glib, https://bugs.freedesktop.org/show_bug.cgi?id=14125 + Memcheck:Addr4 + fun:g_hash_table_foreach + obj:/usr/lib/libdbus-glib-1.so.2.1.0 + fun:g_object_run_dispose } { - + registering marshallers is permanent Memcheck:Leak - fun:calloc - fun:g_malloc0 - obj:* - obj:* - fun:g_type_init_with_debug_flags + ... + fun:dbus_g_object_register_marshaller_array + fun:dbus_g_object_register_marshaller } { - + dbus-glib specialized GTypes are permanent Memcheck:Leak - fun:calloc - fun:g_malloc0 - fun:g_slice_alloc - obj:* - obj:* - fun:g_type_init_with_debug_flags + ... + fun:dbus_g_type_specialized_init } -#pthread memleaks - { - Thread creation leak + libdbus shared connection Memcheck:Leak - fun:calloc - fun:allocate_dtv - fun:_dl_allocate* - fun:_dl_allocate* - fun:__pthread_initialize_minimal + ... + fun:dbus_g_bus_get } { - Thread management leak + dbus-gobject registrations aren't freed unless we fall off the bus Memcheck:Leak - fun:calloc - fun:allocate_dtv - fun:_dl_allocate* - fun:_dl_allocate* - fun:__pthread_* + ... + fun:g_slist_append + fun:dbus_g_connection_register_g_object } { - Thread management leak 2 + DBusGProxy slots aren't freed unless we fall off the bus Memcheck:Leak - fun:memalign - fun:_dl_allocate* - fun:_dl_allocate* - fun:__pthread_* + ... + fun:dbus_connection_allocate_data_slot + ... + fun:dbus_g_proxy_constructor } { - 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* - + error registrations are for life, not just for Christmas + Memcheck:Leak + ... + fun:dbus_g_error_domain_register } -# nss_parse_* memleak (used by g_option_context_parse) +# ============================= telepathy-glib ======================== + { - nss_parse_* memleak + tp_dbus_daemon_constructor @daemons once per DBusConnection Memcheck:Leak - fun:malloc - fun:nss_parse_service_list - fun:__nss_database_lookup + ... + fun:g_slice_alloc + fun:tp_dbus_daemon_constructor } { - - Memcheck:Addr8 - obj:/lib/ld-2.3.6.so + tp_proxy_subclass_add_error_mapping refs the enum + Memcheck:Leak + ... + fun:g_type_class_ref + fun:tp_proxy_subclass_add_error_mapping } { - - 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 + tp_proxy_or_subclass_hook_on_interface_add never frees its list + Memcheck:Leak + ... + fun:tp_proxy_or_subclass_hook_on_interface_add } { - - Memcheck:Cond - obj:/lib/ld-2.3.6.so - obj:/lib/ld-2.3.6.so - fun:_dl_open - obj:/lib/libdl-2.3.6.so - obj:/lib/ld-2.3.6.so - obj:/lib/libdl-2.3.6.so - fun:dlopen - fun:g_module_open -} -# this exists in a bunch of different variations, hence the short tail/trace -{ - - Memcheck:Addr4 - obj:/lib/ld-2.4.so - obj:/lib/ld-2.4.so -} -{ - - Memcheck:Addr8 - obj:/lib/ld-2.4.so - obj:/lib/ld-2.4.so -} - -# More edgy suppressions (Mike) -{ - - Memcheck:Cond - obj:/lib/ld-2.4.so - obj:/lib/ld-2.4.so - obj:/lib/ld-2.4.so - obj:/lib/ld-2.4.so - fun:dlopen_doit - obj:/lib/ld-2.4.so - fun:_dlerror_run - fun:dlopen@@GLIBC_2.1 -} - -{ - - Memcheck:Cond - obj:/lib/ld-2.4.so - obj:/lib/ld-2.4.so - obj:/lib/ld-2.4.so - obj:/lib/ld-2.4.so - obj:/lib/ld-2.4.so - obj:/lib/ld-2.4.so - fun:dlopen_doit - obj:/lib/ld-2.4.so - fun:_dlerror_run - fun:dlopen@@GLIBC_2.1 -} - -{ - - Memcheck:Cond - obj:/lib/ld-2.4.so - obj:/lib/ld-2.4.so - obj:/lib/ld-2.4.so - fun:do_sym - fun:_dl_sym -} - -# This one's overly general, but there's zero other information in the stack -# trace - just these five lines! -{ - - Memcheck:Cond - obj:/lib/ld-2.4.so - obj:/lib/ld-2.4.so - obj:/lib/ld-2.4.so - obj:/lib/ld-2.4.so - obj:/lib/ld-2.4.so + tp_dbus_daemon_constructor filter not freed til we fall off the bus + Memcheck:Leak + ... + fun:dbus_connection_add_filter + fun:tp_dbus_daemon_constructor } { - + tp_g_socket_address_from_variant reffing GNIO types Memcheck:Leak - fun:calloc - obj:/lib/ld-2.4.so - fun:_dl_allocate_tls - fun:pthread_create@@GLIBC_2.1 + ... + fun:g_type_class_ref + ... + fun:tp_g_socket_address_from_variant } { - + creating classes for DBusGProxy 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 + ... + fun:g_type_class_ref + ... + fun:g_object_new + ... + fun:tp_proxy_borrow_interface_by_id } -# TLS leaks for feisty/x86 { - + creating classes for tp_dbus_daemon_new Memcheck:Leak - fun:calloc - fun:allocate_dtv - fun:_dl_allocate_tls - fun:pthread_create@@GLIBC_2.1 + ... + fun:g_type_class_ref + ... + fun:g_object_new + ... + fun:tp_dbus_daemon_new } { - - Memcheck:Addr8 - obj:/lib/ld-2.5.so + creating classes for TpCHannel + Memcheck:Leak + ... + fun:g_type_class_ref + ... + fun:g_object_new + ... + fun:tp_channel_new } { - + creating a boxed type to use in TpCapabilities Memcheck:Leak - fun:malloc - obj:/lib/libc-*.so - fun:__nss_database_lookup - obj:* - obj:* - fun:getpwnam_r - fun:g_get_any_init_do - fun:g_get_home_dir + ... + fun:g_type_class_ref + ... + fun:g_param_spec_boxed + fun:tp_capabilities_class_intern_init } + +# ============================= questionable ========================== + { - + creating classes for instances (this is a pretty big hammer) Memcheck:Leak - fun:malloc - obj:/lib/libc-*.so - fun:__nss_database_lookup - obj:* - obj:* - fun:getpwnam_r - fun:g_get_any_init_do - fun:g_get_user_name + ... + fun:g_type_class_ref + ... + fun:g_type_create_instance + ... + fun:g_param_spec_string } -- cgit v1.2.3