123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492 |
- #
- # This is a valgrind suppression file that should be used when using valgrind.
- #
- # ---------------------------------------------------------------------------
- # Debian note:
- # The file Misc/valgrind-python.supp is placed in an modified form into the
- # directory /usr/lib/valgrind as python.supp. There's no need to to add it
- # with the --suppressions option.
- # The unmodified file is found in /usr/share/doc/python3.6/
- #
- # The python3.6-dbg build has been compiled with -DPy_USING_MEMORY_DEBUGGER
- # so you can safely comment out the suppressions for PyObject_Free and
- # PyObject_Realloc.
- # ---------------------------------------------------------------------------
- # Here's an example of running valgrind:
- #
- # cd python/dist/src
- # valgrind --tool=memcheck --suppressions=Misc/valgrind-python.supp \
- # ./python -E ./Lib/test/regrtest.py -u gui,network
- #
- # You must edit Objects/obmalloc.c and uncomment Py_USING_MEMORY_DEBUGGER
- # to use the preferred suppressions with 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:address_in_range
- }
- {
- ADDRESS_IN_RANGE/Invalid read of size 4
- Memcheck:Value4
- fun:address_in_range
- }
- {
- ADDRESS_IN_RANGE/Invalid read of size 8 (x86_64 aka amd64)
- Memcheck:Value8
- fun:address_in_range
- }
- {
- ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value
- Memcheck:Cond
- fun: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.
- #
- {
- Suppress leaking the GIL. Happens once per process, see comment in ceval.c.
- Memcheck:Leak
- fun:malloc
- fun:PyThread_allocate_lock
- fun:PyEval_InitThreads
- }
- {
- Suppress leaking the GIL after a fork.
- Memcheck:Leak
- fun:malloc
- fun:PyThread_allocate_lock
- fun:PyEval_ReInitThreads
- }
- {
- Suppress leaking the autoTLSkey. This looks like it shouldn't leak though.
- Memcheck:Leak
- fun:malloc
- fun:PyThread_create_key
- fun:_PyGILState_Init
- fun:Py_InitializeEx
- fun:Py_Main
- }
- {
- Hmmm, is this a real leak or like the GIL?
- Memcheck:Leak
- fun:malloc
- fun:PyThread_ReInitTLS
- }
- {
- 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/Use of uninitialised value of size 8
- ### Memcheck:Addr8
- ### fun:PyObject_Free
- ###}
- ###
- ###{
- ### ADDRESS_IN_RANGE/Use of uninitialised value of size 8
- ### Memcheck:Value8
- ### 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/Use of uninitialised value of size 8
- ### Memcheck:Addr8
- ### fun:PyObject_Realloc
- ###}
- ###
- ###{
- ### ADDRESS_IN_RANGE/Use of uninitialised value of size 8
- ### Memcheck:Value8
- ### 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
- ###}
- # Fedora's package "openssl-1.0.1-0.1.beta2.fc17.x86_64" on x86_64
- # See http://bugs.python.org/issue14171
- {
- openssl 1.0.1 prng 1
- Memcheck:Cond
- fun:bcmp
- fun:fips_get_entropy
- fun:FIPS_drbg_instantiate
- fun:RAND_init_fips
- fun:OPENSSL_init_library
- fun:SSL_library_init
- fun:init_hashlib
- }
- {
- openssl 1.0.1 prng 2
- Memcheck:Cond
- fun:fips_get_entropy
- fun:FIPS_drbg_instantiate
- fun:RAND_init_fips
- fun:OPENSSL_init_library
- fun:SSL_library_init
- fun:init_hashlib
- }
- {
- openssl 1.0.1 prng 3
- Memcheck:Value8
- fun:_x86_64_AES_encrypt_compact
- fun:AES_encrypt
- }
- #
- # 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
- }
- {
- test_buffer_non_debug
- Memcheck:Addr4
- fun:PyUnicodeUCS2_FSConverter
- }
- {
- test_buffer_non_debug
- Memcheck:Addr4
- fun:PyUnicode_FSConverter
- }
- {
- wcscmp_false_positive
- Memcheck:Addr8
- fun:wcscmp
- fun:_PyOS_GetOpt
- fun:Py_Main
- fun:main
- }
- # Additional suppressions for the unified decimal tests:
- {
- test_decimal
- Memcheck:Addr4
- fun:PyUnicodeUCS2_FSConverter
- }
- {
- test_decimal2
- Memcheck:Addr4
- fun:PyUnicode_FSConverter
- }
|