From d5d33681c1cd1df7731eb0fb7c0f297bc2f114e6 Mon Sep 17 00:00:00 2001 From: Sanyam Khurana <8039608+CuriousLearner@users.noreply.github.com> Date: Tue, 20 Nov 2018 16:40:49 +0530 Subject: [PATCH] bpo-18859: Document --with-valgrind option in README.valgrind (#10591) --- Misc/README.valgrind | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Misc/README.valgrind b/Misc/README.valgrind index 908f137eff0..b483b2ea60a 100644 --- a/Misc/README.valgrind +++ b/Misc/README.valgrind @@ -2,6 +2,10 @@ This document describes some caveats about the use of Valgrind with Python. Valgrind is used periodically by Python developers to try to ensure there are no memory leaks or invalid memory reads/writes. +If you want to enable valgrind support in Python, you will need to +configure Python --with-valgrind option or an older option +--without-pymalloc. + UPDATE: Python 3.6 now supports PYTHONMALLOC=malloc environment variable which can be used to force the usage of the malloc() allocator of the C library. @@ -46,6 +50,10 @@ If you disable PyMalloc, most of the information in this document and the supplied suppressions file will not be useful. As discussed above, disabling PyMalloc can catch more problems. +PyMalloc uses 256KB chunks of memory, so it can't detect anything +wrong within these blocks. For that reason, compiling Python +--without-pymalloc usually increases the usefulness of other tools. + If you use valgrind on a default build of Python, you will see many errors like: