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

Re: svn+ssh svnserve hangs with TSVN

From: Joseph Galbraith <galb_at_vandyke.com>
Date: 2007-03-06 16:16:34 CET

Dale Whitfield wrote:
> Hi Joseph >@2007.03.05_18:01:28_+0200
>
> Thanks for some sane considered advice.
>
>> Have you tried using the command line windows client?
>
> No. Will do so. Never installed it before. First pass it says "Can't
> create tunnel: The system cannot find the file specified"
>
> Since that's not too informative I'm guessing it is looking for an ssh
> client. Now to figure how to tell it to use what's installed...

You need set your SVN_SSH environment variable.

For the test to be valid, you need to use the same SSH client
you are using with TSVN.

>> As Stefan says, regardless of whether this is a server or
>> a client issue, it is almost certainly an issue in the
>> svn libraries, svnserve, ssh client or ssh server,
>> and not in TSVN.
>>
>> The least likely piece of software to be at fault is
>> TSVN-- it only communicates with the SSH client through
>> the svn library.
>
> This info most welcome...
>
>> So, here are some questions to help you track down
>> what might be happening:
>>
>> + Is the TortoiseProc process still running?
>> + Is the plink process still running?
>
> Neither appear to be.

In that case, I would speculate the following scenario:

+ the SVN libraries have killed the plink process before it
  finished cleanly shutting down the connection, causing the
  TCP connection to be abandoned.

  The library does kill the tunnel agent when it (the library)
  has finished using the agent; there has been some discussion
  about this recently on the svn dev list.

+ Because the (SSH) server is not trying to send any data,
  it will not detect the connection drop.

  (When the connection is on a LAN, TCP seems to detect
  connection drops instantly-- when it is routed, it doesn't
  always detect that the peer has gone away unless a send
  times out; I'm not entirely sure of the reasons for this.)

  If the server is configured to use TCP keepalives, it will
  probably detect the about two hours after it happens. I believe
  there are a couple of options that control this in openssh.

>> PS. You might try using tortoiseplink instead of
>> the stock plink and see if that changes the
>> behavior. (And unless I miss my guess, the stock
>> plink results in ugly CMD windows appearing while
>> operations are in progress, which tortoiseplink
>> doesn't do.)
>
> I assume its using the plink which comes with Putty.

You should check the configuration by looking on the
Network page of the TSVN configuration.

Thanks,

Joseph

>> Dale Whitfield wrote:
>>> Hi Stefan >@2007.03.03_13:36:32_+0200
>>>
>>>> Dale Whitfield wrote:
>>>> [snip]
>>>>> The linux clients and linux server are separate machines. As is the
>>>>> Windows client. In fact this occurs with a number of windows clients
>>>> >from varying physically remote locations. It does not occur using linux
>>>>> clients from various locations.
>>>> If it happens with other windows clients, then it's an issue of the
>>>> Subversion library (which all clients use). Which means you still need
>>>> to ask on the Subversion mailing list for help.
>>>>
>>>> [snip]
>>>>>> This is a server issue. You should ask these kinds of questions on the
>>>>>> Subversion mailing list.
>>>>> I can only reproduce this problem using TortoiseSVN. No other client.
>>>>> Why is it a server issue?
>>>> Now what? Above you said it happens with a number of windows clients,
>>>> now it's only TSVN? Which is it now? And no, just because you tell that
>>>> you can only reproduce this with TSVN does not help - it's still a
>>>> Subversion issue.
>>> It seems we have a language issue here. When I said "a number of windows
>>> clients" it would have been clearer to say "a number of TSVN windows
>>> clients". This was implied.
>>>
>>>> It's a server issue and not a client one for several reasons:
>>>> * you only see the effect on the server.
>>> which is often a manifestation of a client problem
>>>
>>>> * a server must *never, ever* assume that a client behaves in a certain
>>>> way - if the server does, then that's a security vulnerability and would
>>>> make it open for DOS attacks.
>>> I doubt it does but it also cannot terminate connections on a whim.
>>>
>>>> My guess is that your server doesn't properly time out open connections.
>>> I find this quite astounding. Of course Linux will time out open
>>> connections, most OSes will. The issue is why are these connections left
>>> open at all and allowed to time out?
>>>
>>>>> My reading of it is that TortoiseSVN is not terminating correctly,
>>>>> possibly prematurely, and leaving the ssh+svn session in limbo.
>>>> As soon as a windows process is terminated, *all* handles and sockets
>>>> are automatically closed, even if one would have been left open
>>>> accidentally.
>>> This does not imply that the remote end of the connection will be
>>> notified. This is most likely not the issue at all.
>>>
>>> It appears more likely that the server is expecting data and is left
>>> waiting for it.
>>>
>>>> Stefan
>>>>
>>>> --
>>>> ___
>>>> oo // \\ "De Chelonian Mobile"
>>>> (_,\/ \_/ \ TortoiseSVN
>>>> \ \_/_\_/> The coolest Interface to (Sub)Version Control
>>>> /_/ \_\ http://tortoisesvn.net
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: dev-unsubscribe@tortoisesvn.tigris.org
>>>> For additional commands, e-mail: dev-help@tortoisesvn.tigris.org
>>>>
>>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscribe@tortoisesvn.tigris.org
>>> For additional commands, e-mail: dev-help@tortoisesvn.tigris.org
>>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@tortoisesvn.tigris.org
>> For additional commands, e-mail: dev-help@tortoisesvn.tigris.org
>>
>>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tortoisesvn.tigris.org
For additional commands, e-mail: dev-help@tortoisesvn.tigris.org
Received on Tue Mar 6 16:16:55 2007

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

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