Fixed
Created: Dec 3, 2014
Updated: Dec 3, 2018
Resolved Date: Dec 24, 2014
Previous ID: LIN4-32057
Found In Version: 6.0
Fix Version: 6.0.0.15
Severity: Standard
Applicable for: Wind River Linux 6
Component/s: Userspace
If we change system time backwards, rsync daemon may hung. The defect have been fixed in rsync 3.1.0. The change log is 'Fix an issue in the msleep() function if time jumps backwards' on http://ubuntuhandbook.org/index.php/2013/09/rsync-3-1-0-released-with-new-options-and-improvements/
1. create and build a project:/home/james/WindRiver-4.3/wrlinux-4/wrlinux/../ldat/configure --enable-board=common_pc_64 --enable-kernel=standard --enable-rootfs=glibc_std --with-product-dir=/home/james/WindRiver-4.3/wrlinux-4/wrlinux
2. configure and startup rsync service
copy attached 'rsyncd.conf' to /etc
echo '"root:123456" > /etc/backserver.pas
chmod 600 /etc/backserver.pas
change 'disable = yes' to 'disable = no' in '/etc/xinetd.d/rsync'
/etc/init.d/xinetd restart
echo "123456" > /root/my.secrets
chmod 600 /root/my.secrets
mkdir /root/a
mkdir /root/b
dd if=/dev/zero of=/root/b/1 bs=1M count=1
dd if=/dev/zero of=/root/b/2 bs=1M count=1
dd if=/dev/zero of=/root/b/3 bs=1M count=1
dd if=/dev/zero of=/root/b/4 bs=1M count=1
dd if=/dev/zero of=/root/b/5 bs=1M count=1
3. start testcase
./change-time-loop.sh > /dev/null &
./rsync-loop.sh
4. after while there will print error info as below, and we can see that rsync deamon hung by 'ps'
rsync error: error starting client-server protocol (code 5) at main.c(1383) [sender=2.6.9]
@ERROR: max connections (4) reached -- try again later