aboutsummaryrefslogtreecommitdiff
path: root/contrib/valgrind.supp
blob: 99ca305fe770b2ae2198a49675fcd311155bf931 (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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
# This valgrind suppressions file includes known Valgrind warnings in our
# dependencies that cannot be fixed in-tree.
#
# Example use:
# $ valgrind --suppressions=contrib/valgrind.supp src/test/test_bitcoin
# $ valgrind --suppressions=contrib/valgrind.supp --leak-check=full \
#       --show-leak-kinds=all src/test/test_bitcoin
#
# To create suppressions for found issues, use the --gen-suppressions=all option:
# $ valgrind --suppressions=contrib/valgrind.supp --leak-check=full \
#       --show-leak-kinds=all --gen-suppressions=all --show-reachable=yes \
#       --error-limit=no src/test/test_bitcoin
#
# Note that suppressions may depend on OS and/or library versions.
# Tested on:
# * aarch64 (Ubuntu 22.04 system libs, clang, without gui)
# * x86_64  (Ubuntu 22.04 system libs, clang, without gui)
{
   Suppress libstdc++ warning - https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65434
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:malloc
   obj:*/libstdc++.*
   fun:call_init.part.0
   fun:call_init
   fun:_dl_init
   obj:*/ld-*.so
}
{
   Suppress libdb warning - https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=662917
   Memcheck:Cond
   obj:*/libdb_cxx-*.so
   fun:__log_put
}
{
   Suppress libdb warning
   Memcheck:Param
   pwrite64(buf)
   fun:pwrite
   fun:__os_io
}
{
   Suppress libdb warning
   Memcheck:Cond
   fun:__log_putr.isra.1
}
{
   Suppress libdb warning
   Memcheck:Param
   pwrite64(buf)
   ...
   obj:*/libdb_cxx-*.so
}
{
   Suppress uninitialized bytes warning in compat code
   Memcheck:Param
   ioctl(TCSET{S,SW,SF})
   fun:tcsetattr
}
{
   Suppress libdb warning
   Memcheck:Leak
   fun:malloc
   ...
   obj:*/libdb_cxx-*.so
}
{
   Suppress leaks on init
   Memcheck:Leak
   ...
   fun:_Z11AppInitMainR11NodeContext
}
{
   Suppress leaks on shutdown
   Memcheck:Leak
   ...
   fun:_Z8ShutdownR11NodeContext
}
{
   Ignore GUI warning
   Memcheck:Leak
   ...
   obj:/usr/lib64/libgdk-3.so.0.2404.7
}
{
   Suppress leveldb warning (leveldb::InitModule()) - https://github.com/google/leveldb/issues/113
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:_Znwm
   fun:_ZN7leveldbL10InitModuleEv
}
{
   Suppress leveldb warning (leveldb::Env::Default()) - https://github.com/google/leveldb/issues/113
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:_Znwm
   ...
   fun:_ZN7leveldbL14InitDefaultEnvEv
}
{
   Suppress leveldb leak
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:_Znwm
   ...
   fun:_ZN7leveldb6DBImpl14BackgroundCallEv
}
{
   Suppress leveldb leak
   Memcheck:Leak
   fun:_Znwm
   ...
   fun:GetCoin
}
{
   Suppress boost warning
   Memcheck:Leak
   fun:_Znwm
   ...
   fun:_ZN5boost9unit_test9framework5state17execute_test_treeEmjPKNS2_23random_generator_helperE
   fun:_ZN5boost9unit_test9framework3runEmb
   fun:_ZN5boost9unit_test14unit_test_mainEPFbvEiPPc
   fun:main
}
{
   Suppress LogInstance still reachable memory warning
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:_Znwm
   fun:_Z11LogInstancev
}
{
   Suppress secp256k1_context_create still reachable memory warning
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:malloc
   ...
   fun:secp256k1_context_create
}
{
   Suppress BCLog::Logger::StartLogging() still reachable memory warning
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:malloc
   ...
   fun:_ZN5BCLog6Logger12StartLoggingEv
}