[ python-Bugs-1376775 ] Memory leak in the email package
SourceForge.net
noreply at sourceforge.net
Mon Dec 12 17:00:00 CET 2005
Bugs item #1376775, was opened at 2005-12-08 17:03
Message generated for change (Comment added) made by ken668
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1376775&group_id=5470
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: Python Library
Group: Python 2.4
Status: Open
Resolution: None
Priority: 5
Submitted By: ken668 (ken668)
Assigned to: Nobody/Anonymous (nobody)
Summary: Memory leak in the email package
Initial Comment:
memory leak in email.message_from_string. This is what
I did to create a leak.
You used the attached file, memleak.eml.
f = open("memleak.eml")
buffer = f.read()
f.close()
# now buffer has the email string
msg = email.message_from_string(buffer)
msg = None # this should free the memory but it doesn't
# The memory that is used in msg is not completely free
----------------------------------------------------------------------
>Comment By: ken668 (ken668)
Date: 2005-12-12 08:00
Message:
Logged In: YES
user_id=1400763
My mistake. I had also called gc.get_objects() too. It was
gc.get_objects() that outputed the content of the email
message. It was not gc.garbage. Sorry about that.
----------------------------------------------------------------------
Comment By: ken668 (ken668)
Date: 2005-12-12 07:59
Message:
Logged In: YES
user_id=1400763
My mistake. I had also called gc.get_objects() too. It was
gc.get_objects() that outputed the content of the email
message. It was not gc.garbage. Sorry about that.
----------------------------------------------------------------------
Comment By: ken668 (ken668)
Date: 2005-12-12 07:53
Message:
Logged In: YES
user_id=1400763
I added these three lines after the line "msg=None"
import gc
print "gc.collect()\n\n", gc.collect()
print "gc.garbage\n\n", gc.garbage
If you pipe the output of gc.garbage to a file, you will see
the email message you just sent are still be in the memory.
Everytime I call email.message_from_string, a copy of the
message will be kept in the memory even after I set the
returned value to None.
I tried the same thing with email package email-2.5.tar.gz,
that memory was freed right after I set the variable "msg"
to None.
Thanks
Ken
----------------------------------------------------------------------
Comment By: Neal Norwitz (nnorwitz)
Date: 2005-12-11 12:13
Message:
Logged In: YES
user_id=33168
What causes you to believe this is a memory leak? I ran
this under valgrind and it doesn't report any leaks.
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1376775&group_id=5470
More information about the Python-bugs-list
mailing list