Bugs item #1517495, was opened at 2006-07-05 08:47
Message generated for change (Comment added) made by akuchling
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1517495&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 Interpreter Core
Group: Python 2.4
Status: Open
Resolution: None
Priority: 5
Submitted By: Ids van der Molen (idsvandermolen)
Assigned to: Nobody/Anonymous (nobody)
Summary: memory leak threading or socketserver module

Initial Comment:
a long running threaded server is not releasing memory,
but will keep lots of it for appearantly no reason,
causing memory exhaustion. This problem occurs with
python 2.4.2 (Suse 10.1 version) and 2.4.3 (customer
compiled on RedHat 8.0 and Suse 10.0). The problem does
_not_ occur with python 2.2.1 (RedHat 8.0 version).

The problem can be reproduced by running multiple
concurrent clients sending lots of data (25M)to a
threaded server. It looks like the garbage collector
does not always release memory used in threads, because
the ForkinMixIn and normal variants of the TCPServer do
not  show this problem (but it may be masked because of
seperate process memory space issues).
Testing:
To reproduce the probme run server code and create
multiple client connections by running multiple
instances of the client code, using the test run shell
script. The server will peak at about 550M, and remain
at lower but with every test run increasing amount of
memory (and therefore eventually using all available
memory).

----------------------------------------------------------------------

>Comment By: A.M. Kuchling (akuchling)
Date: 2006-10-09 16:16

Message:
Logged In: YES 
user_id=11375

Confirmed; the sample server does leak on Linux.

I couldn't figure out why, though.  I doubt it's an
interaction between threads and GC, unless there's a
refcounting bug in the threading module.  gc.garbage doesn't
contain anything, so it doesn't look like an __del__ cycle.


----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1517495&group_id=5470
_______________________________________________
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to