From: Mathieu Duponchelle Date: Thu, 12 Apr 2018 16:50:35 +0000 (+0200) Subject: valgrind suppressions: ignore XInitThreads leaks X-Git-Tag: 1.19.3~511^2~1749 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ae7a213628ffdde8d117e50efef27986b496e77d;p=platform%2Fupstream%2Fgstreamer.git valgrind suppressions: ignore XInitThreads leaks As we load that symbol dynamically, valgrind gets confused when it leaks and reports the leak against an unrelated library and an unknown (??) symbol. To address that, put the loading and calling of that symbol in a separate function, and ignore any malloc leak happening in that function. --- diff --git a/tests/check/generic/states.c b/tests/check/generic/states.c index 1167916..bd33b41 100644 --- a/tests/check/generic/states.c +++ b/tests/check/generic/states.c @@ -203,12 +203,14 @@ GST_START_TEST (test_state_changes_down_seq) GST_END_TEST; - -static Suite * -states_suite (void) +/* Separate function because XInitThreads leaks, but valgrind + * gets confused when a dynamically loaded symbol leaks, and + * shows it as a ??? symbol in an unrelated library, making + * it awkward to ignore in the suppression files + */ +static void +call_xinitthreads (void) { - Suite *s = suite_create ("states_base"); - TCase *tc_chain = tcase_create ("general"); GModule *libx11; libx11 = @@ -220,6 +222,15 @@ states_suite (void) } g_module_close (libx11); } +} + +static Suite * +states_suite (void) +{ + Suite *s = suite_create ("states_base"); + TCase *tc_chain = tcase_create ("general"); + + call_xinitthreads (); suite_add_tcase (s, tc_chain); tcase_add_checked_fixture (tc_chain, setup, teardown); diff --git a/tests/check/gst-plugins-base.supp b/tests/check/gst-plugins-base.supp index 3e923c8..0c92fbc 100644 --- a/tests/check/gst-plugins-base.supp +++ b/tests/check/gst-plugins-base.supp @@ -569,3 +569,12 @@ fun:glXChooseFBConfig fun:gst_gl_context_glx_choose_format } +{ + + Memcheck:Leak + match-leak-kinds: definite + fun:malloc + ... + fun:call_xinitthreads + fun:states_suite +}