Skip to content

[BUG] Memory leak when constructing empty frozendicts #60

@squahtx

Description

@squahtx

Similar to #55, frozendict() and frozendict({}) leak memory.

OS version: Ubuntu 20.04.4 LTS
Python3 version (python3 -V -V): Python 3.8.10

Steps to reproduce

Borrowing code from #55:

import resource
import frozendict

print("frozendict version:", frozendict.__version__)
print()

c = 0
while True:
    fz = frozendict.frozendict({})
    
    if (c % 10000) == 0:
        max_rss = resource.getrusage(resource.RUSAGE_SELF).ru_maxrss
        print(f"iteration: {c}, max rss: {max_rss} kb")
    
    c += 1

Actual result

frozendict version: 2.3.2

iteration: 0, max rss: 11292 kb
iteration: 10000, max rss: 12188 kb
iteration: 20000, max rss: 12980 kb
iteration: 30000, max rss: 13772 kb
...
iteration: 3150000, max rss: 263252 kb
iteration: 3160000, max rss: 264044 kb
iteration: 3170000, max rss: 265100 kb

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type: BugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions