Multidict 4.7.3 memory leak
Reskov opened this issue · 0 comments
Reskov commented
Seems that multidict 4.7.x is leaking, that only happens when I iterate over multidict instance
Please check following code snippet:
import gc
import multidict
import objgraph
print("Multidict:", multidict.__version__)
objgraph.growth() # save current objects state
list(multidict.MultiDict((("arb", "value"), ))) # iter over keys
print("Unreleased objects:")
objgraph.show_growth()
Multidict: 4.7.3
Unreleased objects:
_KeysView 1 +1
MultiDict 1 +1
On the other hand for 4.6.1
Multidict: 4.6.1
Unreleased objects:
Your version of the Python
3.8.1
Your version of the multidict distribution
4.7.3
Snippet without objgraph package
import gc
import multidict
print("Multidict:", multidict.__version__)
gc.collect()
before = len(gc.get_objects())
for i in range(5):
list(multidict.MultiDict((("arb", "value"),)))
gc.collect()
print("Unreleased:", len(gc.get_objects())-before)
Multidict: 4.7.3
Unreleased: 1
Unreleased: 3
Unreleased: 5
Unreleased: 7
Unreleased: 9