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

Re: Issue #2580 revisited: Windows unclean TCP close [SEVERE]

From: Branko Cibej <brane_at_xbc.nu>
Date: Sat, 17 Oct 2009 10:36:41 +0200

Bob Denny wrote:
> The problem is that I would be patching part of the Apache Portable Runtime,
> something I have zero real-world experience with. There's no SIGTERM (as
> observed above) so my patch would be to just wait three seconds then kill. This
> would probably be met with ridicule by the webserver people who are used to
> their server spawning hundreds of subprocesses per millisecond :-) I believe
> that I would be frozen out of the Apache group for a patch especially since my
> patch would be Windows oriented and that would tag me as "one of those Windoze
> guys" :-) That's why I observed that it probably isn't practical.
>

Interesting point of view. I expect you didn't know that the "boss" of
the APR project happens to be "one of those Windoze guys" at the moment. :)

Rest assured, the people working on APR won't respond with a broadside
to an imperfect Windows-specific patch. We're not that ilk of petty L33+
H4x0rs; in fact we mostly don't want to have anything to do with L33+
H4x0rs. :) Contributions are always welcome.

>>> 1. Modify libsvn_ra_svn\client.c to use APR_KILL_NEVER *on Windows*
>>> instead of APR_KILL_ONCE.
>>>
>>> What do you think?
>>>
>
>
>> KILL_NEVER is not a good solution. If it was, it would already be done
>> this way, and we'd never have had to mess around with killing SSH
>> processes in the first place.
>>
>
> I don't think this would present a problem on windows, and that is why I
> suggested ONLY doing this on Windows. I'm aware of the issues on Linux,
> though, and why you decided to do it to tunnel subprocesses.
>
> So it seems we're stuck: On one hand, we kill tunnels instantly, leaving
> sshd/svnserve processes running and accumulating on the remote end. This
> certainly happens. On the other hand, we don't kill tunnels and they don't exit
> cleanly and accumulate on the local system. It's less clear to me whether this
> is a rare or a frequent problem. I wonder how often this happens any more? Is
> this an ancient problem for which the solution has been in the code for a long
> time? Or is this a problem on Linux and not Windows? Maybe it doesn't exist on
> modern versions of Linux? Apart from patching apr, my feeling is that KILL_NEVER
> *ON WINDOWS ONLY* is the lesser of two evils (by a lot). KILL_ONCE (SIGTERM, 3
> sec., SIGKILL) is the best for Linux, etc.,and that's what you did in 1.6.5.
> Good one.
>

I think we need some hard data in order to make a reasonable decision
here. Bob, since you see and presumably can reproduce this
indeiscriminate proliferation of daemons; could you possibly test your
assumption that KILL_NEVER does the right thing on Windows? It would
require modifying and recompiling Subversion.

-- Brane

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2408466
Received on 2009-10-17 10:37:06 CEST

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