[Telepathy-commits] [telepathy-gabble/master] Copy valgrind options and suppressions from telepathy-glib

Simon McVittie simon.mcvittie at collabora.co.uk
Thu Aug 21 05:56:08 PDT 2008


---
 tests/twisted/tools/Makefile.am         |    3 +-
 tests/twisted/tools/exec-with-log.sh.in |    6 +-
 tests/twisted/tools/tp-glib.supp        |  357 +++++++++++++++++++++++++++++++
 3 files changed, 364 insertions(+), 2 deletions(-)
 create mode 100644 tests/twisted/tools/tp-glib.supp

diff --git a/tests/twisted/tools/Makefile.am b/tests/twisted/tools/Makefile.am
index 5035174..50aca34 100644
--- a/tests/twisted/tools/Makefile.am
+++ b/tests/twisted/tools/Makefile.am
@@ -1,5 +1,6 @@
 exec-with-log.sh: exec-with-log.sh.in
-	sed -e "s|[@]abs_top_builddir[@]|@abs_top_builddir@|g" $< > $@
+	sed -e "s|[@]abs_top_builddir[@]|@abs_top_builddir@|g" \
+		-e "s|[@]abs_top_srcdir[@]|@abs_top_srcdir@|g" $< > $@
 	chmod +x $@
 
 %.conf: %.conf.in
diff --git a/tests/twisted/tools/exec-with-log.sh.in b/tests/twisted/tools/exec-with-log.sh.in
index d7f3218..3d495d5 100644
--- a/tests/twisted/tools/exec-with-log.sh.in
+++ b/tests/twisted/tools/exec-with-log.sh.in
@@ -7,9 +7,13 @@ ulimit -c unlimited
 exec >> gabble-testing.log 2>&1
 
 if test -n "$GABBLE_TEST_VALGRIND"; then
-	export G_DEBUG=gc-friendly
+	export G_DEBUG=${G_DEBUG:+"${G_DEBUG},"}gc-friendly
 	export G_SLICE=always-malloc
 	GABBLE_WRAPPER="valgrind --leak-check=full --num-callers=20"
+	GABBLE_WRAPPER="$GABBLE_WRAPPER --show-reachable=yes"
+	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/twisted/tools/tp-glib.supp"
 fi
 
 exec $GABBLE_WRAPPER ../telepathy-gabble-debug
diff --git a/tests/twisted/tools/tp-glib.supp b/tests/twisted/tools/tp-glib.supp
new file mode 100644
index 0000000..18177fd
--- /dev/null
+++ b/tests/twisted/tools/tp-glib.supp
@@ -0,0 +1,357 @@
+# Valgrind error suppression file
+{
+   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
+}
+
+{
+   libdbus shared connection via tp_get_bus (1)
+   Memcheck:Leak
+   fun:malloc
+   fun:dbus_malloc
+   obj:/usr/lib/libdbus-1.so.*
+   obj:/usr/lib/libdbus-1.so.*
+   fun:dbus_g_bus_get
+   fun:tp_get_bus
+}
+
+{
+   libdbus shared connection via tp_get_bus (2)
+   Memcheck:Leak
+   fun:calloc
+   fun:dbus_malloc0
+   obj:/usr/lib/libdbus-1.so.*
+   obj:/usr/lib/libdbus-1.so.*
+   obj:/usr/lib/libdbus-1.so.*
+   obj:/usr/lib/libdbus-1.so.*
+   obj:/usr/lib/libdbus-1.so.*
+   obj:/usr/lib/libdbus-1.so.*
+   obj:/usr/lib/libdbus-1.so.*
+   fun:dbus_g_bus_get
+   fun:tp_get_bus
+}
+
+{
+   libdbus shared connection via tp_get_bus (3)
+   Memcheck:Leak
+   fun:realloc
+   fun:dbus_realloc
+   obj:/usr/lib/libdbus-1.so.*
+   obj:/usr/lib/libdbus-1.so.*
+   obj:/usr/lib/libdbus-1.so.*
+   obj:/usr/lib/libdbus-1.so.*
+   obj:/usr/lib/libdbus-1.so.*
+   obj:/usr/lib/libdbus-1.so.*
+   obj:/usr/lib/libdbus-1.so.*
+   obj:/usr/lib/libdbus-1.so.*
+   obj:/usr/lib/libdbus-1.so.*
+   obj:/usr/lib/libdbus-1.so.*
+   obj:/usr/lib/libdbus-1.so.*
+   fun:dbus_g_bus_get
+   fun:tp_get_bus
+}
+
+{
+   g_type_init cruft (1)
+   Memcheck:Leak
+   fun:malloc
+   fun:g_malloc
+   obj:/usr/lib/libgobject-2.0.so.*
+   obj:/usr/lib/libgobject-2.0.so.*
+   fun:g_type_init_with_debug_flags
+   fun:g_type_init
+   fun:main
+}
+
+{
+   g_type_init cruft (1), 2.16 version
+   Memcheck:Leak
+   fun:calloc
+   fun:g_malloc0
+   obj:/usr/lib/libgobject-2.0.so.*
+   obj:/usr/lib/libgobject-2.0.so.*
+   fun:g_type_init_with_debug_flags
+   fun:g_type_init
+   fun:main
+}
+
+{
+   g_type_init cruft (3)
+   Memcheck:Leak
+   fun:realloc
+   fun:g_realloc
+   obj:/usr/lib/libgobject-2.0.so.*
+   obj:/usr/lib/libgobject-2.0.so.*
+   fun:g_type_register_static
+   fun:g_param_type_register_static
+   obj:/usr/lib/libgobject-2.0.so.*
+   fun:g_type_init_with_debug_flags
+   fun:g_type_init
+}
+
+{
+   g_type_init cruft (4)
+   Memcheck:Leak
+   fun:realloc
+   fun:g_realloc
+   fun:g_boxed_type_register_static
+   fun:g_value_array_get_type
+   fun:g_param_spec_types_init
+   fun:g_type_init_with_debug_flags
+   fun:g_type_init
+}
+
+{
+   g_slice_init_nomessage (1)
+   Memcheck:Leak
+   fun:calloc
+   fun:g_malloc0
+   obj:/usr/lib/libglib-2.0.so.*
+   fun:g_slice_alloc
+}
+
+{
+   creating param specs in tp_proxy_class_intern_init
+   Memcheck:Leak
+   fun:memalign
+   fun:posix_memalign
+   fun:slab_allocator_alloc_chunk
+   fun:g_slice_alloc
+   fun:g_slice_alloc0
+   fun:g_type_create_instance
+   fun:g_param_spec_internal
+   fun:g_param_spec_string
+}
+
+{
+   shared global default g_main_context (1)
+   Memcheck:Leak
+   fun:calloc
+   fun:g_malloc0
+   fun:g_main_context_new
+   fun:g_main_context_default
+}
+
+{
+   shared global default g_main_context (2)
+   Memcheck:Leak
+   fun:memalign
+   fun:posix_memalign
+   fun:slab_allocator_alloc_chunk
+   fun:g_slice_alloc
+   fun:g_ptr_array_sized_new
+   fun:g_ptr_array_new
+   fun:g_main_context_new
+   fun:g_main_context_default
+}
+
+{
+   shared global default g_main_context (2) (with G_SLICE_DEBUG=always-malloc)
+   Memcheck:Leak
+   fun:malloc
+   fun:g_malloc
+   fun:g_slice_alloc
+   fun:g_ptr_array_sized_new
+   fun:g_ptr_array_new
+   fun:g_main_context_new
+   fun:g_main_context_default
+}
+
+{
+   GQuarks can't be freed
+   Memcheck:Leak
+   fun:malloc
+   fun:realloc
+   fun:g_realloc
+   fun:g_quark_from_static_string
+}
+
+{
+   GQuark admin
+   Memcheck:Leak
+   fun:memalign
+   fun:posix_memalign
+   fun:slab_allocator_alloc_chunk
+   fun:g_slice_alloc
+   fun:g_hash_table_new_full
+   fun:g_hash_table_new
+   fun:g_quark_from_static_string
+}
+
+{
+   GQuark admin (with G_SLICE_DEBUG=always-malloc)
+   Memcheck:Leak
+   fun:malloc
+   fun:g_malloc
+   fun:g_slice_alloc
+   fun:g_hash_table_new_full
+   fun:g_hash_table_new
+   fun:g_quark_from_static_string
+}
+
+{
+   dlopen initialization, triggered by handle-leak-debug code
+   Memcheck:Leak
+   fun:malloc
+   fun:_dl_map_object
+   fun:dl_open_worker
+   fun:_dl_catch_error
+   fun:_dl_open
+   fun:do_dlopen
+   fun:_dl_catch_error
+   fun:dlerror_run
+   fun:__libc_dlopen_mode
+   fun:init
+   fun:backtrace
+   fun:handle_leak_debug_bt
+   fun:dynamic_ensure_handle
+   fun:tp_handle_ensure
+}
+
+{
+   dlopen initialization, triggered by handle-leak-debug code (2)
+   Memcheck:Leak
+   fun:malloc
+   fun:_dl_new_object
+   fun:_dl_map_object_from_fd
+   fun:_dl_map_object
+   fun:dl_open_worker
+   fun:_dl_catch_error
+   fun:_dl_open
+   fun:do_dlopen
+   fun:_dl_catch_error
+   fun:dlerror_run
+   fun:__libc_dlopen_mode
+   fun:init
+   fun:backtrace
+   fun:handle_leak_debug_bt
+   fun:dynamic_ensure_handle
+   fun:tp_handle_ensure
+}
+
+{
+   dlopen initialization, triggered by handle-leak-debug code (3)
+   Memcheck:Leak
+   fun:malloc
+   fun:_dl_map_object_deps
+   fun:dl_open_worker
+   fun:_dl_catch_error
+   fun:_dl_open
+   fun:do_dlopen
+   fun:_dl_catch_error
+   fun:dlerror_run
+   fun:__libc_dlopen_mode
+   fun:init
+   fun:backtrace
+   fun:handle_leak_debug_bt
+   fun:dynamic_ensure_handle
+   fun:tp_handle_ensure
+}
+
+{
+   dlopen initialization, triggered by handle-leak-debug code (4)
+   Memcheck:Leak
+   fun:calloc
+   fun:_dl_check_map_versions
+   fun:dl_open_worker
+   fun:_dl_catch_error
+   fun:_dl_open
+   fun:do_dlopen
+   fun:_dl_catch_error
+   fun:dlerror_run
+   fun:__libc_dlopen_mode
+   fun:init
+   fun:backtrace
+   fun:handle_leak_debug_bt
+   fun:dynamic_ensure_handle
+   fun:tp_handle_ensure
+   fun:pretend_connected
+   fun:g_timeout_dispatch
+   fun:g_main_context_dispatch
+   fun:g_main_context_iterate
+   fun:g_main_loop_run
+   fun:tp_connection_run_until_ready
+}
+
+{
+   dlopen initialization, triggered by handle-leak-debug code (5)
+   Memcheck:Leak
+   fun:calloc
+   fun:_dl_new_object
+   fun:_dl_map_object_from_fd
+   fun:_dl_map_object
+   fun:dl_open_worker
+   fun:_dl_catch_error
+   fun:_dl_open
+   fun:do_dlopen
+   fun:_dl_catch_error
+   fun:dlerror_run
+   fun:__libc_dlopen_mode
+   fun:init
+   fun:backtrace
+   fun:handle_leak_debug_bt
+   fun:dynamic_ensure_handle
+   fun:tp_handle_ensure
+}
+
+{
+   dlopen initialization, triggered by handle-leak-debug code (6)
+   Memcheck:Leak
+   fun:calloc
+   fun:_dl_check_map_versions
+   fun:dl_open_worker
+   fun:_dl_catch_error
+   fun:_dl_open
+   fun:do_dlopen
+   fun:_dl_catch_error
+   fun:dlerror_run
+   fun:__libc_dlopen_mode
+   fun:init
+   fun:backtrace
+   fun:handle_leak_debug_bt
+   fun:dynamic_ensure_handle
+   fun:tp_handle_ensure
+}
+
+{
+   ld.so initialization + selinux
+   Memcheck:Leak
+   fun:malloc
+   obj:/lib/libselinux.so.*
+   obj:/lib/libselinux.so.*
+   obj:/lib/libselinux.so.*
+   fun:call_init
+   fun:_dl_init
+   obj:/lib/ld-*.so
+}
+
+{
+   ld.so initialization + selinux
+   Memcheck:Leak
+   fun:malloc
+   fun:vasprintf
+   fun:asprintf
+   obj:/lib/libselinux.so.*
+   obj:/lib/libselinux.so.*
+   obj:/lib/libselinux.so.*
+   fun:call_init
+   fun:_dl_init
+   obj:/lib/ld-*.so
+}
+
+{
+   ld.so initialization + selinux
+   Memcheck:Leak
+   fun:realloc
+   fun:vasprintf
+   fun:asprintf
+   obj:/lib/libselinux.so.*
+   obj:/lib/libselinux.so.*
+   obj:/lib/libselinux.so.*
+   fun:call_init
+   fun:_dl_init
+   obj:/lib/ld-*.so
+}
-- 
1.5.6.3



More information about the Telepathy-commits mailing list