From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Sun, 20 Jul 2025 08:55:40 +0000 (+0200) Subject: [3.13] Doc/c-api/memory.rst: extend --without-pymalloc doc with ASan information... X-Git-Tag: v3.13.6~65 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c99fad72a1c86c0ae4522ef02de2b4811bd7591f;p=thirdparty%2FPython%2Fcpython.git [3.13] Doc/c-api/memory.rst: extend --without-pymalloc doc with ASan information (GH-136790) (#136799) Extends the documentation for disabling pymalloc with the `--without-pymalloc` flag regarding why it is worth to use it when enabling AddressSanitizer for Python build (which is done, e.g., in CPython's CI builds). (cherry picked from commit d19bb4471331ca2cb87b86e4c904bc9a2bafb044) Co-authored-by: Disconnect3d Co-authored-by: Petr Viktorin --- diff --git a/Doc/c-api/memory.rst b/Doc/c-api/memory.rst index f7618a025ba3..1d0e6c399a56 100644 --- a/Doc/c-api/memory.rst +++ b/Doc/c-api/memory.rst @@ -656,6 +656,10 @@ This allocator is disabled if Python is configured with the :option:`--without-pymalloc` option. It can also be disabled at runtime using the :envvar:`PYTHONMALLOC` environment variable (ex: ``PYTHONMALLOC=malloc``). +Typically, it makes sense to disable the pymalloc allocator when building +Python with AddressSanitizer (:option:`--with-address-sanitizer`) which helps +uncover low level bugs within the C code. + Customize pymalloc Arena Allocator ---------------------------------- diff --git a/Doc/using/configure.rst b/Doc/using/configure.rst index aa2edd5dd7f2..ba69b68d9772 100644 --- a/Doc/using/configure.rst +++ b/Doc/using/configure.rst @@ -771,6 +771,9 @@ Debug options .. option:: --with-address-sanitizer Enable AddressSanitizer memory error detector, ``asan`` (default is no). + To improve ASan detection capabilities you may also want to combine this + with :option:`--without-pymalloc` to disable the specialized small-object + allocator whose allocations are not tracked by ASan. .. versionadded:: 3.6