0
|
1 #
|
|
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. [ => DONE BY SJO ]
|
|
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 {
|
|
32 ADDRESS_IN_RANGE/Invalid read of size 8 (x86_64 aka amd64)
|
|
33 Memcheck:Value8
|
|
34 fun:Py_ADDRESS_IN_RANGE
|
|
35 }
|
|
36
|
|
37 {
|
|
38 ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value
|
|
39 Memcheck:Cond
|
|
40 fun:Py_ADDRESS_IN_RANGE
|
|
41 }
|
|
42
|
|
43 #
|
|
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 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 {
|
|
83 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
|
|
127 {
|
|
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 ###
|
|
168
|
|
169 {
|
|
170 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 {
|
|
179 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 {
|
|
188 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
|
|
233 {
|
|
234 GDBM problems, see test_gdbm
|
|
235 Memcheck:Param
|
|
236 write(buf)
|
|
237 fun:write
|
|
238 fun:gdbm_open
|
|
239
|
|
240 }
|
|
241
|
|
242 {
|
|
243 ZLIB problems, see test_gzip
|
|
244 Memcheck:Cond
|
|
245 obj:/lib/libz.so.1.2.3
|
|
246 obj:/lib/libz.so.1.2.3
|
|
247 fun:deflate
|
|
248 }
|
|
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
|
|
260 }
|
|
261
|
|
262 ###
|
|
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
|