[ python-Bugs-1256669 ] Significant memory leak with PyImport_ReloadModule
SourceForge.net
noreply at sourceforge.net
Wed Sep 14 20:09:13 CEST 2005
Bugs item #1256669, was opened at 2005-08-11 12:49
Message generated for change (Comment added) made by bheld
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1256669&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: None
Group: Python 2.4
Status: Open
Resolution: None
Priority: 5
Submitted By: Ben Held (bheld)
Assigned to: Nobody/Anonymous (nobody)
Summary: Significant memory leak with PyImport_ReloadModule
Initial Comment:
Having recently upgraded to Python 2.4, I am having a
large memory
leak with the following code built with VC++ 6.0:
PyObject *pName, *pModule;
Py_Initialize();
pName = PyString_FromString(argv[1]);
pModule = PyImport_Import(pName);
Py_DECREF(pName);
PyObject* pModule2 =
PyImport_ReloadModule(pModule);
Py_DECREF(pModule2);
Py_DECREF(pModule);
Py_Finalize();
return 0;
I get leaks of over 500 kb. I have another program which
is much more
complex, in which every call to PyImport_ReloadModule
is leaking 200+
kb, even though I am calling Py_DECREF correctly.
----------------------------------------------------------------------
>Comment By: Ben Held (bheld)
Date: 2005-09-14 18:09
Message:
Logged In: YES
user_id=1327580
This behavior is evident with Python 2.3.5 built on Windows
with VC++ 6.0.
----------------------------------------------------------------------
Comment By: Collin Winter (collinwinter)
Date: 2005-09-14 17:53
Message:
Logged In: YES
user_id=1344176
I've been unable to verify this on Linux. I've tested python
versions 2.2.3, 2.3.5 and 2.4.1, all compiled with gcc 3.3.5
on Debian 3.1 under kernel 2.6.8. I used the sample program
provided by Ben, modified with an infinite loop over the
PyImport_ReloadModule/PyDECREF(pModule2) lines, sleeping for
1 second after every 25 iterations. I tested reloading the
modules distutils, os.path, distutils.command.sdist for 300+
iterations each under each python version. No memory leak
was observed.
----------------------------------------------------------------------
Comment By: Ben Held (bheld)
Date: 2005-08-16 13:56
Message:
Logged In: YES
user_id=1327580
Boundschecker shows the leak and I have verified this by
watching the process memory increase via the task manager.
----------------------------------------------------------------------
Comment By: Martin v. Löwis (loewis)
Date: 2005-08-13 13:34
Message:
Logged In: YES
user_id=21627
How do you know there is a memory leak?
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1256669&group_id=5470
More information about the Python-bugs-list
mailing list