[telepathy-gabble/master] Add gabble specific suppressions file

Sjoerd Simons sjoerd.simons at collabora.co.uk
Sun Dec 20 07:20:40 PST 2009


---
 tests/suppressions/gabble.supp          |  210 +++++++++++++++++++++++++++++++
 tests/twisted/tools/exec-with-log.sh.in |    1 +
 2 files changed, 211 insertions(+), 0 deletions(-)
 create mode 100644 tests/suppressions/gabble.supp

diff --git a/tests/suppressions/gabble.supp b/tests/suppressions/gabble.supp
new file mode 100644
index 0000000..e141d87
--- /dev/null
+++ b/tests/suppressions/gabble.supp
@@ -0,0 +1,210 @@
+# Gabble leaks
+{
+  we leak one default resource hash per process
+  Memcheck:Leak
+  ...
+  fun:g_compute_checksum_for_data
+  fun:sha1_hex
+  fun:gabble_connection_constructed
+}
+
+{
+  Test resolver leaks the records that were added
+  Memcheck:Leak
+  ...
+  fun:test_resolver_add_A
+}
+
+# Glib type registration one-time leaks
+{
+  g_type_init_with_debug_flags leaks one-time per registered type
+  Memcheck:Leak
+   ...
+  fun:g_type_init_with_debug_flags
+}
+
+{
+   g_type_register_fundamental, same story
+   Memcheck:Leak
+   ...
+   fun:g_type_register_fundamental
+}
+
+{
+  Various mixins set type qdata, types stay alive
+  Memcheck:Leak
+  ...
+  fun:g_type_set_qdata
+}
+
+{
+  Information about static interface lives forever
+  Memcheck:Leak
+  ...
+  fun:g_type_add_interface_static
+}
+
+{
+  Type prerequisites
+  Memcheck:Leak
+  ...
+  fun:g_type_interface_add_prerequisite
+}
+
+{
+  Various memory is never freed when first initializing a type class
+  Memcheck:Leak
+  ...
+  fun:g_type_class_ref
+}
+
+# Glib mainloop one time leaks
+{
+  Default main context stays alive an keeps an array around for pending fds
+  Memcheck:Leak
+  fun:malloc
+  fun:g_malloc
+  fun:g_main_context_iterate
+}
+
+{
+  Default main context stays alive an keeps an array for pending dispatches
+  Memcheck:Leak
+  ...
+  fun:g_ptr_array_add
+  fun:g_main_context_check
+  fun:g_main_context_iterate
+}
+
+{
+   Global hashtable of signal handlers, memory allocated when resized
+   Memcheck:Leak
+   fun:calloc
+   fun:g_malloc0
+   fun:g_hash_table_remove_internal
+   fun:g_signal_handlers_destroy
+}
+
+{
+  g_main_loop_run constructs a GStaticPrivate GMainDispatch
+  Memcheck:Leak
+  ...
+  fun:get_dispatch
+}
+
+# glib one-time initialisaton of various bits
+{
+  Random seed initialization
+  Memcheck:Leak
+  ...
+  fun:g_rand_new
+  fun:g_random_int_range
+}
+
+{
+  GDataSet has a global hashtable that leaks per process
+  Memcheck:Leak
+  ...
+  fun:g_data_initialize
+}
+
+{
+  GIO has a static mapping to various connection factories
+  Memcheck:Leak
+  ...
+  fun:g_socket_connection_factory_register_type
+}
+
+{
+  GLib has a static copy of the userdir
+  Memcheck:Leak
+  ...
+  fun:g_init_user_config_dir
+}
+
+{
+   Caching of the tmp location
+   Memcheck:Leak
+   ...
+   fun:g_get_any_init_do
+}
+
+{
+  thread init causes g_get_language_name to cache stuff
+  Memcheck:Leak
+  ...
+  fun:g_get_language_names
+}
+
+{
+   Thread initialisation
+   Memcheck:Leak
+   ...
+   fun:g_private_new_posix_impl
+}
+
+{
+   Thread initialisation
+   Memcheck:Leak
+   ...
+   fun:g_thread_init_glib
+}
+
+# telepathy-glib leaks the dbus connection, which causes dbus to have some
+# stuff around on exit...
+{
+  the subtree that stores objects is reallocated in _register_g_object
+  Memcheck:Leak
+  ...
+  fun:dbus_g_connection_register_g_object
+}
+
+{
+  As we leak a connection, the corresponding dataslots bookkeeping is leaked
+  Memcheck:Leak
+  ...
+  fun:dbus_realloc
+  fun:_dbus_data_slot_allocator_alloc
+  fun:tp_dbus_daemon_constructor
+}
+
+{
+  As we leak a connection, the corresponding dataslots bookkeeping is leaked
+  Memcheck:Leak
+  ...
+  fun:dbus_realloc
+  fun:_dbus_data_slot_list_set
+  fun:dbus_connection_set_data
+  fun:tp_dbus_daemon_constructor
+}
+
+# dbus-glib type registration one-time leaks
+{
+  dbus-glib specialized GTypes are permanent
+  Memcheck:Leak
+  ...
+  fun:lookup_or_register_specialized
+}
+
+{
+  dbus-glib object type information leaks
+  Memcheck:Leak
+  ...
+  fun:dbus_g_object_type_install_info
+}
+
+# misc library one-time leaks
+{
+  global gnutls data
+  Memcheck:Leak
+  ...
+  fun:gnutls_global_init
+}
+
+{
+  selinux, we just don't know
+  Memcheck:Leak
+  fun:malloc
+  fun:getdelim
+  obj:/lib/libselinux.so.1
+}
diff --git a/tests/twisted/tools/exec-with-log.sh.in b/tests/twisted/tools/exec-with-log.sh.in
index e8036b5..6b531b2 100644
--- a/tests/twisted/tools/exec-with-log.sh.in
+++ b/tests/twisted/tools/exec-with-log.sh.in
@@ -15,6 +15,7 @@ if test -n "$GABBLE_TEST_VALGRIND"; then
         GABBLE_WRAPPER="$GABBLE_WRAPPER --gen-suppressions=all"
         GABBLE_WRAPPER="$GABBLE_WRAPPER --child-silent-after-fork=yes"
         GABBLE_WRAPPER="$GABBLE_WRAPPER --suppressions=@abs_top_srcdir@/tests/suppressions/tp-glib.supp"
+        GABBLE_WRAPPER="$GABBLE_WRAPPER --suppressions=@abs_top_srcdir@/tests/suppressions/gabble.supp"
 elif test -n "$GABBLE_TEST_REFDBG"; then
         if test -z "$REFDBG_OPTIONS" ; then
                 export REFDBG_OPTIONS="btnum=10"
-- 
1.5.6.5




More information about the telepathy-commits mailing list