From: Kefu Chai Date: Tue, 23 Jun 2026 08:14:19 +0000 (+0800) Subject: qa/lsan.supp: suppress CPython 3.12/3.13 interpreter leaks X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=320a3a0529c7154918321c02e85d57674fb9bfce;p=ceph.git qa/lsan.supp: suppress CPython 3.12/3.13 interpreter leaks The python binaries on some CI images and dev boxes ship stripped, so the allocator frames in an interpreter-shutdown leak come through unsymbolised (/usr/bin/python3.13+0x...) and the function-name matches above cannot apply. leak:python3.10 already handled this for 3.10, and a stale comment claimed 3.12 does not leak. Add leak:python3.12 and leak:python3.13, mirroring the 3.10 entry, so the interpreter globals are suppressed whatever CPython the build uses. Signed-off-by: Kefu Chai --- diff --git a/qa/lsan.supp b/qa/lsan.supp index e1a20fdccd82..df0897fc96e5 100644 --- a/qa/lsan.supp +++ b/qa/lsan.supp @@ -29,15 +29,14 @@ leak:^PyUnicode_New leak:^PyMem_Malloc leak:^PyDict_Copy leak:^_PyObject_GC_NewVar -# Catch unsymbolised interpreter frames in both the standalone -# /usr/bin/python3.10 binary (used by the bin/ceph wrapper) and the -# /lib/.../libpython3.10.so.1.0 embedded by C++ unittests such as -# unittest_mgr_pyformatter / unittest_mgr_pyutil. Not all CPython -# 3.10 internal helpers are exported in .dynsym, so function-name -# matches above don't cover everything; this substring-matches the -# module path in the stack frame. Remove when CI moves to >= 3.12. +# Catch unsymbolised interpreter frames in the standalone python binary used by +# the bin/ceph wrapper and in the libpython embedded by C++ unittests such as +# unittest_mgr_pyformatter / unittest_mgr_pyutil. Not all CPython internal +# helpers are exported in .dynsym, so the function-name matches above don't +# cover everything; this substring-matches the module path in the stack frame. leak:python3.10 -# python3.12 doesn't leak anything +leak:python3.12 +leak:python3.13 # python3.13 leak:^PyModule_ExecDef