[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: [PATCH] (updated) fix for ssh zombies introduced with r35533

From: Gavin Baumanis <gavinb_at_thespidernet.com>
Date: Fri, 1 May 2009 20:55:02 +1000

Ping. This patch proposal has received no comments and I haven't
noticed it being committed, either.

Gavin.

On 22/04/2009, at 8:47 AM, Kyle McKay wrote:

> [[[
> Fix ssh zombie problem introduced with revision 35533
>
> * subversion/libsvn_ra_svn/client.c
> (make_tunnel): Fully detach tunnel process to avoid having it
> receive signals while restoring the original
> apr_pool_note_subprocess to avoid creating zombies.
> ]]]
>
> Updated so that WIN32 behavior remains the same after applying this
> patch as it was after revision 35533. The earlier version of the
> patch inadvertently reverted WIN32 behavior to the pre-r35533 state.
>
> Kyle
>
>> As detailed in this thread:
>>
>> http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=1445592
>>
>> regarding the change introduced into client.c by revision 35533:
>>
>> http://svn.collab.net/viewvc/svn?view=revision&revision=35533
>>
>> On Mar 27, 2009, at 09:51, Hyrum K. Wright wrote:
>>> The case which drove r35533 was a user who uses ssh connection
>>> pooling for svn connections.
>>
>> Change r35533 removed the call to to apr_pool_note_subprocess
>> meaning that Subversion never reaps any of its children. This may
>> be okay for a short-lived process, but is not okay for a long-lived
>> process such as a GUI tool that has linked with the Subversion
>> library.
>>
>> If the GUI tool runs long enough, it can create so many un-reaped
>> zombie processes that system resources are exhausted and it becomes
>> impossible to spawn any new processes.
>>
>> The attached patch restores the original call to
>> apr_pool_note_subprocess thus guaranteeing no zombies are ever
>> created. It also arranges for the tunnel process to become detached
>> so that it can "die in piece, in its own time, on its own terms" as
>> the log comment for revision 35533 mentions, but without causing
>> zombie processes to be created.
>>
>> This change retains full compatibility with ssh connection pooling
>> while eliminating the zombie problem. See issue #2580 for the
>> original impetus for the change made in revision 35533.
>>
>> http://subversion.tigris.org/issues/show_bug.cgi?id=2580
>>
>> Kyle
>
> ------------------------------------------------------
> http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=1849826
> <client.c-patch_v2>

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2012775
Received on 2009-05-01 12:55:23 CEST

This is an archived mail posted to the Subversion Dev mailing list.