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

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

From: Kyle McKay <mackyle_at_gmail.com>
Date: Tue, 21 Apr 2009 15:47:33 -0700

[[[
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

Received on 2009-04-22 09:06:56 CEST

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.