[Zope-dev] TCP CLOSE_WAIT leaks

Alan Milligan alan at balclutha.org
Mon Mar 27 19:44:09 EST 2006


Dieter Maurer wrote:

>>I've been noticing a situation for some time that my 2.8.5 Z2 is running
>>out of threads.  When doing an lsof on it, I see a large number of TCP
>>handles in CLOSE_WAIT state.
>>
>>It seems something's not properly clearing down the connection to
>>release the thread.
> 
> 
> I doubt that this is the case.
> 
>   The IO, including the closing of the connection, is
>   handled by the ZServer thread. This is a single thread.
>   You would immediately observe should it block (Zope would
>   be irresponsive).
> 

This *is* exactly the behaviour I'm observing.

>   When the connection is closed, the Zope worker thread has
>   already been released. By the way, their number is fixed
>   (and usually small).

Unfortunately, the server is out of threads and I can't use
DeadlockDebugger to see what exactly Z2 thinks each thread is doing.

As these threads have not completed, there's no access log entry, and
the other socket terminal has obviously closed, meaning I can't chase
the issue down from the other end either.

I've upgraded a lot of software, and this issue is present on 2.8.6 as
well.  I'm confident this issue is with Zope (or more likely, a badly
behaving product) - it manifests with httpd-2.0.54, and
httpd-2.2.0-5.1.2 (both forked and worker implementations).

Any ideas on how to track it down??

Alan



More information about the Zope-Dev mailing list