rsync over ssh - lockups with pipe()

Damien Miller djm at mindrot.org
Tue Feb 1 23:14:21 EST 2000


On Sat, 29 Jan 2000 tridge at linuxcare.com wrote:

> For a couple of years people have been reporting intermittent problems
> with rsync over ssh freezing during a large transfer (typically
> several GB). I have now gotten to the bottom of these problems, and
> have written a small test program which demonstrates a deadlock in
> sshd when doing large bi-directional transfers. Luckily the problem is
> easily solved by modifying sshd to use socketpair() instead of
> pipe(). Just remove "#define USE_PIPES 1" from near the bottom of
> includes.h does the trick.

Behaviour (and fix) verified under Linux 2.2.12. OpenBSD 2.6 + 
errata seems not be affected.

Can anyone detect any problems when using socket pairs? If not, I 
shall make it the default.

Regards,
Damien

--
| "Bombay is 250ms from New York in the new world order" - Alan Cox
| Damien Miller - http://www.mindrot.org/
| Email: djm at mindrot.org (home) -or- djm at ibs.com.au (work)









More information about the openssh-unix-dev mailing list