Message378337
Currently, we don't track instances of certain heap types based on the assumption that "no members" == "no reference cycles".
Unfortunately, it's still possible to create untracked reference cycles with one's parents. The following program leaks memory:
while True:
class C:
__slots__ = ()
C.i = C()
del C
The fix is simple: track all instances of user-defined classes, no exceptions. I'm not sure we were actually getting any real wins from the old behavior anyways. |
|
| Date |
User |
Action |
Args |
| 2020-10-09 19:17:48 | brandtbucher | set | recipients:
+ brandtbucher, pablogsal |
| 2020-10-09 19:17:48 | brandtbucher | set | messageid: <1602271068.86.0.423346630238.issue41984@roundup.psfhosted.org> |
| 2020-10-09 19:17:48 | brandtbucher | link | issue41984 messages |
| 2020-10-09 19:17:48 | brandtbucher | create | |
|