浏览代码

tools/valgrind: add suppression rules

Nathalie Furmento 9 年之前
父节点
当前提交
1512e0e1f2
共有 4 个文件被更改,包括 325 次插入1 次删除
  1. 119 0
      tools/valgrind/hwloc.suppr
  2. 51 0
      tools/valgrind/libc.suppr
  3. 154 0
      tools/valgrind/openmpi.suppr
  4. 1 1
      tools/valgrind/valgrind.sh

+ 119 - 0
tools/valgrind/hwloc.suppr

@@ -39,3 +39,122 @@
    obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
    fun:hwloc_topology_init
 }
+{
+   <insert_a_suppression_name_here>
+   Memcheck:Leak
+   match-leak-kinds: reachable
+   fun:malloc
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+   fun:hwloc_topology_load
+}
+{
+   <insert_a_suppression_name_here>
+   Memcheck:Leak
+   match-leak-kinds: reachable
+   fun:malloc
+   fun:hwloc_bitmap_alloc
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+}
+{
+   <insert_a_suppression_name_here>
+   Memcheck:Leak
+   match-leak-kinds: reachable
+   fun:malloc
+   fun:realloc
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+   fun:hwloc_obj_add_info
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+}
+{
+   <insert_a_suppression_name_here>
+   Memcheck:Leak
+   match-leak-kinds: reachable
+   fun:malloc
+   fun:lt__malloc
+   fun:lt__zalloc
+   obj:/usr/lib/x86_64-linux-gnu/libltdl.so.7.3.0
+   fun:lt_dlopenadvise
+   fun:lt_dlopenext
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+   obj:/usr/lib/x86_64-linux-gnu/libltdl.so.7.3.0
+   obj:/usr/lib/x86_64-linux-gnu/libltdl.so.7.3.0
+   fun:lt_dlforeachfile
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+}
+{
+   <insert_a_suppression_name_here>
+   Memcheck:Leak
+   match-leak-kinds: reachable
+   fun:malloc
+   fun:strdup
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+   fun:hwloc_obj_add_info
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+}
+{
+   <insert_a_suppression_name_here>
+   Memcheck:Leak
+   match-leak-kinds: reachable
+   fun:malloc
+   fun:lt__malloc
+   fun:lt__memdup
+   obj:/usr/lib/x86_64-linux-gnu/libltdl.so.7.3.0
+   obj:/usr/lib/x86_64-linux-gnu/libltdl.so.7.3.0
+   fun:lt_dlopenadvise
+   fun:lt_dlopenext
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+   obj:/usr/lib/x86_64-linux-gnu/libltdl.so.7.3.0
+   obj:/usr/lib/x86_64-linux-gnu/libltdl.so.7.3.0
+   fun:lt_dlforeachfile
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+}
+{
+   <insert_a_suppression_name_here>
+   Memcheck:Leak
+   match-leak-kinds: reachable
+   fun:malloc
+   fun:lt__malloc
+   obj:/usr/lib/x86_64-linux-gnu/libltdl.so.7.3.0
+   fun:lt_dlopenadvise
+   fun:lt_dlopenext
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+   obj:/usr/lib/x86_64-linux-gnu/libltdl.so.7.3.0
+   obj:/usr/lib/x86_64-linux-gnu/libltdl.so.7.3.0
+   fun:lt_dlforeachfile
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+   fun:hwloc_topology_init
+}

+ 51 - 0
tools/valgrind/libc.suppr

@@ -66,3 +66,54 @@
    obj:/lib/x86_64-linux-gnu/ld-2.21.so
 }
 
+{
+   <insert_a_suppression_name_here>
+   Memcheck:Leak
+   match-leak-kinds: reachable
+   fun:calloc
+   fun:_dl_new_object
+   fun:_dl_map_object_from_fd
+   fun:_dl_map_object
+   fun:openaux
+   fun:_dl_catch_error
+   fun:_dl_map_object_deps
+   fun:dl_open_worker
+   fun:_dl_catch_error
+   fun:_dl_open
+   fun:dlopen_doit
+   fun:_dl_catch_error
+}
+{
+   <insert_a_suppression_name_here>
+   Memcheck:Leak
+   match-leak-kinds: reachable
+   fun:malloc
+   fun:_dl_new_object
+   fun:_dl_map_object_from_fd
+   fun:_dl_map_object
+   fun:openaux
+   fun:_dl_catch_error
+   fun:_dl_map_object_deps
+   fun:dl_open_worker
+   fun:_dl_catch_error
+   fun:_dl_open
+   fun:dlopen_doit
+   fun:_dl_catch_error
+}
+{
+   <insert_a_suppression_name_here>
+   Memcheck:Leak
+   match-leak-kinds: reachable
+   fun:malloc
+   fun:strdup
+   fun:_dl_load_cache_lookup
+   fun:_dl_map_object
+   fun:openaux
+   fun:_dl_catch_error
+   fun:_dl_map_object_deps
+   fun:dl_open_worker
+   fun:_dl_catch_error
+   fun:_dl_open
+   fun:dlopen_doit
+   fun:_dl_catch_error
+}

+ 154 - 0
tools/valgrind/openmpi.suppr

@@ -278,3 +278,157 @@
    fun:PMPI_Comm_split
    fun:main
 }
+
+{
+   <insert_a_suppression_name_here>
+   Memcheck:Leak
+   match-leak-kinds: definite
+   fun:malloc
+   fun:orte_grpcomm_base_update_modex_entries
+   fun:orte_grpcomm_base_modex_unpack
+   obj:*
+   obj:*
+   obj:*
+   obj:*
+   obj:*
+   fun:opal_event_base_loop
+   fun:opal_progress
+   obj:*
+   fun:ompi_modex_recv_key_value
+}
+{
+   <insert_a_suppression_name_here>
+   Memcheck:Leak
+   match-leak-kinds: definite
+   fun:malloc
+   obj:/usr/lib/openmpi/lib/libmpi.so.1.0.8
+   fun:orte_grpcomm_base_update_modex_entries
+   fun:orte_grpcomm_base_modex_unpack
+   obj:*
+   obj:*
+   obj:*
+   obj:*
+   obj:*
+   fun:opal_event_base_loop
+   fun:opal_progress
+   obj:*
+}
+{
+   <insert_a_suppression_name_here>
+   Memcheck:Leak
+   match-leak-kinds: indirect
+   fun:malloc
+   fun:orte_grpcomm_base_update_modex_entries
+   fun:orte_grpcomm_base_modex_unpack
+   obj:*
+   obj:*
+   obj:*
+   obj:*
+   obj:*
+   fun:opal_event_base_loop
+   fun:opal_progress
+   obj:*
+   fun:ompi_modex_recv_key_value
+}
+{
+   <insert_a_suppression_name_here>
+   Memcheck:Leak
+   match-leak-kinds: indirect
+   fun:malloc
+   obj:/usr/lib/openmpi/lib/libmpi.so.1.0.8
+   fun:orte_grpcomm_base_update_modex_entries
+   fun:orte_grpcomm_base_modex_unpack
+   obj:*
+   obj:*
+   obj:*
+   obj:*
+   obj:*
+   fun:opal_event_base_loop
+   fun:opal_progress
+   obj:*
+}
+{
+   <insert_a_suppression_name_here>
+   Memcheck:Leak
+   match-leak-kinds: reachable
+   fun:malloc
+   fun:lt__malloc
+   fun:lt__zalloc
+   obj:/usr/lib/x86_64-linux-gnu/libltdl.so.7.3.0
+   fun:lt_dlopenadvise
+   obj:/usr/lib/x86_64-linux-gnu/hwloc/hwloc_cuda.so
+   obj:/usr/lib/x86_64-linux-gnu/hwloc/hwloc_cuda.so
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+   fun:hwloc_topology_init
+   fun:opal_hwloc_unpack
+   fun:opal_dss_unpack_buffer
+   fun:opal_dss_unpack
+}
+{
+   <insert_a_suppression_name_here>
+   Memcheck:Leak
+   match-leak-kinds: reachable
+   fun:malloc
+   fun:strdup
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+   obj:/usr/lib/x86_64-linux-gnu/libltdl.so.7.3.0
+   obj:/usr/lib/x86_64-linux-gnu/libltdl.so.7.3.0
+   fun:lt_dlforeachfile
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+   fun:hwloc_topology_init
+   fun:opal_hwloc_unpack
+   fun:opal_dss_unpack_buffer
+   fun:opal_dss_unpack
+}
+{
+   <insert_a_suppression_name_here>
+   Memcheck:Leak
+   match-leak-kinds: reachable
+   fun:malloc
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+   obj:/usr/lib/x86_64-linux-gnu/libltdl.so.7.3.0
+   obj:/usr/lib/x86_64-linux-gnu/libltdl.so.7.3.0
+   fun:lt_dlforeachfile
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+   obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.5.6.8
+   fun:hwloc_topology_init
+   fun:opal_hwloc_unpack
+   fun:opal_dss_unpack_buffer
+   fun:opal_dss_unpack
+   fun:orte_util_nidmap_init
+}
+{
+   <insert_a_suppression_name_here>
+   Memcheck:Leak
+   match-leak-kinds: definite
+   fun:malloc
+   fun:opal_dss_unpack_string
+   fun:opal_dss_unpack_buffer
+   fun:opal_dss_unpack
+   fun:orte_grpcomm_base_update_modex_entries
+   fun:orte_grpcomm_base_modex_unpack
+   obj:*
+   obj:*
+   obj:*
+   obj:*
+   obj:*
+   fun:opal_event_base_loop
+}
+{
+   <insert_a_suppression_name_here>
+   Memcheck:Leak
+   match-leak-kinds: indirect
+   fun:malloc
+   fun:strdup
+   fun:orte_grpcomm_base_update_modex_entries
+   fun:orte_grpcomm_base_modex_unpack
+   obj:*
+   obj:*
+   obj:*
+   obj:*
+   obj:*
+   fun:opal_event_base_loop
+   fun:opal_progress
+   obj:*
+}

+ 1 - 1
tools/valgrind/valgrind.sh

@@ -1,4 +1,4 @@
 #!/bin/bash
 
 SUPPRESSIONS=$(for f in $(dirname $0)/*.suppr ; do echo "--suppressions=$f" ; done)
-valgrind $SUPPRESSIONS --leak-check=full --show-leak-kinds=all $*
+valgrind $SUPPRESSIONS --leak-check=full --show-leak-kinds=all --gen-suppressions=all $*