Mercurial > hg > orthanc-python
comparison Resources/valgrind-python.supp @ 0:7ed502b17b8f
initial commit
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 26 Mar 2020 18:47:01 +0100 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:7ed502b17b8f |
---|---|
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 |