blob: a08eaac97b0509170533803077f17a1a1ad0eeac [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{
Neal Norwitz59953572007-06-11 01:22:03 +0000137 Generic ubuntu ld problems
138 Memcheck:Addr8
139 obj:/lib/ld-2.4.so
140 obj:/lib/ld-2.4.so
141 obj:/lib/ld-2.4.so
142 obj:/lib/ld-2.4.so
143}
144
145{
Neal Norwitz25d4ca32006-06-27 04:06:46 +0000146 Generic gentoo ld problems
147 Memcheck:Cond
148 obj:/lib/ld-2.3.4.so
149 obj:/lib/ld-2.3.4.so
150 obj:/lib/ld-2.3.4.so
151 obj:/lib/ld-2.3.4.so
152}
153
154{
Neal Norwitz497b19a2005-11-13 18:58:32 +0000155 DBM problems, see test_dbm
156 Memcheck:Param
157 write(buf)
158 fun:write
159 obj:/usr/lib/libdb1.so.2
160 obj:/usr/lib/libdb1.so.2
161 obj:/usr/lib/libdb1.so.2
162 obj:/usr/lib/libdb1.so.2
163 fun:dbm_close
164}
165
166{
167 DBM problems, see test_dbm
168 Memcheck:Value8
169 fun:memmove
170 obj:/usr/lib/libdb1.so.2
171 obj:/usr/lib/libdb1.so.2
172 obj:/usr/lib/libdb1.so.2
173 obj:/usr/lib/libdb1.so.2
174 fun:dbm_store
175 fun:dbm_ass_sub
176}
177
178{
179 DBM problems, see test_dbm
180 Memcheck:Cond
181 obj:/usr/lib/libdb1.so.2
182 obj:/usr/lib/libdb1.so.2
183 obj:/usr/lib/libdb1.so.2
184 fun:dbm_store
185 fun:dbm_ass_sub
186}
187
188{
189 DBM problems, see test_dbm
190 Memcheck:Cond
191 fun:memmove
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_store
197 fun:dbm_ass_sub
198}
199
Neal Norwitzc3cd9df2004-06-06 19:58:40 +0000200{
201 GDBM problems, see test_gdbm
202 Memcheck:Param
203 write(buf)
204 fun:write
205 fun:gdbm_open
206
207}
208
Neal Norwitz76390de2005-10-03 07:46:34 +0000209{
Neal Norwitz497b19a2005-11-13 18:58:32 +0000210 ZLIB problems, see test_gzip
Neal Norwitz76390de2005-10-03 07:46:34 +0000211 Memcheck:Cond
Neal Norwitz497b19a2005-11-13 18:58:32 +0000212 obj:/lib/libz.so.1.2.3
213 obj:/lib/libz.so.1.2.3
214 fun:deflate
Neal Norwitz76390de2005-10-03 07:46:34 +0000215}
216
217{
218 Avoid problems w/readline doing a putenv and leaking on exit
219 Memcheck:Leak
220 fun:malloc
221 fun:xmalloc
222 fun:sh_set_lines_and_columns
223 fun:_rl_get_screen_size
224 fun:_rl_init_terminal_io
225 obj:/lib/libreadline.so.4.3
226 fun:rl_initialize
Neal Norwitz76390de2005-10-03 07:46:34 +0000227}
228
Neal Norwitzc3cd9df2004-06-06 19:58:40 +0000229###
230### These occur from somewhere within the SSL, when running
231### test_socket_sll. They are too general to leave on by default.
232###
233###{
234### somewhere in SSL stuff
235### Memcheck:Cond
236### fun:memset
237###}
238###{
239### somewhere in SSL stuff
240### Memcheck:Value4
241### fun:memset
242###}
243###
244###{
245### somewhere in SSL stuff
246### Memcheck:Cond
247### fun:MD5_Update
248###}
249###
250###{
251### somewhere in SSL stuff
252### Memcheck:Value4
253### fun:MD5_Update
254###}
255
256#
257# All of these problems come from using test_socket_ssl
258#
259{
260 from test_socket_ssl
261 Memcheck:Cond
262 fun:BN_bin2bn
263}
264
265{
266 from test_socket_ssl
267 Memcheck:Cond
268 fun:BN_num_bits_word
269}
270
271{
272 from test_socket_ssl
273 Memcheck:Value4
274 fun:BN_num_bits_word
275}
276
277{
278 from test_socket_ssl
279 Memcheck:Cond
280 fun:BN_mod_exp_mont_word
281}
282
283{
284 from test_socket_ssl
285 Memcheck:Cond
286 fun:BN_mod_exp_mont
287}
288
289{
290 from test_socket_ssl
291 Memcheck:Param
292 write(buf)
293 fun:write
294 obj:/usr/lib/libcrypto.so.0.9.7
295}
296
297{
298 from test_socket_ssl
299 Memcheck:Cond
300 fun:RSA_verify
301}
302
303{
304 from test_socket_ssl
305 Memcheck:Value4
306 fun:RSA_verify
307}
308
309{
310 from test_socket_ssl
311 Memcheck:Value4
312 fun:DES_set_key_unchecked
313}
314
315{
316 from test_socket_ssl
317 Memcheck:Value4
318 fun:DES_encrypt2
319}
320
321{
322 from test_socket_ssl
323 Memcheck:Cond
324 obj:/usr/lib/libssl.so.0.9.7
325}
326
327{
328 from test_socket_ssl
329 Memcheck:Value4
330 obj:/usr/lib/libssl.so.0.9.7
331}
332
333{
334 from test_socket_ssl
335 Memcheck:Cond
336 fun:BUF_MEM_grow_clean
337}
338
339{
340 from test_socket_ssl
341 Memcheck:Cond
342 fun:memcpy
343 fun:ssl3_read_bytes
344}
345
346{
347 from test_socket_ssl
348 Memcheck:Cond
349 fun:SHA1_Update
350}
351
352{
353 from test_socket_ssl
354 Memcheck:Value4
355 fun:SHA1_Update
356}
357
358