On Mon, Oct 16, 2000 at 08:30:14PM +0200, Jan�ke R�nnblom wrote:
> On 16 Oct 2000, at 10:32, Dave Dykstra wrote:
> >
> > Those of you who are getting a stuck rsync 2.4.6: are you running ssh that
> > has not been recompiled with "HAVE_SOCKETPAIR" and not "USE_PIPES"? Ssh
> > 1.2.27 configure.in by default always defines "USE_PIPES" which overrides
> > HAVE_SOCKETPAIR. Andrew Tridgell has said that this change is required
> > after rsync 2.3.2, although I haven't verified the difference myself: I
> > went ahead and made the change to ssh's configure.in (and ran autoconf to
> > regenerate configure) without verifying whether or not it makes a
> > difference, and I haven't seen any hangs on rsync 2.4.6.
>
> Since openssh doesn't compile out of the box within cygwin I dug
> up the source with changes for cygwin and this is what I found.
>
> I can forget about running rsync 2.4.x, right?
[#ifdef HAVE_CYGWIN code showing use of pipes deleted]
I don't know. The characteristics of NT+cygwin may be very different from
Unixes. I don't even know why it makes a difference, just that Andrew
Tridgell said it was needed. He had a big buffering hack in rsync 2.3.2
as a workaround for SSH hangs and he took it out in 2.4.0.
Also, for those of you reporting hangs, here is what Andrew said when
he released 2.4.3:
Finally a plea. When reporting a freeze _please_ include the following
or we can't help:
- what is the state of the send/receive queues shown with netstat on
the two ends.
- what system call is each of the 3 processes stuck in. Use truss on
solaris or strace on Linux.
that info gives us the basic knowledge to categorise the problems and
work out a fix. Many people seem to be assuming there is just one bug
that needs fixing. That is defiately _not_ the case. There are
numerous bugs that each give the symptoms of a freeze. The bugs are at
the TCP level, the syscall level, the application transport level (rsh
and ssh) and in rsync. rsync 2.4.3 is my best effort to address the
problems that are fixable within rsync, but without the above info I
don't have the basic knowledge to tell which part of the system the
bug is in. That means I have to guess - and guesswork leads to errors.
- Dave Dykstra