procps/Documentation/libproc.supp
Jim Warner 2f293dbf74 library: expand warnings in 'warning-suppression' file
With the addition of more '__thread' attributes in the
previous commit, additional valgrind warnings might be
encountered if developing multi-threaded applications.

So, this patch expands the libproc.supp file which was
originally introduced with the patch referenced below.

Reference(s):
commit be1ddc2756

Signed-off-by: Jim Warner <james.warner@comcast.net>
2021-10-25 21:51:18 +11:00

79 lines
1.9 KiB
Plaintext

#
# This is a warning-suppression file for valgrind supplied by libproc
# to be used with the option: --suppressions=<path-for>/libproc.supp.
#
# Memory leak warnings will only be encountered when a multi-threaded
# program has used the 'procps_pids' interface. That is because this
# library employs heap based memory in a thread safe manner. However,
# such memory will not be freed until the address space is reclaimed.
#
# When a sibling thread using this 'procps_pids' API ends, or if some
# other thread in that address space calls 'pthread_cancel()' on such
# a thread, valgrind will warn that some memory is 'definitely lost'.
#
# The majority of warnings depend on the 'pids_item' enumerators that
# have been specified using 'procps_pids_new' or 'procps_pids_reset'.
#
# Single-threaded applications will not experience any such warnings.
#
## always present 'definitely lost' warnings
# 2 blocks of 128k each
{
HEAP_BASED_TLS_startup
Memcheck:Leak
...
fun:openproc
}
## for most of the 'definitely lost' warnings
# up to 4 blocks ranging from 1024 to 2048 bytes each
{
HEAP_BASED_TLS_input
Memcheck:Leak
...
fun:file2str
}
## additional potential 'definitely lost' warnings
# 48 bytes for each user
{
HEAP_BASED_TLS_users
Memcheck:Leak
...
fun:pwcache_get_user
}
# 48 bytes for each group
{
HEAP_BASED_TLS_groups
Memcheck:Leak
...
fun:pwcache_get_group
}
# 40 bytes for each tty
{
HEAP_BASED_TLS_terminals
Memcheck:Leak
...
fun:dev_to_tty
}
## remaining potential 'definitely lost' warnings
# 16 bytes + sizeof name for each lxc container
{
HEAP_BASED_TLS_lxc
Memcheck:Leak
...
fun:lxc_containers
}
## in case an installed library has been stripped,
## this will embrace all of the above warning categories
{
HEAP_BASED_TLS_library
Memcheck:Leak
...
obj:/usr/*lib*/libproc*
obj:/usr/local/*lib*/libproc*
}