blob: a66305beea8db915b516ca819a7e7e595035398d [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###{
140### ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value
141### Memcheck:Cond
142### fun:PyObject_Free
143###}
144
145###{
146### ADDRESS_IN_RANGE/Invalid read of size 4
147### Memcheck:Addr4
148### fun:PyObject_Realloc
149###}
150###
151###{
152### ADDRESS_IN_RANGE/Invalid read of size 4
153### Memcheck:Value4
154### fun:PyObject_Realloc
155###}
156###
157###{
158### ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value
159### Memcheck:Cond
160### fun:PyObject_Realloc
161###}
162
163###
164### All the suppressions below are for errors that occur within libraries
165### that Python uses. The problems to not appear to be related to Python's
166### use of the libraries.
167###
Neal Norwitz497b19a2005-11-13 18:58:32 +0000168
169{
Guido van Rossumcd16bf62007-06-13 18:07:49 +0000170 Generic ubuntu ld problems
171 Memcheck:Addr8
172 obj:/lib/ld-2.4.so
173 obj:/lib/ld-2.4.so
174 obj:/lib/ld-2.4.so
175 obj:/lib/ld-2.4.so
176}
177
178{
Thomas Wouters0e3f5912006-08-11 14:57:12 +0000179 Generic gentoo ld problems
180 Memcheck:Cond
181 obj:/lib/ld-2.3.4.so
182 obj:/lib/ld-2.3.4.so
183 obj:/lib/ld-2.3.4.so
184 obj:/lib/ld-2.3.4.so
185}
186
187{
Neal Norwitz497b19a2005-11-13 18:58:32 +0000188 DBM problems, see test_dbm
189 Memcheck:Param
190 write(buf)
191 fun:write
192 obj:/usr/lib/libdb1.so.2
193 obj:/usr/lib/libdb1.so.2
194 obj:/usr/lib/libdb1.so.2
195 obj:/usr/lib/libdb1.so.2
196 fun:dbm_close
197}
198
199{
200 DBM problems, see test_dbm
201 Memcheck:Value8
202 fun:memmove
203 obj:/usr/lib/libdb1.so.2
204 obj:/usr/lib/libdb1.so.2
205 obj:/usr/lib/libdb1.so.2
206 obj:/usr/lib/libdb1.so.2
207 fun:dbm_store
208 fun:dbm_ass_sub
209}
210
211{
212 DBM problems, see test_dbm
213 Memcheck:Cond
214 obj:/usr/lib/libdb1.so.2
215 obj:/usr/lib/libdb1.so.2
216 obj:/usr/lib/libdb1.so.2
217 fun:dbm_store
218 fun:dbm_ass_sub
219}
220
221{
222 DBM problems, see test_dbm
223 Memcheck:Cond
224 fun:memmove
225 obj:/usr/lib/libdb1.so.2
226 obj:/usr/lib/libdb1.so.2
227 obj:/usr/lib/libdb1.so.2
228 obj:/usr/lib/libdb1.so.2
229 fun:dbm_store
230 fun:dbm_ass_sub
231}
232
Neal Norwitzc3cd9df2004-06-06 19:58:40 +0000233{
234 GDBM problems, see test_gdbm
235 Memcheck:Param
236 write(buf)
237 fun:write
238 fun:gdbm_open
239
240}
241
Neal Norwitz76390de2005-10-03 07:46:34 +0000242{
Neal Norwitz497b19a2005-11-13 18:58:32 +0000243 ZLIB problems, see test_gzip
Neal Norwitz76390de2005-10-03 07:46:34 +0000244 Memcheck:Cond
Neal Norwitz497b19a2005-11-13 18:58:32 +0000245 obj:/lib/libz.so.1.2.3
246 obj:/lib/libz.so.1.2.3
247 fun:deflate
Neal Norwitz76390de2005-10-03 07:46:34 +0000248}
249
250{
251 Avoid problems w/readline doing a putenv and leaking on exit
252 Memcheck:Leak
253 fun:malloc
254 fun:xmalloc
255 fun:sh_set_lines_and_columns
256 fun:_rl_get_screen_size
257 fun:_rl_init_terminal_io
258 obj:/lib/libreadline.so.4.3
259 fun:rl_initialize
Neal Norwitz76390de2005-10-03 07:46:34 +0000260}
261
Neal Norwitzc3cd9df2004-06-06 19:58:40 +0000262###
263### These occur from somewhere within the SSL, when running
264### test_socket_sll. They are too general to leave on by default.
265###
266###{
267### somewhere in SSL stuff
268### Memcheck:Cond
269### fun:memset
270###}
271###{
272### somewhere in SSL stuff
273### Memcheck:Value4
274### fun:memset
275###}
276###
277###{
278### somewhere in SSL stuff
279### Memcheck:Cond
280### fun:MD5_Update
281###}
282###
283###{
284### somewhere in SSL stuff
285### Memcheck:Value4
286### fun:MD5_Update
287###}
288
289#
290# All of these problems come from using test_socket_ssl
291#
292{
293 from test_socket_ssl
294 Memcheck:Cond
295 fun:BN_bin2bn
296}
297
298{
299 from test_socket_ssl
300 Memcheck:Cond
301 fun:BN_num_bits_word
302}
303
304{
305 from test_socket_ssl
306 Memcheck:Value4
307 fun:BN_num_bits_word
308}
309
310{
311 from test_socket_ssl
312 Memcheck:Cond
313 fun:BN_mod_exp_mont_word
314}
315
316{
317 from test_socket_ssl
318 Memcheck:Cond
319 fun:BN_mod_exp_mont
320}
321
322{
323 from test_socket_ssl
324 Memcheck:Param
325 write(buf)
326 fun:write
327 obj:/usr/lib/libcrypto.so.0.9.7
328}
329
330{
331 from test_socket_ssl
332 Memcheck:Cond
333 fun:RSA_verify
334}
335
336{
337 from test_socket_ssl
338 Memcheck:Value4
339 fun:RSA_verify
340}
341
342{
343 from test_socket_ssl
344 Memcheck:Value4
345 fun:DES_set_key_unchecked
346}
347
348{
349 from test_socket_ssl
350 Memcheck:Value4
351 fun:DES_encrypt2
352}
353
354{
355 from test_socket_ssl
356 Memcheck:Cond
357 obj:/usr/lib/libssl.so.0.9.7
358}
359
360{
361 from test_socket_ssl
362 Memcheck:Value4
363 obj:/usr/lib/libssl.so.0.9.7
364}
365
366{
367 from test_socket_ssl
368 Memcheck:Cond
369 fun:BUF_MEM_grow_clean
370}
371
372{
373 from test_socket_ssl
374 Memcheck:Cond
375 fun:memcpy
376 fun:ssl3_read_bytes
377}
378
379{
380 from test_socket_ssl
381 Memcheck:Cond
382 fun:SHA1_Update
383}
384
385{
386 from test_socket_ssl
387 Memcheck:Value4
388 fun:SHA1_Update
389}
390
391