diff options
author | Andres Freund <andres@anarazel.de> | 2016-03-08 17:34:09 -0800 |
---|---|---|
committer | Andres Freund <andres@anarazel.de> | 2016-03-08 19:40:59 -0800 |
commit | 7e31314c5fcf942a900cce4637a27594ee32a65b (patch) | |
tree | 69b0ec0854c3b161df4355bddf7ddedcef79d04c /src | |
parent | 6416b1d422e588b0064d09e6a201d184b70638c1 (diff) | |
download | postgresql-7e31314c5fcf942a900cce4637a27594ee32a65b.tar.gz postgresql-7e31314c5fcf942a900cce4637a27594ee32a65b.zip |
Add valgrind suppressions for python code.
Python's allocator does some low-level tricks for efficiency;
unfortunately they trigger valgrind errors. Those tricks can be disabled
making instrumentation easier; but few people testing postgres will have
such a build of python. So add broad suppressions of the resulting
errors.
See also https://svn.python.org/projects/python/trunk/Misc/README.valgrind
This possibly will suppress valid errors, but without it it's basically
impossible to use valgrind with plpython code.
Author: Andres Freund
Backpatch: 9.4, where we started to maintain valgrind suppressions
Diffstat (limited to 'src')
-rw-r--r-- | src/tools/valgrind.supp | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/src/tools/valgrind.supp b/src/tools/valgrind.supp index 0e62782248f..5f15ac13afd 100644 --- a/src/tools/valgrind.supp +++ b/src/tools/valgrind.supp @@ -146,3 +146,69 @@ fun:IsBinaryCoercible } + + +# Python's allocator does some low-level tricks for efficiency. Those +# can be disabled for better instrumentation; but few people testing +# postgres will have such a build of python. So add broad +# suppressions of the resulting errors. +# See also https://svn.python.org/projects/python/trunk/Misc/README.valgrind +{ + python_clever_allocator + Memcheck:Addr4 + fun:PyObject_Free +} + +{ + python_clever_allocator + Memcheck:Addr8 + fun:PyObject_Free +} + +{ + python_clever_allocator + Memcheck:Value4 + fun:PyObject_Free +} + +{ + python_clever_allocator + Memcheck:Value8 + fun:PyObject_Free +} + +{ + python_clever_allocator + Memcheck:Cond + fun:PyObject_Free +} + +{ + python_clever_allocator + Memcheck:Addr4 + fun:PyObject_Realloc +} + +{ + python_clever_allocator + Memcheck:Addr8 + fun:PyObject_Realloc +} + +{ + python_clever_allocator + Memcheck:Value4 + fun:PyObject_Realloc +} + +{ + python_clever_allocator + Memcheck:Value8 + fun:PyObject_Realloc +} + +{ + python_clever_allocator + Memcheck:Cond + fun:PyObject_Realloc +} |