mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 03:44:55 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			391 lines
		
	
	
	
		
			6.6 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			391 lines
		
	
	
	
		
			6.6 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
#
 | 
						|
# 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 ./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 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.
 | 
						|
#
 | 
						|
 | 
						|
{
 | 
						|
   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/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
 | 
						|
}
 | 
						|
 | 
						|
 |