> > It passes regrtest but causes test_gc to leak 20 objects. 13 from > > test_finalizer_newclass and 7 from test_del_newclass. These leaks > > go away if test_saveall is skipped. I've tried earlier versions of > > this patch (which were ok at the time) and they now create this > > leak too. > > > > Some change since the last time I worked on interning must have > > caused this. Either this change reveals a bug in my patch or my patch > > reveals a subtle bug in the GC. > > > > I don't know why it interacts with GC logic because strings are > > non-gc objects. I've tried to untrack the interned dictionary because > > it plays dirty tricks with refcounts but it doesn't change the > > symptom. > > I've seen this too! But only when I run the full test suite, not when > I run test_gc in isolation. I made a number of small changes to the GC > code, I'll have to roll them back one at a time to see which one > caused this -- and then look for a solution. :-( Duh. This warning is only printed when regrtest.py is given the -l option. Oren's first paragraph quoted above is exactly right. But none of the changes to C files made in the last month made any difference... The difference is test_gc.py itself! With a checkout from a month ago, if I change the classes in test_finalizer() and test_del() to be new-style classes, I get the same warnings. Maybe Tim understands the problem now? (Summary: why do I get the Warning below.) $ ./python ../Lib/test/regrtest.py -l test_gc test_gc Warning: test created 20 uncollectable object(s). 1 test OK. $ --Guido van Rossum (home page: http://www.python.org/~guido/)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4