[Python-Dev] No longer enable Py_TRACE_REFS by default in debug build (original) (raw)

Nathaniel Smith njs at pobox.com
Mon Apr 15 19:05:58 EDT 2019


On Mon, Apr 15, 2019, 15:27 Michael Sullivan <sully at msully.net> wrote:

> The main question is if anyone ever used PyTRACEREFS? Does someone > use sys.getobjects() or PYTHONDUMPREFS environment variable?

I used sys.getobjects() today to track down a memory leak in the mypyc-compiled version of mypy. We were leaking memory badly but no sign of the leak was showing up in mypy's gc.getobjects() based profiler. Using a debug build and switching to sys.getobjects() showed that we were badly leaking int objects. A quick inspection of the values in question (large and random looking) suggested we were leaking hash values, and that quickly pointed me to https://github.com/mypyc/mypyc/pull/562. I don't have any strong feelings about whether to keep it in the "default" debug build, though. I was using a debug build that I built myself with every debug feature that seemed potentially useful.

This is mostly to satisfy my curiosity, so feel free to ignore: did you try using address sanitizer or valgrind?

-n

-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-dev/attachments/20190415/e89eae0b/attachment.html>



More information about the Python-Dev mailing list