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

zombie ssh processes

From: Kyle McKay <mackyle_at_gmail.com>
Date: Fri, 27 Mar 2009 09:21:34 -0700

From the xcode-users mailing list:

> From: Chris Espinosa <cde_at_apple.com>
> Date: March 26, 2009 15:39:14 PDT
> To: Xcode Users <xcode-users_at_lists.apple.com>
> Subject: Re: Xcode 3.1.2 and Subversion 1.6
>
> On Mar 25, 2009, at 3:19 PM, Chris Espinosa wrote:
>> On Mar 25, 2009, at 3:07 PM, Rob Lockstone wrote:
>>
>>> Has anyone tried using Xcode 3.1.2 with the subversion 1.6.0
>>> client? I think I recall (but may be wrong) that newer versions of
>>> Xcode don't make assumptions about the version of subversion
>>> that's installed and simply use whatever version it finds.
>>
>> We have not yet qualified any version of Xcode with Subversion
>> 1.6.0 and don't recommend replacing existing Subversion library or
>> client code with 1.6 until we've given it the green light.
>
> We've discovered in internal testing that this patch in Subversion
> 1.6:
>
> http://svn.collab.net/viewvc/svn?view=revision&revision=35533
>
> can cause Subversion 1.6 to leave behind zombie ssh processes every
> time you save a file in Xcode, and eventually exhaust your ability
> to spawn new processes. We don't recommend using Subversion 1.6
> with Xcode 3.1.x at this time.
>
> Chris

From:

http://svn.apache.org/repos/asf/apr/apr/tags/1.0.0/include/apr_thread_proc.h

APR_KILL_NEVER // process is never sent any signals
APR_KILL_ALWAYS // process is sent SIGKILL on apr_pool_t cleanup
APR_KILL_AFTER_TIMEOUT // SIGTERM, wait 3 seconds, SIGKILL
APR_JUST_WAIT // wait forever for the process to complete
APR_KILL_ONLY_ONCE // send SIGTERM and then wait

Restoring the apr_pool_note_subprocess and using APR_KILL_NEVER would
allow the children to be reaped provided they exit before pool cleanup.

However, that would likely not eliminate the zombie problem in Xcode
as pool cleanup probably happens faster than ssh cleanup and exit in
some cases. How about using APR_KILL_AFTER_TIMEOUT or
APR_KILL_ONLY_ONCE (or even APR_JUST_WAIT) ?

Kyle

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=1445592
Received on 2009-03-27 18:48:04 CET

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.