blob: 194ecbf2b942285285e8053a5d824ff0bd2eda11 [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 \
Georg Brandl1158a332009-06-04 09:30:30 +00008# ./python -E ./Lib/test/regrtest.py -u gui,network
Neal Norwitzc3cd9df2004-06-06 19:58:40 +00009#
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{
Neal Norwitz2f99b242008-08-24 05:48:10 +000050 Suppress leaking the GIL. Happens once per process, see comment in ceval.c.
51 Memcheck:Leak
52 fun:malloc
53 fun:PyThread_allocate_lock
54 fun:PyEval_InitThreads
55}
56
57{
58 Suppress leaking the GIL after a fork.
59 Memcheck:Leak
60 fun:malloc
61 fun:PyThread_allocate_lock
62 fun:PyEval_ReInitThreads
63}
64
65{
66 Suppress leaking the autoTLSkey. This looks like it shouldn't leak though.
67 Memcheck:Leak
68 fun:malloc
69 fun:PyThread_create_key
70 fun:_PyGILState_Init
71 fun:Py_InitializeEx
72 fun:Py_Main
73}
74
75{
76 Hmmm, is this a real leak or like the GIL?
77 Memcheck:Leak
78 fun:malloc
79 fun:PyThread_ReInitTLS
80}
81
82{
Neal Norwitz497b19a2005-11-13 18:58:32 +000083 Handle PyMalloc confusing valgrind (possibly leaked)
84 Memcheck:Leak
85 fun:realloc
86 fun:_PyObject_GC_Resize
87 fun:COMMENT_THIS_LINE_TO_DISABLE_LEAK_WARNING
88}
89
90{
91 Handle PyMalloc confusing valgrind (possibly leaked)
92 Memcheck:Leak
93 fun:malloc
94 fun:_PyObject_GC_New
95 fun:COMMENT_THIS_LINE_TO_DISABLE_LEAK_WARNING
96}
97
98{
99 Handle PyMalloc confusing valgrind (possibly leaked)
100 Memcheck:Leak
101 fun:malloc
102 fun:_PyObject_GC_NewVar
103 fun:COMMENT_THIS_LINE_TO_DISABLE_LEAK_WARNING
104}
105
106#
107# Non-python specific leaks
108#
109
110{
111 Handle pthread issue (possibly leaked)
112 Memcheck:Leak
113 fun:calloc
114 fun:allocate_dtv
115 fun:_dl_allocate_tls_storage
116 fun:_dl_allocate_tls
117}
118
119{
120 Handle pthread issue (possibly leaked)
121 Memcheck:Leak
122 fun:memalign
123 fun:_dl_allocate_tls_storage
124 fun:_dl_allocate_tls
125}
126
Neal Norwitzc3cd9df2004-06-06 19:58:40 +0000127###{
128### ADDRESS_IN_RANGE/Invalid read of size 4
129### Memcheck:Addr4
130### fun:PyObject_Free
131###}
132###
133###{
134### ADDRESS_IN_RANGE/Invalid read of size 4
135### Memcheck:Value4
136### fun:PyObject_Free
137###}
138###
139###{
Charles-François Natali506b3612011-12-03 14:43:57 +0100140### ADDRESS_IN_RANGE/Use of uninitialised value of size 8
141### Memcheck:Addr8
142### fun:PyObject_Free
143###}
144###
145###{
146### ADDRESS_IN_RANGE/Use of uninitialised value of size 8
147### Memcheck:Value8
148### fun:PyObject_Free
149###}
150###
151###{
Neal Norwitzc3cd9df2004-06-06 19:58:40 +0000152### ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value
153### Memcheck:Cond
154### fun:PyObject_Free
155###}
156
157###{
158### ADDRESS_IN_RANGE/Invalid read of size 4
159### Memcheck:Addr4
160### fun:PyObject_Realloc
161###}
162###
163###{
164### ADDRESS_IN_RANGE/Invalid read of size 4
165### Memcheck:Value4
166### fun:PyObject_Realloc
167###}
168###
169###{
Charles-François Natali506b3612011-12-03 14:43:57 +0100170### ADDRESS_IN_RANGE/Use of uninitialised value of size 8
171### Memcheck:Addr8
172### fun:PyObject_Realloc
173###}
174###
175###{
176### ADDRESS_IN_RANGE/Use of uninitialised value of size 8
177### Memcheck:Value8
178### fun:PyObject_Realloc
179###}
180###
181###{
Neal Norwitzc3cd9df2004-06-06 19:58:40 +0000182### ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value
183### Memcheck:Cond
184### fun:PyObject_Realloc
185###}
186
187###
188### All the suppressions below are for errors that occur within libraries
189### that Python uses. The problems to not appear to be related to Python's
190### use of the libraries.
191###
Neal Norwitz497b19a2005-11-13 18:58:32 +0000192
193{
Guido van Rossumcd16bf62007-06-13 18:07:49 +0000194 Generic ubuntu ld problems
195 Memcheck:Addr8
196 obj:/lib/ld-2.4.so
197 obj:/lib/ld-2.4.so
198 obj:/lib/ld-2.4.so
199 obj:/lib/ld-2.4.so
200}
201
202{
Thomas Wouters0e3f5912006-08-11 14:57:12 +0000203 Generic gentoo ld problems
204 Memcheck:Cond
205 obj:/lib/ld-2.3.4.so
206 obj:/lib/ld-2.3.4.so
207 obj:/lib/ld-2.3.4.so
208 obj:/lib/ld-2.3.4.so
209}
210
211{
Neal Norwitz497b19a2005-11-13 18:58:32 +0000212 DBM problems, see test_dbm
213 Memcheck:Param
214 write(buf)
215 fun:write
216 obj:/usr/lib/libdb1.so.2
217 obj:/usr/lib/libdb1.so.2
218 obj:/usr/lib/libdb1.so.2
219 obj:/usr/lib/libdb1.so.2
220 fun:dbm_close
221}
222
223{
224 DBM problems, see test_dbm
225 Memcheck:Value8
226 fun:memmove
227 obj:/usr/lib/libdb1.so.2
228 obj:/usr/lib/libdb1.so.2
229 obj:/usr/lib/libdb1.so.2
230 obj:/usr/lib/libdb1.so.2
231 fun:dbm_store
232 fun:dbm_ass_sub
233}
234
235{
236 DBM problems, see test_dbm
237 Memcheck:Cond
238 obj:/usr/lib/libdb1.so.2
239 obj:/usr/lib/libdb1.so.2
240 obj:/usr/lib/libdb1.so.2
241 fun:dbm_store
242 fun:dbm_ass_sub
243}
244
245{
246 DBM problems, see test_dbm
247 Memcheck:Cond
248 fun:memmove
249 obj:/usr/lib/libdb1.so.2
250 obj:/usr/lib/libdb1.so.2
251 obj:/usr/lib/libdb1.so.2
252 obj:/usr/lib/libdb1.so.2
253 fun:dbm_store
254 fun:dbm_ass_sub
255}
256
Neal Norwitzc3cd9df2004-06-06 19:58:40 +0000257{
258 GDBM problems, see test_gdbm
259 Memcheck:Param
260 write(buf)
261 fun:write
262 fun:gdbm_open
263
264}
265
Neal Norwitz76390de2005-10-03 07:46:34 +0000266{
Neal Norwitz497b19a2005-11-13 18:58:32 +0000267 ZLIB problems, see test_gzip
Neal Norwitz76390de2005-10-03 07:46:34 +0000268 Memcheck:Cond
Neal Norwitz497b19a2005-11-13 18:58:32 +0000269 obj:/lib/libz.so.1.2.3
270 obj:/lib/libz.so.1.2.3
271 fun:deflate
Neal Norwitz76390de2005-10-03 07:46:34 +0000272}
273
274{
275 Avoid problems w/readline doing a putenv and leaking on exit
276 Memcheck:Leak
277 fun:malloc
278 fun:xmalloc
279 fun:sh_set_lines_and_columns
280 fun:_rl_get_screen_size
281 fun:_rl_init_terminal_io
282 obj:/lib/libreadline.so.4.3
283 fun:rl_initialize
Neal Norwitz76390de2005-10-03 07:46:34 +0000284}
285
Neal Norwitzc3cd9df2004-06-06 19:58:40 +0000286###
287### These occur from somewhere within the SSL, when running
288### test_socket_sll. They are too general to leave on by default.
289###
290###{
291### somewhere in SSL stuff
292### Memcheck:Cond
293### fun:memset
294###}
295###{
296### somewhere in SSL stuff
297### Memcheck:Value4
298### fun:memset
299###}
300###
301###{
302### somewhere in SSL stuff
303### Memcheck:Cond
304### fun:MD5_Update
305###}
306###
307###{
308### somewhere in SSL stuff
309### Memcheck:Value4
310### fun:MD5_Update
311###}
312
313#
314# All of these problems come from using test_socket_ssl
315#
316{
317 from test_socket_ssl
318 Memcheck:Cond
319 fun:BN_bin2bn
320}
321
322{
323 from test_socket_ssl
324 Memcheck:Cond
325 fun:BN_num_bits_word
326}
327
328{
329 from test_socket_ssl
330 Memcheck:Value4
331 fun:BN_num_bits_word
332}
333
334{
335 from test_socket_ssl
336 Memcheck:Cond
337 fun:BN_mod_exp_mont_word
338}
339
340{
341 from test_socket_ssl
342 Memcheck:Cond
343 fun:BN_mod_exp_mont
344}
345
346{
347 from test_socket_ssl
348 Memcheck:Param
349 write(buf)
350 fun:write
351 obj:/usr/lib/libcrypto.so.0.9.7
352}
353
354{
355 from test_socket_ssl
356 Memcheck:Cond
357 fun:RSA_verify
358}
359
360{
361 from test_socket_ssl
362 Memcheck:Value4
363 fun:RSA_verify
364}
365
366{
367 from test_socket_ssl
368 Memcheck:Value4
369 fun:DES_set_key_unchecked
370}
371
372{
373 from test_socket_ssl
374 Memcheck:Value4
375 fun:DES_encrypt2
376}
377
378{
379 from test_socket_ssl
380 Memcheck:Cond
381 obj:/usr/lib/libssl.so.0.9.7
382}
383
384{
385 from test_socket_ssl
386 Memcheck:Value4
387 obj:/usr/lib/libssl.so.0.9.7
388}
389
390{
391 from test_socket_ssl
392 Memcheck:Cond
393 fun:BUF_MEM_grow_clean
394}
395
396{
397 from test_socket_ssl
398 Memcheck:Cond
399 fun:memcpy
400 fun:ssl3_read_bytes
401}
402
403{
404 from test_socket_ssl
405 Memcheck:Cond
406 fun:SHA1_Update
407}
408
409{
410 from test_socket_ssl
411 Memcheck:Value4
412 fun:SHA1_Update
413}
414
415