[issue46476] Not all memory allocated by _Py_Quicken() is released at Python exit

Guido van Rossum report at bugs.python.org
Sat Jan 22 19:59:44 EST 2022


Guido van Rossum <guido at python.org> added the comment:

If any of the immortal, deep-frozen code objects is ever quickened, I suppose the quickening data is never freed. But when we finalize and reinitialize, the co_quickened flag should remain set, so this would be a one-time leak.

The question is whether the quickening cache points to any objects that *are* freed. If it does, that could be bad. If it doesn't, then all we lose is a fixed amount of memory (no further leaks if we finalize and initialize the runtime repeatedly).

However, if my theory holds, why would valgrind consider the memory leaked? (TBH I don't know what valgrind does, so maybe that's not the right question.)

----------

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue46476>
_______________________________________


More information about the Python-bugs-list mailing list