Hi,

I'm running some Valgrind test programs (using 3.15.0) that trigger all of the 
Memcheck errors and have noticed that a suppression file (I was accidently 
loading) was suppressing a bunch of the issues, but on the surface the match 
was 'obj:*' for 'fun:*' which is not what I expected.
e.g. without adding the suppression file I get the nice simple Definite Leak

==241898== 8 bytes in 1 blocks are definitely lost in loss record 1 of 2
==241898==    at 0x4C2BF0D: malloc 
(/valgrind/valgrind-3.15.0/src/valgrind-3.15.0/coregrind/m_replacemalloc/vg_replace_malloc.c:309)
==241898==    by 0x400884: LDL_2() (/src/test_valgrind/test_ldl.cpp:72)
==241898==    by 0x4008AE: main (/src/test_valgrind/test_ldl.cpp:80)
==241898==
{
   <insert_a_suppression_name_here>
   Memcheck:Leak
   match-leak-kinds: definite
   fun:malloc
   fun:_Z5LDL_2v
   fun:main
}

Adding in the suppression file the issue is suppressed:

--243931-- used_suppression:      1 <insert_a_suppression_name_here> 
/devel/valgrind_glnxa64.supp:17391 suppressed: 8 bytes in 1 blocks

e.g.
<insert_a_suppression_name_here>
    Memcheck:Leak
    match-leak-kinds:definite
    fun:malloc
    obj:*
    obj:*
    obj:*
}

After reading  '2.5. Suppressing errors' from the user manual I would assume 
using an 'obj:' or a 'fun:' implied there had to be a match of that type, and 
that any wildcard kicked in after the type (i.e. shared lib or function) was 
matched.
Is that not the case?

i.e. is the above suppression really the same as
{
<insert_a_suppression_name_here>
    Memcheck:Leak
    match-leak-kinds:definite
    fun:malloc
}

Thanks
_______________________________________________
Valgrind-users mailing list
Valgrind-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/valgrind-users

Reply via email to