openssh 3.1 and rsync dont work

Dave Dykstra dwd at bell-labs.com
Thu May 9 07:38:02 EST 2002


I want to fix this in rsync too.  I developed what I think is a good fix
and now I'm trying to reproduce the problem so I can test whether or not
the fix worked.  The trouble is, I can't reproduce it with "-e ssh" even
though I'm sure I'm running openssh 3.1p1 on solaris where it's running the
ssh-rand-helper.  truss doesn't show rsync setting SIGCHLD to SIG_IGN.  I
found that there is one place in the rsync 2.5.5 code that sets SIGCHLD to
SIG_IGN, but it appears to only be in rsync --daemon mode, and it wouldn't
call ssh from there.

What version of rsync did you have the problem in, and what was the command
line you used?

- Dave Dykstra

On Tue, May 07, 2002 at 10:30:44AM +0200, Mark Pitt wrote:
> 
> Maybe this is a ssh problem - but are you aware of the general issue ?
> 
> http://bugzilla.mindrot.org/show_bug.cgi?id=182
> 
>            Summary: ssh should still force SIGCHLD to be SIG_DFL when
>                     calling ssh-rand-helper
>            Product: Portable OpenSSH
>            Version: 3.1p1
>           Platform: ix86
>         OS/Version: All
>             Status: NEW
>           Severity: normal
>           Priority: P3
>          Component: ssh
>         AssignedTo: openssh-unix-dev at mindrot.org
> 
> 
> Programs that set a SIGCHLD handler before calling ssh wreak havoc on the
> waitpid() calls within entropy.c and ssh-rand-helper. Entropy.c should set
> the
> SIGCHLD handler to SIG_DFL before calling ssh-rand-helper to avoid SIGCHLD
> conflicts.
> 
> This was noticed when our ssh version was upgraded to 3.1.  Our local rsync
> processes were failing with the following output from SSH:
> 
> Couldn't wait for child 'ls -alni /usr/adm' completion: No child processes
> Couldn't wait for child 'ls -alni /usr/mail' completion: No child processes
> Couldn't wait for child 'netstat -an' completion: No child processes
> Couldn't wait for child 'netstat -in' completion: No child processes
> Couldn't wait for child 'netstat -rn' completion: No child processes
> Couldn't wait for child 'netstat -ia' completion: No child processes
> Couldn't wait for child 'netstat -s' completion: No child processes
> Couldn't wait for child 'netstat -is' completion: No child processes
> Couldn't wait for child 'arp -a -n' completion: No child processes
> Couldn't wait for child 'ifconfig -a' completion: No child processes
> Couldn't wait for child 'ps -al' completion: No child processes
> Couldn't wait for child 'ps -efl' completion: No child processes
> Couldn't wait for child 'last' completion: No child processes
> Couldn't wait for child 'sar -d' completion: No child processes
> Couldn't wait for child 'uptime' completion: No child processes
> Couldn't wait for child 'ipcs -a' completion: No child processes
> Not enough entropy in RNG
> ssh-rand-helper child produced insufficient data
> unexpected EOF in read_timeout
> 
> It was discovered that rsync had set SIGCHLD to SIG_IGN prior to calling
> ssh.
> Setting SIGCHLD to SIG_DFL prior to forking ssh-rand-helper (seed_rng() in
> entropy.c) solved this problem.
> 
> 
> 
> ------- You are receiving this mail because: -------
> You are the assignee for the bug, or are watching the assignee.
> _______________________________________________
> openssh-unix-dev at mindrot.org mailing list
> http://www.mindrot.org/mailman/listinfo/openssh-unix-dev
> [prev in list] [next in list] [prev in thread] [next in thread]
> 
> Mark Pitt
> SP Administrator
> IBM, Campus Winterthur
> 058-333-1542
> 
> 
> 
> -- 
> To unsubscribe or change options: http://lists.samba.org/mailman/listinfo/rsync
> Before posting, read: http://www.tuxedo.org/~esr/faqs/smart-questions.html




More information about the rsync mailing list