[Python-Dev] No longer enable Py_TRACE_REFS by default in debug build
Victor Stinner
vstinner at redhat.com
Wed Apr 10 18:29:34 EDT 2019
More information about the Python-Dev mailing list
Wed Apr 10 18:29:34 EDT 2019
- Previous message (by thread): [Python-Dev] No longer enable Py_TRACE_REFS by default in debug build
- Next message (by thread): [Python-Dev] No longer enable Py_TRACE_REFS by default in debug build
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Le mer. 10 avr. 2019 à 20:09, Steve Dower <steve.dower at python.org> a écrit : > > The main question is if anyone ever used Py_TRACE_REFS? Does someone > > use sys.getobjects() or PYTHONDUMPREFS environment variable? > > > > Using PYTHONDUMPREFS=1 on a debug build (with Py_TRACE_REFS) does > > simply crash Python 3.7 at exit. So I don't think that anyone use it > > :-) > > How do we track reference leaks in the buildbots? Can/should we be using > this? Ah, maybe there is a misunderstanding. You don't need Py_TRACE_REFS to track memory leaks: "python3 -m test -R 3:3" works without that. test_regrtest contains an unit test for reference leaks (I know it that I wrote the test :-)), and you can see that the test pass on my PR. I also checked manually by adding a memory leak into a test: it is still detected :-) regrtest uses sys.gettotalrefcount(), sys.getallocatedblocks() and support.fd_count() to track reference, memory and file descriptor leaks. None of these functions are related to Py_TRACE_REFS. Again, the question is who rely on Py_TRACE_REFS. If nobody rely on it, I don't see the point of keeping this expensive feature (at least, not by default). > It doesn't crash on Python 3.8, so I suspect fixing the bug is a better > option than using it as an excuse to remove the feature. It's not what I said. I only said that it seems that nobody uses PYTHONDUMPREFS, since it's broken for a long time. It's just a hint about the usage of Py_TRACE_REFS. I don't propose to remove the feature, but to disable it by default. Victor -- Night gathers, and now my watch begins. It shall not end until my death.
- Previous message (by thread): [Python-Dev] No longer enable Py_TRACE_REFS by default in debug build
- Next message (by thread): [Python-Dev] No longer enable Py_TRACE_REFS by default in debug build
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-Dev mailing list