summaryrefslogtreecommitdiff
path: root/doc/libproc.supp
blob: d7f92d389e19fad474e16030881a49887e29c7ff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#
#  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 called the 'procps_pids' interface. That's 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*
}