# This file is a suppression file for using Valgrind with GASNet. # See the valgrind documentation for info on the use and format of this file. # # $Source: bitbucket.org:berkeleylab/gasnet.git/other/contrib/gasnet.supp $ # # PLPA calls sched_setaffinity() with a NULL mask argument on purpose. { PLPA-sched_setaffinity-NULL-mask Memcheck:Param sched_setaffinity(mask) fun:syscall fun:gasneti_plpa_* } # aries-conduit: suppress Cray NIC device accesses unrecognized by valgrind { GNI-bad-ioctl Memcheck:Param ioctl(generic) fun:ioctl obj:*/libugni.so* } { GNI-bad-device-PIO8 Memcheck:Addr8 obj:*/libugni.so* } { GNI-bad-device-PIO4 Memcheck:Addr4 obj:*/libugni.so* } { GNI-bad-device-PIO2 Memcheck:Addr2 obj:*/libugni.so* } { GNI-bad-device-PIO1 Memcheck:Addr1 obj:*/libugni.so* } { UDREG-bad-device-PIO8 Memcheck:Addr8 obj:*/libudreg.so* } # aries-conduit: suppress Cray memory leak in UDREG_CacheCreate # see: https://github.com/ofi-cray/libfabric-cray/issues/990 { UDREG-UDREG_CacheCreate-leak Memcheck:Leak match-leak-kinds: definite fun:malloc ... fun:UDREG_CacheCreate } # # The following are suppressions for known-benign memory leaks. # They are only useful in a debug build, both because of the # _gasneti_malloc() wrapper included in the call stacks given, # and because in an optimized build the inliner will cause call # stacks to vary. # # gasneti_envstr_display keeps a linked list containing strdup()ed strings { gasneti_envstr_display-malloc-leak Memcheck:Leak fun:malloc fun:gasneti_envstr_display } { gasneti_envstr_display-strdup-leak Memcheck:Leak fun:malloc fun:strdup fun:gasneti_envstr_display } # gasneti_tick_metric allocates static data { gasneti_tick_metric-static-leak Memcheck:Leak fun:malloc fun:gasneti_tick_metric } # segment setup allocates global state { gasneti_segmentInit-leak Memcheck:Leak fun:malloc fun:_gasneti_malloc_inner fun:_gasneti_malloc fun:gasneti_segmentInit } { gasneti_auxseg_init-leak Memcheck:Leak fun:malloc fun:_gasneti_malloc_inner fun:_gasneti_malloc fun:_gasneti_calloc fun:gasneti_auxseg_init } { gasneti_auxseg_attach-leak Memcheck:Leak fun:malloc fun:_gasneti_malloc_inner fun:_gasneti_malloc fun:gasneti_auxseg_attach } { gasneti_auxseg_dummy-leak Memcheck:Leak fun:malloc fun:_gasneti_malloc_inner fun:_gasneti_malloc fun:gasneti_auxseg_dummy } # gasneti_attach allocates global data { gasneti_attach-leak Memcheck:Leak fun:malloc fun:_gasneti_malloc_inner fun:_gasneti_malloc fun:gasneti_attach } # gasnete_coll_init allocates global state { gasnete_coll_init-leak Memcheck:Leak fun:malloc fun:_gasneti_malloc_inner fun:_gasneti_malloc fun:gasnete_coll_init } # gasnet collectives keeps freelists { gasnete_coll-handle-leak Memcheck:Leak fun:malloc fun:_gasneti_malloc_inner fun:_gasneti_malloc fun:gasnete_coll_handle_create } { gasnete_coll-op-leak Memcheck:Leak fun:malloc fun:_gasneti_malloc_inner fun:_gasneti_malloc fun:gasnete_coll_op_create } { gasnete_coll-generic-leak Memcheck:Leak fun:malloc fun:_gasneti_malloc_inner fun:_gasneti_malloc fun:gasnete_coll_generic_alloc } { gasnete_coll-p2p-leak Memcheck:Leak fun:malloc fun:_gasneti_malloc_inner fun:_gasneti_malloc fun:gasnete_coll_p2p_get } # gasnete threaddata (and subordinates) are never freed { gasnete_new_threaddata-leak Memcheck:Leak fun:malloc fun:_gasneti_malloc_inner fun:_gasneti_malloc fun:_gasneti_calloc fun:gasnete_new_threaddata } { gasnete_iop_new-leak Memcheck:Leak fun:malloc fun:_gasneti_malloc_inner fun:_gasneti_malloc fun:gasnete_iop_new } { gasnete_eop_new-leak Memcheck:Leak fun:malloc fun:_gasneti_malloc_inner fun:_gasneti_malloc fun:_gasneti_calloc fun:gasnete_eop_new } # gasnete_coll threaddata (and subordinates) are never freed { gasnete_coll_new_threaddata-leak Memcheck:Leak fun:malloc fun:_gasneti_malloc_inner fun:_gasneti_malloc fun:_gasneti_calloc fun:gasnete_coll_new_threaddata } { gasnete_coll_local_handles-leak Memcheck:Leak fun:malloc fun:_gasneti_malloc_inner fun:_gasneti_malloc fun:_gasneti_realloc fun:gasnete_coll_local_handles } # gasnet test_getseg allocates static data { gasnet_test_getseg-leak Memcheck:Leak fun:malloc fun:_test_malloc fun:_test_getseg } # # Known-benign memory leaks in amudp/udp-conduit # { AMUDP_SPMDStartup-SocketList-leak Memcheck:Leak # Mangled operator new[](unsigned) fun:* # Mangled SocketList::SocketList(unsigned long, bool) fun:*SocketList* fun:AMUDP_SPMDStartup_* } { AMUDP_SPMDStartup-leak Memcheck:Leak fun:malloc fun:_gasneti_malloc_inner fun:_gasneti_malloc fun:_gasneti_extern_malloc fun:AMUDP_SPMDStartup_* }