| # | 
 | # This is a valgrind suppression file that should be used when using valgrind. | 
 | # | 
 | #  Here's an example of running valgrind: | 
 | # | 
 | #	cd python/dist/src | 
 | #	valgrind --tool=memcheck --suppressions=Misc/valgrind-python.supp \ | 
 | #		./python -E -tt ./Lib/test/regrtest.py -u bsddb,network | 
 | # | 
 | # You must edit Objects/obmalloc.c and uncomment Py_USING_MEMORY_DEBUGGER | 
 | # to use the preferred suppressions with Py_ADDRESS_IN_RANGE. | 
 | # | 
 | # If you do not want to recompile Python, you can uncomment | 
 | # suppressions for PyObject_Free and PyObject_Realloc. | 
 | # | 
 | # See Misc/README.valgrind for more information. | 
 |  | 
 | # all tool names: Addrcheck,Memcheck,cachegrind,helgrind,massif | 
 | { | 
 |    ADDRESS_IN_RANGE/Invalid read of size 4 | 
 |    Memcheck:Addr4 | 
 |    fun:Py_ADDRESS_IN_RANGE | 
 | } | 
 |  | 
 | { | 
 |    ADDRESS_IN_RANGE/Invalid read of size 4 | 
 |    Memcheck:Value4 | 
 |    fun:Py_ADDRESS_IN_RANGE | 
 | } | 
 |  | 
 | { | 
 |    ADDRESS_IN_RANGE/Invalid read of size 8 (x86_64 aka amd64) | 
 |    Memcheck:Value8 | 
 |    fun:Py_ADDRESS_IN_RANGE | 
 | } | 
 |  | 
 | { | 
 |    ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value | 
 |    Memcheck:Cond | 
 |    fun:Py_ADDRESS_IN_RANGE | 
 | } | 
 |  | 
 | # | 
 | # Leaks (including possible leaks) | 
 | #    Hmmm, I wonder if this masks some real leaks.  I think it does. | 
 | #    Will need to fix that. | 
 | # | 
 |  | 
 | { | 
 |    Handle PyMalloc confusing valgrind (possibly leaked) | 
 |    Memcheck:Leak | 
 |    fun:realloc | 
 |    fun:_PyObject_GC_Resize | 
 |    fun:COMMENT_THIS_LINE_TO_DISABLE_LEAK_WARNING | 
 | } | 
 |  | 
 | { | 
 |    Handle PyMalloc confusing valgrind (possibly leaked) | 
 |    Memcheck:Leak | 
 |    fun:malloc | 
 |    fun:_PyObject_GC_New | 
 |    fun:COMMENT_THIS_LINE_TO_DISABLE_LEAK_WARNING | 
 | } | 
 |  | 
 | { | 
 |    Handle PyMalloc confusing valgrind (possibly leaked) | 
 |    Memcheck:Leak | 
 |    fun:malloc | 
 |    fun:_PyObject_GC_NewVar | 
 |    fun:COMMENT_THIS_LINE_TO_DISABLE_LEAK_WARNING | 
 | } | 
 |  | 
 | # | 
 | # Non-python specific leaks | 
 | # | 
 |  | 
 | { | 
 |    Handle pthread issue (possibly leaked) | 
 |    Memcheck:Leak | 
 |    fun:calloc | 
 |    fun:allocate_dtv | 
 |    fun:_dl_allocate_tls_storage | 
 |    fun:_dl_allocate_tls | 
 | } | 
 |  | 
 | { | 
 |    Handle pthread issue (possibly leaked) | 
 |    Memcheck:Leak | 
 |    fun:memalign | 
 |    fun:_dl_allocate_tls_storage | 
 |    fun:_dl_allocate_tls | 
 | } | 
 |  | 
 | ###{ | 
 | ###   ADDRESS_IN_RANGE/Invalid read of size 4 | 
 | ###   Memcheck:Addr4 | 
 | ###   fun:PyObject_Free | 
 | ###} | 
 | ### | 
 | ###{ | 
 | ###   ADDRESS_IN_RANGE/Invalid read of size 4 | 
 | ###   Memcheck:Value4 | 
 | ###   fun:PyObject_Free | 
 | ###} | 
 | ### | 
 | ###{ | 
 | ###   ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value | 
 | ###   Memcheck:Cond | 
 | ###   fun:PyObject_Free | 
 | ###} | 
 |  | 
 | ###{ | 
 | ###   ADDRESS_IN_RANGE/Invalid read of size 4 | 
 | ###   Memcheck:Addr4 | 
 | ###   fun:PyObject_Realloc | 
 | ###} | 
 | ### | 
 | ###{ | 
 | ###   ADDRESS_IN_RANGE/Invalid read of size 4 | 
 | ###   Memcheck:Value4 | 
 | ###   fun:PyObject_Realloc | 
 | ###} | 
 | ### | 
 | ###{ | 
 | ###   ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value | 
 | ###   Memcheck:Cond | 
 | ###   fun:PyObject_Realloc | 
 | ###} | 
 |  | 
 | ### | 
 | ### All the suppressions below are for errors that occur within libraries | 
 | ### that Python uses.  The problems to not appear to be related to Python's | 
 | ### use of the libraries. | 
 | ### | 
 |  | 
 | { | 
 |    Generic ubuntu ld problems | 
 |    Memcheck:Addr8 | 
 |    obj:/lib/ld-2.4.so | 
 |    obj:/lib/ld-2.4.so | 
 |    obj:/lib/ld-2.4.so | 
 |    obj:/lib/ld-2.4.so | 
 | } | 
 |  | 
 | { | 
 |    Generic gentoo ld problems | 
 |    Memcheck:Cond | 
 |    obj:/lib/ld-2.3.4.so | 
 |    obj:/lib/ld-2.3.4.so | 
 |    obj:/lib/ld-2.3.4.so | 
 |    obj:/lib/ld-2.3.4.so | 
 | } | 
 |  | 
 | { | 
 |    DBM problems, see test_dbm | 
 |    Memcheck:Param | 
 |    write(buf) | 
 |    fun:write | 
 |    obj:/usr/lib/libdb1.so.2 | 
 |    obj:/usr/lib/libdb1.so.2 | 
 |    obj:/usr/lib/libdb1.so.2 | 
 |    obj:/usr/lib/libdb1.so.2 | 
 |    fun:dbm_close | 
 | } | 
 |  | 
 | { | 
 |    DBM problems, see test_dbm | 
 |    Memcheck:Value8 | 
 |    fun:memmove | 
 |    obj:/usr/lib/libdb1.so.2 | 
 |    obj:/usr/lib/libdb1.so.2 | 
 |    obj:/usr/lib/libdb1.so.2 | 
 |    obj:/usr/lib/libdb1.so.2 | 
 |    fun:dbm_store | 
 |    fun:dbm_ass_sub | 
 | } | 
 |  | 
 | { | 
 |    DBM problems, see test_dbm | 
 |    Memcheck:Cond | 
 |    obj:/usr/lib/libdb1.so.2 | 
 |    obj:/usr/lib/libdb1.so.2 | 
 |    obj:/usr/lib/libdb1.so.2 | 
 |    fun:dbm_store | 
 |    fun:dbm_ass_sub | 
 | } | 
 |  | 
 | { | 
 |    DBM problems, see test_dbm | 
 |    Memcheck:Cond | 
 |    fun:memmove | 
 |    obj:/usr/lib/libdb1.so.2 | 
 |    obj:/usr/lib/libdb1.so.2 | 
 |    obj:/usr/lib/libdb1.so.2 | 
 |    obj:/usr/lib/libdb1.so.2 | 
 |    fun:dbm_store | 
 |    fun:dbm_ass_sub | 
 | } | 
 |  | 
 | { | 
 |    GDBM problems, see test_gdbm | 
 |    Memcheck:Param | 
 |    write(buf) | 
 |    fun:write | 
 |    fun:gdbm_open | 
 |  | 
 | } | 
 |  | 
 | { | 
 |    ZLIB problems, see test_gzip | 
 |    Memcheck:Cond | 
 |    obj:/lib/libz.so.1.2.3 | 
 |    obj:/lib/libz.so.1.2.3 | 
 |    fun:deflate | 
 | } | 
 |  | 
 | { | 
 |    Avoid problems w/readline doing a putenv and leaking on exit | 
 |    Memcheck:Leak | 
 |    fun:malloc | 
 |    fun:xmalloc | 
 |    fun:sh_set_lines_and_columns | 
 |    fun:_rl_get_screen_size | 
 |    fun:_rl_init_terminal_io | 
 |    obj:/lib/libreadline.so.4.3 | 
 |    fun:rl_initialize | 
 | } | 
 |  | 
 | ### | 
 | ### These occur from somewhere within the SSL, when running | 
 | ###  test_socket_sll.  They are too general to leave on by default. | 
 | ### | 
 | ###{ | 
 | ###   somewhere in SSL stuff | 
 | ###   Memcheck:Cond | 
 | ###   fun:memset | 
 | ###} | 
 | ###{ | 
 | ###   somewhere in SSL stuff | 
 | ###   Memcheck:Value4 | 
 | ###   fun:memset | 
 | ###} | 
 | ### | 
 | ###{ | 
 | ###   somewhere in SSL stuff | 
 | ###   Memcheck:Cond | 
 | ###   fun:MD5_Update | 
 | ###} | 
 | ### | 
 | ###{ | 
 | ###   somewhere in SSL stuff | 
 | ###   Memcheck:Value4 | 
 | ###   fun:MD5_Update | 
 | ###} | 
 |  | 
 | # | 
 | # All of these problems come from using test_socket_ssl | 
 | # | 
 | { | 
 |    from test_socket_ssl | 
 |    Memcheck:Cond | 
 |    fun:BN_bin2bn | 
 | } | 
 |  | 
 | { | 
 |    from test_socket_ssl | 
 |    Memcheck:Cond | 
 |    fun:BN_num_bits_word | 
 | } | 
 |  | 
 | { | 
 |    from test_socket_ssl | 
 |    Memcheck:Value4 | 
 |    fun:BN_num_bits_word | 
 | } | 
 |  | 
 | { | 
 |    from test_socket_ssl | 
 |    Memcheck:Cond | 
 |    fun:BN_mod_exp_mont_word | 
 | } | 
 |  | 
 | { | 
 |    from test_socket_ssl | 
 |    Memcheck:Cond | 
 |    fun:BN_mod_exp_mont | 
 | } | 
 |  | 
 | { | 
 |    from test_socket_ssl | 
 |    Memcheck:Param | 
 |    write(buf) | 
 |    fun:write | 
 |    obj:/usr/lib/libcrypto.so.0.9.7 | 
 | } | 
 |  | 
 | { | 
 |    from test_socket_ssl | 
 |    Memcheck:Cond | 
 |    fun:RSA_verify | 
 | } | 
 |  | 
 | { | 
 |    from test_socket_ssl | 
 |    Memcheck:Value4 | 
 |    fun:RSA_verify | 
 | } | 
 |  | 
 | { | 
 |    from test_socket_ssl | 
 |    Memcheck:Value4 | 
 |    fun:DES_set_key_unchecked | 
 | } | 
 |  | 
 | { | 
 |    from test_socket_ssl | 
 |    Memcheck:Value4 | 
 |    fun:DES_encrypt2 | 
 | } | 
 |  | 
 | { | 
 |    from test_socket_ssl | 
 |    Memcheck:Cond | 
 |    obj:/usr/lib/libssl.so.0.9.7 | 
 | } | 
 |  | 
 | { | 
 |    from test_socket_ssl | 
 |    Memcheck:Value4 | 
 |    obj:/usr/lib/libssl.so.0.9.7 | 
 | } | 
 |  | 
 | { | 
 |    from test_socket_ssl | 
 |    Memcheck:Cond | 
 |    fun:BUF_MEM_grow_clean | 
 | } | 
 |  | 
 | { | 
 |    from test_socket_ssl | 
 |    Memcheck:Cond | 
 |    fun:memcpy | 
 |    fun:ssl3_read_bytes | 
 | } | 
 |  | 
 | { | 
 |    from test_socket_ssl | 
 |    Memcheck:Cond | 
 |    fun:SHA1_Update | 
 | } | 
 |  | 
 | { | 
 |    from test_socket_ssl | 
 |    Memcheck:Value4 | 
 |    fun:SHA1_Update | 
 | } | 
 |  | 
 |  |