]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
src/valgrind.supp: replace with the teuthology's whitelist.
authorRadoslaw Zarzynski <rzarzyns@redhat.com>
Fri, 29 Mar 2019 02:19:32 +0000 (03:19 +0100)
committerSage Weil <sage@redhat.com>
Tue, 2 Apr 2019 15:54:03 +0000 (10:54 -0500)
This change drops src/valgrind.supp file and transplates
the current teuthology's whitelist into qa/valgrind.supp.

This commit has sibiling in the teuthology repo dropping
the file there.

The rationale behind the entire change is duplication of these
files between two repos, their inconsistencies and confusion.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
(cherry picked from commit d10ab9ebfdb4aa5ae285f1e2b89fd490584b0cb3)

qa/valgrind.supp [new file with mode: 0644]
src/valgrind.supp [deleted file]

diff --git a/qa/valgrind.supp b/qa/valgrind.supp
new file mode 100644 (file)
index 0000000..8de239e
--- /dev/null
@@ -0,0 +1,585 @@
+{
+   older boost mersenne twister uses uninitialized memory for randomness
+   Memcheck:Cond
+   ...
+   fun:*Monitor::prepare_new_fingerprint*
+   ...
+}
+{
+   older boost mersenne twister uses uninitialized memory for randomness
+   Memcheck:Value8
+   ...
+   fun:*Monitor::prepare_new_fingerprint*
+   ...
+}
+{
+   apparent TLS leak in eglibc
+   Memcheck:Leak
+   fun:calloc
+   fun:_dl_allocate_tls
+   fun:pthread_create*
+   ...
+}
+{
+   osd: ignore ec plugin loading (FIXME SOMEDAY)
+   Memcheck:Leak
+   ...
+   fun:*ErasureCodePluginRegistry*load*
+   ...
+}
+{
+   osd: ignore ec plugin factory (FIXME SOMEDAY)
+   Memcheck:Leak
+   ...
+   fun:*ErasureCodePluginRegistry*factory*
+   ...
+}
+{
+   tcmalloc: libboost_thread-mt.so.1.53 is linked with tcmalloc
+   Memcheck:Param
+   msync(start)
+   obj:/usr/lib64/libpthread-2.17.so
+   obj:/usr/lib64/libunwind.so.8.0.1
+   obj:/usr/lib64/libunwind.so.8.0.1
+   obj:/usr/lib64/libunwind.so.8.0.1
+   obj:/usr/lib64/libunwind.so.8.0.1
+   ...
+   fun:*tcmalloc*ThreadCache*
+   ...
+   obj:/usr/lib64/libboost_thread-mt.so.1.53.0
+}
+{
+   tcmalloc: msync heap allocation points to uninit bytes (centos 6.5)
+   Memcheck:Param
+   msync(start)
+   obj:/lib64/libpthread-2.12.so
+   obj:/usr/lib64/libunwind.so.8.0.1
+   obj:/usr/lib64/libunwind.so.8.0.1
+   obj:/usr/lib64/libunwind.so.8.0.1
+   obj:/usr/lib64/libunwind.so.8.0.1
+   fun:_ULx86_64_step
+   fun:_Z13GetStackTracePPvii
+   fun:_ZN8tcmalloc8PageHeap8GrowHeapEm
+   fun:_ZN8tcmalloc8PageHeap3NewEm
+}
+{
+   tcmalloc: msync heap allocation points to unaddressible bytes (centos 6.5 #2)
+   Memcheck:Param
+   msync(start)
+   obj:/lib64/libpthread-2.12.so
+   obj:/usr/lib64/libunwind.so.7.0.0
+   fun:_ULx86_64_step
+   fun:_Z13GetStackTracePPvii
+   fun:_ZN8tcmalloc8PageHeap8GrowHeapEm
+   fun:_ZN8tcmalloc8PageHeap3NewEm
+}
+{
+   tcmalloc: msync heap allocation points to uninit bytes (rhel7)
+   Memcheck:Param
+   msync(start)
+   obj:/usr/lib64/libpthread-2.17.so
+   obj:/usr/lib64/libunwind.so.8.0.1
+   obj:/usr/lib64/libunwind.so.8.0.1
+   obj:/usr/lib64/libunwind.so.8.0.1
+   obj:/usr/lib64/libunwind.so.8.0.1
+   fun:_ULx86_64_step
+   fun:_Z13GetStackTracePPvii
+   fun:_ZN8tcmalloc8PageHeap8GrowHeapEm
+   fun:_ZN8tcmalloc8PageHeap3NewEm
+}
+{
+   tcmalloc: msync heap allocation points to uninit bytes (rhel7 #2)
+   Memcheck:Param
+   msync(start)
+   obj:/usr/lib64/libpthread-2.17.so
+   obj:/usr/lib64/libunwind.so.8.0.1
+   obj:/usr/lib64/libunwind.so.8.0.1
+   obj:/usr/lib64/libunwind.so.8.0.1
+   obj:/usr/lib64/libunwind.so.8.0.1
+   fun:_ULx86_64_step
+   obj:/usr/lib64/libtcmalloc.so.4.2.6
+   fun:_Z13GetStackTracePPvii
+   fun:_ZN8tcmalloc8PageHeap8GrowHeapEm
+   fun:_ZN8tcmalloc8PageHeap3NewEm
+}
+{
+   tcmalloc: msync heap allocation points to uninit bytes (wheezy)
+   Memcheck:Param
+   msync(start)
+   obj:/lib/x86_64-linux-gnu/libpthread-2.13.so
+   obj:/usr/lib/libunwind.so.7.0.0
+   fun:_ULx86_64_step
+   fun:_Z13GetStackTracePPvii
+   fun:_ZN8tcmalloc8PageHeap8GrowHeapEm
+   fun:_ZN8tcmalloc8PageHeap3NewEm
+}
+{
+   tcmalloc: msync heap allocation points to uninit bytes (precise)
+   Memcheck:Param
+   msync(start)
+   obj:/lib/x86_64-linux-gnu/libpthread-2.15.so
+   obj:/usr/lib/libunwind.so.7.0.0
+   fun:_ULx86_64_step
+   fun:_Z13GetStackTracePPvii
+   fun:_ZN8tcmalloc8PageHeap8GrowHeapEm
+   fun:_ZN8tcmalloc8PageHeap3NewEm
+   obj:/usr/lib/libtcmalloc.so.0.1.0
+}
+{
+   tcmalloc: msync heap allocation points to uninit bytes (trusty)
+   Memcheck:Param
+   msync(start)
+   obj:/lib/x86_64-linux-gnu/libpthread-2.19.so
+   obj:/usr/lib/x86_64-linux-gnu/libunwind.so.8.0.1
+   obj:/usr/lib/x86_64-linux-gnu/libunwind.so.8.0.1
+   obj:/usr/lib/x86_64-linux-gnu/libunwind.so.8.0.1
+   obj:/usr/lib/x86_64-linux-gnu/libunwind.so.8.0.1
+   fun:_ULx86_64_step
+   fun:_Z13GetStackTracePPvii
+   fun:_ZN8tcmalloc8PageHeap8GrowHeapEm
+   fun:_ZN8tcmalloc8PageHeap3NewEm
+}
+{
+   tcmalloc: msync heap allocation points to uninit bytes 2 (trusty)
+   Memcheck:Param
+   msync(start)
+   fun:__msync_nocancel
+   obj:/usr/lib/x86_64-linux-gnu/libunwind.so.8.0.1
+   obj:/usr/lib/x86_64-linux-gnu/libunwind.so.8.0.1
+   obj:/usr/lib/x86_64-linux-gnu/libunwind.so.8.0.1
+   obj:/usr/lib/x86_64-linux-gnu/libunwind.so.8.0.1
+   fun:_ULx86_64_step
+   fun:_Z13GetStackTracePPvii
+   fun:_ZN8tcmalloc8PageHeap8GrowHeapEm
+   fun:_ZN8tcmalloc8PageHeap3NewEm
+   fun:_ZN8tcmalloc15CentralFreeList8PopulateEv
+   fun:_ZN8tcmalloc15CentralFreeList18FetchFromSpansSafeEv
+   fun:_ZN8tcmalloc15CentralFreeList11RemoveRangeEPPvS2_i
+}
+{
+   tcmalloc: msync (xenial)
+   Memcheck:Param
+   msync(start)
+   fun:__msync_nocancel
+   obj:/usr/lib/x86_64-linux-gnu/libunwind.so.8.0.1
+   obj:/usr/lib/x86_64-linux-gnu/libunwind.so.8.0.1
+   obj:/usr/lib/x86_64-linux-gnu/libunwind.so.8.0.1
+   obj:/usr/lib/x86_64-linux-gnu/libunwind.so.8.0.1
+   obj:*tcmalloc*
+   fun:*GetStackTrace*
+}
+{
+       tcmalloc: string
+       Memcheck:Leak
+       ...
+       obj:*tcmalloc*
+       fun:call_init*
+       ...
+}
+{
+       ceph global: deliberate onexit leak
+       Memcheck:Leak
+       ...
+       fun:*set_flush_on_exit*
+       ...
+}
+{
+       libleveldb: ignore all static leveldb leaks
+       Memcheck:Leak
+       ...
+       fun:*leveldb*
+       ...
+}
+{
+       libleveldb: ignore all dynamic libleveldb leaks
+       Memcheck:Leak
+       ...
+       obj:*libleveldb.so*
+       ...
+}
+{
+       libcurl: ignore libcurl leaks
+       Memcheck:Leak
+       ...
+       fun:*curl_global_init
+}
+{
+       ignore gnutls leaks
+       Memcheck:Leak
+       ...
+       fun:gnutls_global_init
+}
+{
+       ignore libfcgi leak; OS_LibShutdown has no callers!
+       Memcheck:Leak
+       ...
+       fun:OS_LibInit
+       fun:FCGX_Init
+}
+{
+       ignore libnss3 leaks
+       Memcheck:Leak
+       ...
+       obj:*libnss3*
+       ...
+}
+{
+        strptime suckage
+        Memcheck:Cond
+        fun:__GI___strncasecmp_l
+        fun:__strptime_internal
+        ...
+}
+{
+        strptime suckage 2
+        Memcheck:Value8
+        fun:__GI___strncasecmp_l
+        fun:__strptime_internal
+        ...
+}
+{
+        strptime suckage 3
+        Memcheck:Addr8
+        fun:__GI___strncasecmp_l
+        fun:__strptime_internal
+        ...
+}
+{
+       inet_ntop does something lame on local stack
+       Memcheck:Value8
+       ...
+       fun:inet_ntop
+       ...
+}
+{
+       inet_ntop does something lame on local stack
+       Memcheck:Addr8
+       ...
+       fun:inet_ntop
+       ...
+}
+{
+       dl-lookup.c thing .. Invalid write of size 8
+       Memcheck:Value8
+       fun:do_lookup_x
+       ...
+       fun:_dl_lookup_symbol_x
+       ...
+}
+{
+       dl-lookup.c thing .. Invalid write of size 8
+       Memcheck:Addr8
+       fun:do_lookup_x
+       ...
+       fun:_dl_lookup_symbol_x
+       ...
+}
+{
+       weird thing from libc
+       Memcheck:Leak
+       ...
+       fun:*sub_I_comparator*
+       fun:__libc_csu_init
+       ...
+}
+{
+       libfuse leak
+       Memcheck:Leak
+       ...
+       fun:fuse_parse_cmdline
+       ...
+}
+{
+       boost thread leaks on exit
+       Memcheck:Leak
+       ...
+       fun:*boost*detail*
+       ...
+       fun:exit
+}
+{
+       lttng appears to not clean up state
+       Memcheck:Leak
+       ...
+       fun:lttng_ust_baddr_statedump_init
+       fun:lttng_ust_init
+       fun:call_init.part.0
+       ...
+}
+{
+       fun:PK11_CreateContextBySymKey race
+       Helgrind:Race
+       obj:/usr/*lib*/libfreebl*3.so
+       ...
+       obj:/usr/*lib*/libsoftokn3.so
+       ...
+       obj:/usr/*lib*/libnss3.so
+       fun:PK11_CreateContextBySymKey
+       ...
+}
+{
+       thread init race
+       Helgrind:Race
+       fun:mempcpy
+       fun:_dl_allocate_tls_init
+       ...
+       fun:pthread_create@*
+       ...
+}
+{
+       thread_local memory is falsely detected (https://svn.boost.org/trac/boost/ticket/3296)
+       Memcheck:Leak
+       ...
+       fun:*boost*detail*get_once_per_thread_epoch*
+       fun:*boost*call_once*
+       fun:*boost*detail*get_current_thread_data*
+       ...
+}
+{
+       rocksdb thread local singletons
+       Memcheck:Leak
+       ...
+       fun:rocksdb::Env::Default()
+       ...
+}
+{
+       rocksdb column thread local leaks
+       Memcheck:Leak
+       ...
+       fun:rocksdb::ThreadLocalPtr::StaticMeta::SetHandler*
+       fun:rocksdb::ColumnFamilyData::ColumnFamilyData*
+       ...
+}
+{
+       rocksdb thread crap
+       Memcheck:Leak
+       ...
+       fun:*ThreadLocalPtr*
+       ...
+}
+{
+       rocksdb singleton Env leak, blech
+       Memcheck:Leak
+       ...
+       fun:CreateThreadStatusUpdater
+       fun:PosixEnv
+       ...
+}
+{
+       rocksdb::Env::Default()
+       Memcheck:Leak
+       ...
+       fun:*rocksdb*Env*Default*
+       ...
+}
+{
+       rocksdb BGThreadWrapper
+       Memcheck:Leak
+       ...
+       fun:*BGThreadWrapper*
+       ...
+}
+{
+       libstdc++ leak on xenial
+       Memcheck:Leak
+       fun:malloc
+       ...
+       fun:call_init.part.0
+       fun:call_init
+       fun:_dl_init
+       ...
+}
+{
+       strange leak of std::string memory from md_config_t seen in radosgw
+       Memcheck:Leak
+       ...
+       fun:_ZNSs4_Rep9_S_createEmmRKSaIcE
+       fun:_ZNSs12_S_constructIPKcEEPcT_S3_RKSaIcESt20forward_iterator_tag
+       ...
+       fun:_ZN11md_config_tC1Ev
+       fun:_ZN11CephContextC1Eji
+       ...
+}
+{
+    python does not reset the member field when dealloc an object
+    Memcheck:Leak
+    match-leak-kinds: all
+    ...
+    fun:Py_InitializeEx
+    ...
+}
+{
+    statically allocated python types don't get members freed
+    Memcheck:Leak
+    match-leak-kinds: all
+    ...
+    fun:PyType_Ready
+    ...
+}
+{
+    manually constructed python module members don't get freed
+    Memcheck:Leak
+    match-leak-kinds: all
+    ...
+    fun:Py_InitModule4_64
+    ...
+}
+{
+    manually constructed python module members don't get freed
+    Memcheck:Leak
+    match-leak-kinds: all
+    ...
+    fun:PyModule_AddObject
+    ...
+}
+{
+    python subinterpreters may not clean up properly
+    Memcheck:Leak
+    match-leak-kinds: all
+    ...
+    fun:Py_NewInterpreter
+    ...
+}
+{
+    python should be able to take care of itself
+    Memcheck:Leak
+    match-leak-kinds: all
+    ...
+    fun:PyEval_EvalCode
+}
+{
+    python should be able to take care of itself
+    Memcheck:Leak
+    match-leak-kinds: all
+    ...
+    fun:PyImport_ImportModuleLevel
+}
+{
+    python-owned threads may not full clean up after themselves
+    Memcheck:Leak
+    match-leak-kinds: all
+    ...
+    fun:PyEval_CallObjectWithKeywords
+}
+{
+    python should be able to take care of itself
+    Memcheck:Leak
+    match-leak-kinds: all
+    ...
+    fun:PyEval_EvalFrameEx
+    ...
+    obj:/usr/lib64/libpython2.7.so.1.0
+}
+{
+    python should be able to take care of itself
+    Memcheck:Leak
+    match-leak-kinds: all
+    ...
+    fun:PyObject_Call
+}
+
+{
+   rados cython constants
+   Memcheck:Leak
+   match-leak-kinds: definite
+   fun:malloc
+   fun:PyObject_Malloc
+   fun:PyCode_New
+   fun:__Pyx_InitCachedConstants
+   fun:initrados
+   fun:_PyImport_LoadDynamicModule
+   ...
+   fun:PyImport_ImportModuleLevel
+   ...
+   fun:PyObject_Call
+   fun:PyEval_CallObjectWithKeywords
+   fun:PyEval_EvalFrameEx
+}
+
+{
+   rbd cython constants
+   Memcheck:Leak
+   match-leak-kinds: definite
+   fun:malloc
+   fun:PyObject_Malloc
+   fun:PyCode_New
+   fun:__Pyx_InitCachedConstants
+   fun:initrbd
+   fun:_PyImport_LoadDynamicModule
+   ...
+   fun:PyImport_ImportModuleLevel
+   ...
+   fun:PyObject_Call
+   fun:PyEval_CallObjectWithKeywords
+   fun:PyEval_EvalFrameEx
+}
+
+{
+  dlopen() with -lceph-common https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=700899
+  Memcheck:Leak
+  match-leak-kinds: reachable
+  fun:*alloc
+  ...
+  fun:_dlerror_run
+  fun:dlopen@@GLIBC_2.2.5
+}
+
+{
+  ethdev_init_log thing
+  Memcheck:Leak
+  match-leak-kinds: reachable
+  ...
+  fun:ethdev_init_log
+  ...
+}
+
+{
+  rte_log_init() in DPDK fails to reset strdup()'ed string at exit
+  Memcheck:Leak
+  match-leak-kinds: reachable
+  fun:*alloc
+  ...
+  fun:rte_log_init
+  fun:__libc_csu_init
+}
+
+{
+  libc_csu_init (strdup, rte_log_register, etc.)
+  Memcheck:Leak
+  match-leak-kinds: reachable
+  ...
+  fun:__libc_csu_init
+  ...
+}
+
+{
+  Boost.Thread fails to call tls_destructor() when the thread exists
+  Memcheck:Leak
+  match-leak-kinds: reachable
+  ...
+  fun:*boost*detail*make_external_thread_data*
+  fun:*boost*detail*add_new_tss_node*
+  fun:*boost*detail*set_tss_data*
+  ...
+}
+
+{
+  ignore *all* ceph-mgr python crap.  this is overkill, but better than nothing
+  Memcheck:Leak
+  match-leak-kinds: all
+  ...
+  fun:Py*
+  ...
+}
+
+{
+  something in glibc
+  Memcheck:Leak
+  match-leak-kinds: all
+  ...
+  fun:strdup
+  fun:__trans_list_add
+  ...
+  fun:_dl_init
+  ...
+}
diff --git a/src/valgrind.supp b/src/valgrind.supp
deleted file mode 100644 (file)
index 369d7b8..0000000
+++ /dev/null
@@ -1,263 +0,0 @@
-# some valgrind suppressions
-# to load these automagically,
-# cat > ~/.valgrindrc
-# --suppressions=valgrind.supp 
-# <control-d>
-
-
-# this one makes valgrind shut up about what appears to be a bug in libc's writev.
-{
-   writev uninit bytes thing -sage
-   Memcheck:Param
-   writev(vector[...])
-   fun:writev
-   fun:_ZN11BlockDevice6_writeEijjRN6buffer4listE
-   fun:_ZN11BlockDevice5do_ioEiRSt4listIPNS_6biovecESaIS2_EE
-   fun:_ZN11BlockDevice15io_thread_entryEv
-   fun:_ZN11BlockDevice8IOThread5entryEv
-   fun:_ZN6Thread11_entry_funcEPv
-   fun:start_thread
-   fun:clone
-   obj:*
-   obj:*
-   obj:*
-   obj:*
-}
-
-# gethostbyname
-{
-   gethostbyname on issdm
-   Memcheck:Param
-   socketcall.sendto(msg)
-   fun:send
-   fun:get_mapping
-   fun:__nscd_get_map_ref
-   fun:nscd_gethst_r
-   fun:__nscd_gethostbyname_r
-   fun:gethostbyname_r@@GLIBC_2.2.5
-   fun:gethostbyname
-   fun:_ZN4Rank8Accepter5startEv
-   fun:_ZN4Rank10start_rankEv
-   fun:main
-}
-{
-   <insert a suppression name here>
-   Memcheck:Param
-   socketcall.sendto(msg)
-   fun:send
-   fun:get_mapping
-   fun:__nscd_get_map_ref
-   fun:nscd_gethst_r
-   fun:__nscd_gethostbyname_r
-   fun:gethostbyname_r@@GLIBC_2.2.5
-   fun:gethostbyname
-   fun:_ZN4Rank8Accepter5startEv
-   fun:_ZN4Rank10start_rankEv
-   fun:_Z17mpi_bootstrap_newRiRPPcP6MonMap
-   fun:main
-}
-
-# gethostbyname
-
-{
-   gethostbyname on foil
-   Memcheck:Addr8
-   obj:/lib/ld-2.6.1.so
-   obj:/lib/ld-2.6.1.so
-   obj:/lib/ld-2.6.1.so
-   obj:/lib/ld-2.6.1.so
-   obj:/lib/ld-2.6.1.so
-   obj:/lib/ld-2.6.1.so
-   obj:/lib/ld-2.6.1.so
-   obj:/lib/libc-2.6.1.so
-   obj:/lib/ld-2.6.1.so
-   fun:__libc_dlopen_mode
-   fun:__nss_lookup_function
-   obj:/lib/libc-2.6.1.so
-}
-
-# mpi on issdm
-{
-   <insert a suppression name here>
-   Memcheck:Overlap
-   fun:memcpy
-   fun:MPIR_Localcopy
-   fun:MPIR_Gather
-   fun:MPI_Gather
-   fun:_Z17mpi_bootstrap_newRiRPPcP6MonMap
-   fun:main
-}
-{
-   <insert a suppression name here>
-   Memcheck:Param
-   writev(vector[...])
-   fun:writev
-   fun:MPIDU_Sock_writev
-   fun:MPIDI_CH3_iStartMsgv
-   fun:MPIDI_CH3_EagerContigSend
-   fun:MPID_Send
-   fun:MPIC_Send
-   fun:MPIR_Bcast
-   fun:MPI_Bcast
-   fun:_Z17mpi_bootstrap_newRiRPPcP6MonMap
-   fun:main
-}
-{
-   <insert a suppression name here>
-   Memcheck:Param
-   write(buf)
-   obj:/lib64/tls/libpthread-2.3.4.so
-   fun:MPIDU_Sock_write
-   fun:MPIDI_CH3_iSend
-   fun:MPID_Isend
-   fun:MPIC_Sendrecv
-   fun:MPIR_Barrier
-   fun:MPI_Barrier
-   fun:_Z17mpi_bootstrap_newRiRPPcP6MonMap
-   fun:main
-}
-{
-   <insert a suppression name here>
-   Memcheck:Param
-   write(buf)
-   obj:/lib64/tls/libpthread-2.3.4.so
-   fun:MPIDU_Sock_write
-   fun:MPIDI_CH3_iStartMsg
-   fun:MPIDI_CH3U_VC_SendClose
-   fun:MPIDI_PG_Close_VCs
-   fun:MPID_Finalize
-   fun:MPI5:    <insert a suppression name here>
-   fun:main
-}
-{
-   <insert a suppression name 5:    obj:/lib64/tls/libpthread-2.3.4.so
-   Memcheck:Param
-   write(buf)
-   obj:/lib64/tls/libpthread-2.3.4.so
-   fun:MPIDU_Sock_write
-   fun:MPIDI_CH3_iStartMsg
-   fun:MPIDI_CH3_PktHandler_Close
-   fun:MPIDI_CH3I_Progress_handle_sock_event
-   fun:MPIDI_CH3_Progress_wait
-   fun:MPIDI_CH3U_VC_WaitForClose
-   fun:MPID_Finalize
-   fun:MPI_Finalize
-   fun:main
-}
-{
-   <insert a suppression name here>
-   Memcheck:Param
-   write(buf)
-   obj:/lib64/tls/libpthread-2.3.4.so
-   fun:MPIDU_Sock_write
-   fun:MPIDI_CH3_iSend
-   fun:MPID_Isend
-   fun:MPIC_Sendrecv
-   fun:MPIR_Barrier
-   fun:MPI_Barrier
-   fun:main
-}
-{
-   <insert a suppression name here>
-   Memcheck:Param
-   write(buf)
-   obj:/lib64/tls/libpthread-2.3.4.so
-   fun:MPIDU_Sock_write
-   fun:MPIDI_CH3_iStartMsg
-   fun:MPIDI_CH3U_VC_SendClose
-   fun:MPIDI_PG_Close_VCs
-   fun:MPID_Finalize
-   fun:MPI_Finalize
-   fun:main
-}
- {
-   <insert a suppression name here>
-   Memcheck:Param
-   writev(vector[...])
-   fun:writev
-   fun:MPIDU_Socki_handle_write
-   fun:MPIDU_Sock_wait
-   fun:MPIDI_CH3_Progress_wait
-   fun:MPIC_Wait
-   fun:MPIC_Send
-   fun:MPIR_Gather
-   fun:MPI_Gather
-   fun:_Z17mpi_bootstrap_newRiRPPcP6MonMap
-   fun:main
-}
-
-# lttng-ust
-{
-   <insert_a_suppression_name_here>
-   Memcheck:Leak
-   fun:calloc
-   fun:_dl_allocate_tls
-   fun:pthread_create@@GLIBC_2.2.5
-   obj:/usr/*lib*/liblttng-ust.*
-   fun:call_init.part.0
-   fun:_dl_init
-   obj:*
-}
-
-# PK11_CreateContextBySymKey
-{
-   <insert_a_suppression_name_here>
-   Helgrind:Race
-   obj:/usr/*lib*/libfreebl*3.so
-   ...
-   obj:/usr/*lib*/libsoftokn3.so
-   ...
-   obj:/usr/*lib*/libnss3.so
-   ...
-   fun:PK11_CreateContextBySymKey
-   ...
-}
-
-# _dl_allocate_tls_init
-{
-   <insert_a_suppression_name_here>
-   Helgrind:Race
-   fun:mempcpy
-   fun:_dl_allocate_tls_init
-   ...
-   fun:pthread_create@*
-   ...
-}
-
-# rados cython constants
-{
-   <insert_a_suppression_name_here>
-   Memcheck:Leak
-   match-leak-kinds: definite
-   fun:malloc
-   fun:PyObject_Malloc
-   fun:PyCode_New
-   fun:__Pyx_InitCachedConstants
-   fun:initrados
-   fun:_PyImport_LoadDynamicModule
-   ...
-   fun:PyImport_ImportModuleLevel
-   ...
-   fun:PyObject_Call
-   fun:PyEval_CallObjectWithKeywords
-   fun:PyEval_EvalFrameEx
-}
-
-# rbd cython constants
-{
-   <insert_a_suppression_name_here>
-   Memcheck:Leak
-   match-leak-kinds: definite
-   fun:malloc
-   fun:PyObject_Malloc
-   fun:PyCode_New
-   fun:__Pyx_InitCachedConstants
-   fun:initrbd
-   fun:_PyImport_LoadDynamicModule
-   ...
-   fun:PyImport_ImportModuleLevel
-   ...
-   fun:PyObject_Call
-   fun:PyEval_CallObjectWithKeywords
-   fun:PyEval_EvalFrameEx
-}