summaryrefslogtreecommitdiff
path: root/valgrind-python.supp
diff options
context:
space:
mode:
authorStefan Behnel <stefan_ml@behnel.de>2013-03-23 08:09:32 +0100
committerStefan Behnel <stefan_ml@behnel.de>2013-03-23 08:09:32 +0100
commiteb2be801bbd94c146ac4f955c0137490f43ca9c1 (patch)
tree9ce9c5242591aedf105b85d0ea17a00b193126f4 /valgrind-python.supp
parentec692af97eea48421c12525bdafd2f20f922bd86 (diff)
downloadpython-lxml-eb2be801bbd94c146ac4f955c0137490f43ca9c1.tar.gz
update valgrind suppressions file
Diffstat (limited to 'valgrind-python.supp')
-rw-r--r--valgrind-python.supp299
1 files changed, 265 insertions, 34 deletions
diff --git a/valgrind-python.supp b/valgrind-python.supp
index 440fb4a1..81a07c9f 100644
--- a/valgrind-python.supp
+++ b/valgrind-python.supp
@@ -5,7 +5,7 @@
#
# cd python/dist/src
# valgrind --tool=memcheck --suppressions=Misc/valgrind-python.supp \
-# ./python -E -tt ./Lib/test/regrtest.py -u bsddb,network
+# ./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.
@@ -29,52 +29,231 @@
}
{
+ 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.
+#
+
{
- ADDRESS_IN_RANGE/Invalid read of size 4
- Memcheck:Addr4
- fun:PyObject_Free
+ Suppress leaking the GIL. Happens once per process, see comment in ceval.c.
+ Memcheck:Leak
+ fun:malloc
+ fun:PyThread_allocate_lock
+ fun:PyEval_InitThreads
}
{
- ADDRESS_IN_RANGE/Invalid read of size 4
- Memcheck:Value4
- fun:PyObject_Free
+ Suppress leaking the GIL after a fork.
+ Memcheck:Leak
+ fun:malloc
+ fun:PyThread_allocate_lock
+ fun:PyEval_ReInitThreads
}
{
- ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value
- Memcheck:Cond
- fun:PyObject_Free
+ 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
}
{
- ADDRESS_IN_RANGE/Invalid read of size 4
- Memcheck:Addr4
- fun:PyObject_Realloc
+ Hmmm, is this a real leak or like the GIL?
+ Memcheck:Leak
+ fun:malloc
+ fun:PyThread_ReInitTLS
}
{
- ADDRESS_IN_RANGE/Invalid read of size 4
- Memcheck:Value4
- fun:PyObject_Realloc
+ 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
}
{
- ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value
- Memcheck:Cond
- fun:PyObject_Realloc
+ 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
@@ -84,6 +263,26 @@
}
+{
+ 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.
@@ -111,6 +310,38 @@
### 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
#
@@ -213,28 +444,28 @@
fun:SHA1_Update
}
-
-# some extra lxml specific (?) suppressions..
+{
+ test_buffer_non_debug
+ Memcheck:Addr4
+ fun:PyUnicodeUCS2_FSConverter
+}
{
- Test
- Memcheck:Param
- sigaction(act)
- fun:__libc_sigaction
+ test_buffer_non_debug
+ Memcheck:Addr4
+ fun:PyUnicode_FSConverter
}
+# Additional suppressions for the unified decimal tests:
{
- ld
- Memcheck:Cond
- obj:/lib/ld-2.6.so
- obj:/lib/ld-2.6.so
- obj:*
+ test_decimal
+ Memcheck:Addr4
+ fun:PyUnicodeUCS2_FSConverter
}
{
- ld
+ test_decimal2
Memcheck:Addr4
- obj:/lib/ld-2.6.so
- obj:/lib/ld-2.6.so
- obj:*
+ fun:PyUnicode_FSConverter
}
+