blob: e612555b6d3acedc1a51b1c6662f00566b1a8725 [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
Martin v. Löwis942f2dd2012-03-04 21:16:39 +0100313# Fedora's package "openssl-1.0.1-0.1.beta2.fc17.x86_64" on x86_64
314# See http://bugs.python.org/issue14171
315{
316 openssl 1.0.1 prng 1
317 Memcheck:Cond
318 fun:bcmp
319 fun:fips_get_entropy
320 fun:FIPS_drbg_instantiate
321 fun:RAND_init_fips
322 fun:OPENSSL_init_library
323 fun:SSL_library_init
324 fun:init_hashlib
325}
326
327{
328 openssl 1.0.1 prng 2
329 Memcheck:Cond
330 fun:fips_get_entropy
331 fun:FIPS_drbg_instantiate
332 fun:RAND_init_fips
333 fun:OPENSSL_init_library
334 fun:SSL_library_init
335 fun:init_hashlib
336}
337
338{
339 openssl 1.0.1 prng 3
340 Memcheck:Value8
341 fun:_x86_64_AES_encrypt_compact
342 fun:AES_encrypt
343}
344
Neal Norwitzc3cd9df2004-06-06 19:58:40 +0000345#
346# All of these problems come from using test_socket_ssl
347#
348{
349 from test_socket_ssl
350 Memcheck:Cond
351 fun:BN_bin2bn
352}
353
354{
355 from test_socket_ssl
356 Memcheck:Cond
357 fun:BN_num_bits_word
358}
359
360{
361 from test_socket_ssl
362 Memcheck:Value4
363 fun:BN_num_bits_word
364}
365
366{
367 from test_socket_ssl
368 Memcheck:Cond
369 fun:BN_mod_exp_mont_word
370}
371
372{
373 from test_socket_ssl
374 Memcheck:Cond
375 fun:BN_mod_exp_mont
376}
377
378{
379 from test_socket_ssl
380 Memcheck:Param
381 write(buf)
382 fun:write
383 obj:/usr/lib/libcrypto.so.0.9.7
384}
385
386{
387 from test_socket_ssl
388 Memcheck:Cond
389 fun:RSA_verify
390}
391
392{
393 from test_socket_ssl
394 Memcheck:Value4
395 fun:RSA_verify
396}
397
398{
399 from test_socket_ssl
400 Memcheck:Value4
401 fun:DES_set_key_unchecked
402}
403
404{
405 from test_socket_ssl
406 Memcheck:Value4
407 fun:DES_encrypt2
408}
409
410{
411 from test_socket_ssl
412 Memcheck:Cond
413 obj:/usr/lib/libssl.so.0.9.7
414}
415
416{
417 from test_socket_ssl
418 Memcheck:Value4
419 obj:/usr/lib/libssl.so.0.9.7
420}
421
422{
423 from test_socket_ssl
424 Memcheck:Cond
425 fun:BUF_MEM_grow_clean
426}
427
428{
429 from test_socket_ssl
430 Memcheck:Cond
431 fun:memcpy
432 fun:ssl3_read_bytes
433}
434
435{
436 from test_socket_ssl
437 Memcheck:Cond
438 fun:SHA1_Update
439}
440
441{
442 from test_socket_ssl
443 Memcheck:Value4
444 fun:SHA1_Update
445}
446
Stefan Krah9a2d99e2012-02-25 12:24:21 +0100447{
448 test_buffer_non_debug
449 Memcheck:Addr4
450 fun:PyUnicodeUCS2_FSConverter
451}
452
453{
454 test_buffer_non_debug
455 Memcheck:Addr4
456 fun:PyUnicode_FSConverter
457}
Neal Norwitzc3cd9df2004-06-06 19:58:40 +0000458
Stefan Krah3a973902013-11-08 20:18:09 +0100459{
460 wcscmp_false_positive
461 Memcheck:Addr8
462 fun:wcscmp
463 fun:_PyOS_GetOpt
464 fun:Py_Main
465 fun:main
466}
467
Stefan Krah1919b7e2012-03-21 18:25:23 +0100468# Additional suppressions for the unified decimal tests:
469{
470 test_decimal
471 Memcheck:Addr4
472 fun:PyUnicodeUCS2_FSConverter
473}
474
475{
476 test_decimal2
477 Memcheck:Addr4
478 fun:PyUnicode_FSConverter
479}
480