blob: 2688f79ce35109f4ca8d87a7e2cc5d1ae59cb28a [file] [log] [blame]
Neal Norwitzc3cd9df2004-06-06 19:58:40 +00001#
2# This is a valgrind suppression file that should be used when using valgrind.
3#
4# Here's an example of running valgrind:
5#
6# cd python/dist/src
7# valgrind --tool=memcheck --suppressions=Misc/valgrind-python.supp \
8# ./python -E -tt ./Lib/test/regrtest.py -u bsddb,network
9#
10# You must edit Objects/obmalloc.c and uncomment Py_USING_MEMORY_DEBUGGER
11# to use the preferred suppressions with Py_ADDRESS_IN_RANGE.
12#
13# If you do not want to recompile Python, you can uncomment
14# suppressions for PyObject_Free and PyObject_Realloc.
15#
16# See Misc/README.valgrind for more information.
17
18# all tool names: Addrcheck,Memcheck,cachegrind,helgrind,massif
19{
20 ADDRESS_IN_RANGE/Invalid read of size 4
21 Memcheck:Addr4
22 fun:Py_ADDRESS_IN_RANGE
23}
24
25{
26 ADDRESS_IN_RANGE/Invalid read of size 4
27 Memcheck:Value4
28 fun:Py_ADDRESS_IN_RANGE
29}
30
31{
Neal Norwitz497b19a2005-11-13 18:58:32 +000032 ADDRESS_IN_RANGE/Invalid read of size 8 (x86_64 aka amd64)
Neal Norwitz76390de2005-10-03 07:46:34 +000033 Memcheck:Value8
34 fun:Py_ADDRESS_IN_RANGE
35}
36
37{
Neal Norwitzc3cd9df2004-06-06 19:58:40 +000038 ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value
39 Memcheck:Cond
40 fun:Py_ADDRESS_IN_RANGE
41}
42
Neal Norwitz497b19a2005-11-13 18:58:32 +000043#
44# Leaks (including possible leaks)
45# Hmmm, I wonder if this masks some real leaks. I think it does.
46# Will need to fix that.
47#
48
49{
50 Handle PyMalloc confusing valgrind (possibly leaked)
51 Memcheck:Leak
52 fun:realloc
53 fun:_PyObject_GC_Resize
54 fun:COMMENT_THIS_LINE_TO_DISABLE_LEAK_WARNING
55}
56
57{
58 Handle PyMalloc confusing valgrind (possibly leaked)
59 Memcheck:Leak
60 fun:malloc
61 fun:_PyObject_GC_New
62 fun:COMMENT_THIS_LINE_TO_DISABLE_LEAK_WARNING
63}
64
65{
66 Handle PyMalloc confusing valgrind (possibly leaked)
67 Memcheck:Leak
68 fun:malloc
69 fun:_PyObject_GC_NewVar
70 fun:COMMENT_THIS_LINE_TO_DISABLE_LEAK_WARNING
71}
72
73#
74# Non-python specific leaks
75#
76
77{
78 Handle pthread issue (possibly leaked)
79 Memcheck:Leak
80 fun:calloc
81 fun:allocate_dtv
82 fun:_dl_allocate_tls_storage
83 fun:_dl_allocate_tls
84}
85
86{
87 Handle pthread issue (possibly leaked)
88 Memcheck:Leak
89 fun:memalign
90 fun:_dl_allocate_tls_storage
91 fun:_dl_allocate_tls
92}
93
Neal Norwitzc3cd9df2004-06-06 19:58:40 +000094###{
95### ADDRESS_IN_RANGE/Invalid read of size 4
96### Memcheck:Addr4
97### fun:PyObject_Free
98###}
99###
100###{
101### ADDRESS_IN_RANGE/Invalid read of size 4
102### Memcheck:Value4
103### fun:PyObject_Free
104###}
105###
106###{
107### ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value
108### Memcheck:Cond
109### fun:PyObject_Free
110###}
111
112###{
113### ADDRESS_IN_RANGE/Invalid read of size 4
114### Memcheck:Addr4
115### fun:PyObject_Realloc
116###}
117###
118###{
119### ADDRESS_IN_RANGE/Invalid read of size 4
120### Memcheck:Value4
121### fun:PyObject_Realloc
122###}
123###
124###{
125### ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value
126### Memcheck:Cond
127### fun:PyObject_Realloc
128###}
129
130###
131### All the suppressions below are for errors that occur within libraries
132### that Python uses. The problems to not appear to be related to Python's
133### use of the libraries.
134###
Neal Norwitz497b19a2005-11-13 18:58:32 +0000135
136{
137 DBM problems, see test_dbm
138 Memcheck:Param
139 write(buf)
140 fun:write
141 obj:/usr/lib/libdb1.so.2
142 obj:/usr/lib/libdb1.so.2
143 obj:/usr/lib/libdb1.so.2
144 obj:/usr/lib/libdb1.so.2
145 fun:dbm_close
146}
147
148{
149 DBM problems, see test_dbm
150 Memcheck:Value8
151 fun:memmove
152 obj:/usr/lib/libdb1.so.2
153 obj:/usr/lib/libdb1.so.2
154 obj:/usr/lib/libdb1.so.2
155 obj:/usr/lib/libdb1.so.2
156 fun:dbm_store
157 fun:dbm_ass_sub
158}
159
160{
161 DBM problems, see test_dbm
162 Memcheck:Cond
163 obj:/usr/lib/libdb1.so.2
164 obj:/usr/lib/libdb1.so.2
165 obj:/usr/lib/libdb1.so.2
166 fun:dbm_store
167 fun:dbm_ass_sub
168}
169
170{
171 DBM problems, see test_dbm
172 Memcheck:Cond
173 fun:memmove
174 obj:/usr/lib/libdb1.so.2
175 obj:/usr/lib/libdb1.so.2
176 obj:/usr/lib/libdb1.so.2
177 obj:/usr/lib/libdb1.so.2
178 fun:dbm_store
179 fun:dbm_ass_sub
180}
181
Neal Norwitzc3cd9df2004-06-06 19:58:40 +0000182{
183 GDBM problems, see test_gdbm
184 Memcheck:Param
185 write(buf)
186 fun:write
187 fun:gdbm_open
188
189}
190
Neal Norwitz76390de2005-10-03 07:46:34 +0000191{
Neal Norwitz497b19a2005-11-13 18:58:32 +0000192 ZLIB problems, see test_gzip
Neal Norwitz76390de2005-10-03 07:46:34 +0000193 Memcheck:Cond
Neal Norwitz497b19a2005-11-13 18:58:32 +0000194 obj:/lib/libz.so.1.2.3
195 obj:/lib/libz.so.1.2.3
196 fun:deflate
Neal Norwitz76390de2005-10-03 07:46:34 +0000197}
198
199{
200 Avoid problems w/readline doing a putenv and leaking on exit
201 Memcheck:Leak
202 fun:malloc
203 fun:xmalloc
204 fun:sh_set_lines_and_columns
205 fun:_rl_get_screen_size
206 fun:_rl_init_terminal_io
207 obj:/lib/libreadline.so.4.3
208 fun:rl_initialize
Neal Norwitz76390de2005-10-03 07:46:34 +0000209}
210
Neal Norwitzc3cd9df2004-06-06 19:58:40 +0000211###
212### These occur from somewhere within the SSL, when running
213### test_socket_sll. They are too general to leave on by default.
214###
215###{
216### somewhere in SSL stuff
217### Memcheck:Cond
218### fun:memset
219###}
220###{
221### somewhere in SSL stuff
222### Memcheck:Value4
223### fun:memset
224###}
225###
226###{
227### somewhere in SSL stuff
228### Memcheck:Cond
229### fun:MD5_Update
230###}
231###
232###{
233### somewhere in SSL stuff
234### Memcheck:Value4
235### fun:MD5_Update
236###}
237
238#
239# All of these problems come from using test_socket_ssl
240#
241{
242 from test_socket_ssl
243 Memcheck:Cond
244 fun:BN_bin2bn
245}
246
247{
248 from test_socket_ssl
249 Memcheck:Cond
250 fun:BN_num_bits_word
251}
252
253{
254 from test_socket_ssl
255 Memcheck:Value4
256 fun:BN_num_bits_word
257}
258
259{
260 from test_socket_ssl
261 Memcheck:Cond
262 fun:BN_mod_exp_mont_word
263}
264
265{
266 from test_socket_ssl
267 Memcheck:Cond
268 fun:BN_mod_exp_mont
269}
270
271{
272 from test_socket_ssl
273 Memcheck:Param
274 write(buf)
275 fun:write
276 obj:/usr/lib/libcrypto.so.0.9.7
277}
278
279{
280 from test_socket_ssl
281 Memcheck:Cond
282 fun:RSA_verify
283}
284
285{
286 from test_socket_ssl
287 Memcheck:Value4
288 fun:RSA_verify
289}
290
291{
292 from test_socket_ssl
293 Memcheck:Value4
294 fun:DES_set_key_unchecked
295}
296
297{
298 from test_socket_ssl
299 Memcheck:Value4
300 fun:DES_encrypt2
301}
302
303{
304 from test_socket_ssl
305 Memcheck:Cond
306 obj:/usr/lib/libssl.so.0.9.7
307}
308
309{
310 from test_socket_ssl
311 Memcheck:Value4
312 obj:/usr/lib/libssl.so.0.9.7
313}
314
315{
316 from test_socket_ssl
317 Memcheck:Cond
318 fun:BUF_MEM_grow_clean
319}
320
321{
322 from test_socket_ssl
323 Memcheck:Cond
324 fun:memcpy
325 fun:ssl3_read_bytes
326}
327
328{
329 from test_socket_ssl
330 Memcheck:Cond
331 fun:SHA1_Update
332}
333
334{
335 from test_socket_ssl
336 Memcheck:Value4
337 fun:SHA1_Update
338}
339
340