This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author thehesiod
Recipients asvetlov, pitrou, thehesiod, vstinner
Date 2018-05-19.06:53:29
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1526712809.67.0.682650639539.issue33565@psf.upfronthosting.co.za>
In-reply-to
Content
I realize it doesn't track leaks, it's a tool to help find leaks when used correctly :)  This example should be similar to using the compare snapshots mechanism as I start tracking from a stable point (several iterations in after a gc), and then compare to another stable point several iterations later.  I have a much more complicated set-up at our company but wanted to keep the example as short as people complain here about large examples.

Further I realize how tracemalloc works, I have a lot of experience in leak hunting from my c++ days, I've even written my own native version of tracemalloc before (it's not hard).

The top stat is what bubbles up as the largest leak after a number of runs, that's why the results are so peculiar.  I've used tracemalloc before to find https://bugs.python.org/issue29870 in 3.5.2 and there the results made sense, here it makes no sense.  To my understanding there should not be any interned strings or other items that would cause this particular callstack to be the top hit of unreleased blocks of memory (leaks).

I still don't see any credible reason from why that callstack would be returned.  I still believe there's a real bug here, perhaps there's a leak inside the python interpreter implementation it's trying to point out?  I think it's worth investigating.
History
Date User Action Args
2018-05-19 06:53:29thehesiodsetrecipients: + thehesiod, pitrou, vstinner, asvetlov
2018-05-19 06:53:29thehesiodsetmessageid: <1526712809.67.0.682650639539.issue33565@psf.upfronthosting.co.za>
2018-05-19 06:53:29thehesiodlinkissue33565 messages
2018-05-19 06:53:29thehesiodcreate