[darcs-devel] darcs and ssh issues

Eric Y. Kow eric.kow at gmail.com
Tue Nov 21 07:18:23 PST 2006


Hi all,

As you might have noticed, we've been experiencing a spate of
SSH-related issues ever since the control master feature that I
implemented.  I could use some help thinking about one of the issues (#5
below).  Please consider this to be an SSH report accompanied by a
request for brain-power and testing.

I invite you to reply to this message.  There is also the page
  http://wiki.darcs.net/index.html/SSHNotes
which might be handy because you can make tables on it

Summary of problems
-------------------
1. strange output:
     * plink: unknown option "-O" - harmless, but fixed from 1.0.9 and up
     * openssh: 

2. ssh not being called right
     * -q being sent to ssh (which breaks plink) - fixed
     * using stdin for sftp batch instead of -b 
       this is a tough one because using stdin breaks psftp and
       using -b breaks openssh's sftp -- not fixing yet
       because it seems you can't use PuTTY without pageant
       anyway)
     
3. --disable-ssh-cm not working
    * was not being recognised at all - fixed in 1.0.9 up
    * darcs send did not support --disable-ssh-cm - fixed with my new patch
    * was not interpreting it from defaults file - fixed by Tommy

4. darcs-ssh directory
    * not being cleaned up - needs fixing
    * being created in places like _darcs/pristine - urgently needs fixing

5. weird hanging [uh-oh!]
    * sporadic, appears to only occur with --disable-ssh-cm

I have recently submitted some patches to the list (not yet in the
official repos) to help us test the ssh stuff.  Unfortunately, I
have not gotten around to making the automated tests work under
Windows.  Will probably make a batch file or something, but could use a
hand with that.

The good news
-------------
The basic configurations which appear to work:

* PuTTY under cmd.exe in Windows _with_ pageant running (tested
  by hand)
* OpenSSH under Unix in all configuations (--disable-ssh-cm, using
  ssh-agent, etc)

darcs/PuTTY does not work without pageant (still don't have a good
explanation).

I have not tested any other Windows configurations, Cygwin, MSYS,
OpenSSH.  Feel free to chime in.

The bad news
------------
I would say that I am most troubled by the weird hanging.  I can now
even reproduce it, thanks to automated testing.  The general symptom is
that darcs waits forever for a subprocess like scp/sftp.  killall ssh
sometimes makes it succeed, which is indeed quite frightening

It seems to occur when you use the control master feature (so a
workaround consists of using --disable-ssh-cm [thanks Juliusz!] and
ssh-agent).

On the unstable repository, I get the impression that it occurs all
the time... need to poke around it some more.

On the stable repository, I have run the ssh.sh test 10 times with
NO_CONTROL_MASTER=1 (this does --disable-ssh-cm) without any problems
[hint: ssh-agent].  However, if I run it without that environment
variable, that is, if I let it use the control master, I get the
weird hanging thing 2/10 times, both times on darcs pull.

I'm going to set this aside till the weekend so that I can work on my
real job, so you might not get a response out of me, but I will be
reading any of your ideas with great interest.  Luckily, there is a
workaround to this behaviour (--disable-ssh-cm), but I would
nevertheless love to know why this is happening.

-- 
Eric Kow                     http://www.loria.fr/~kow
PGP Key ID: 08AC04F9         Merci de corriger mon français.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 186 bytes
Desc: not available
Url : http://lists.osuosl.org/pipermail/darcs-devel/attachments/20061121/abfef5f1/attachment.pgp


More information about the darcs-devel mailing list