Thanks your reply, after test again, both Fixes bug 9789 and rsync 3.1.0 doesn't resolve this bug.
when the test script was called as background, I still saw rsync hanged since tdiff variable is used.
could you please try it again? while [ 1 ] do date -s "2012-10-30 06:28:04" date -s "2014-11-04 17:13:04" done On 11/19/2014 10:10 PM, [email protected] wrote:
Hi, it seems that one already has been fixed in 3.1.0, see https://bugzilla.samba.org/show_bug.cgi?id=9789 and https://git.samba.org/?p=rsync.git;a=commit;h=2dc2070992c00ea6625031813f2b6c886ddc3ade you are still using 2.6.9 ? that`s rather old (~ 8yrs?) and may have bugs and security issues already being fixed. regards rolandList: rsync Subject: Bug-report:rsync may hung if time jumps backwards From: yhu2 <yadi.hu () windriver ! com> Date: 2014-11-17 6:44:25 Message-ID: 54699949.1020503 () windriver ! com [Download message RAW] Hello eveyone! According to below reproduce steps,you could observe a rsync hang: 1:configure and startup rsync service and 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 2: start testcase ./change-time-loop.sh > /dev/null & ./rsync-loop.sh After applying this patch ,this issue went away. --- rsync-2.6.9/BUILD/rsync-2.6.9/util.c 2014-11-11 13:02:11.495609639 +0800 +++ rsync-2.6.9/BUILD/rsync-2.6.9/util.c 2014-11-11 13:01:37.606569696 +0800 @@ -1174,8 +1174,11 @@ * Always returns TRUE. (In the future it might return FALSE if * interrupted.) **/ + int msleep(int t) { + +#if 0 int tdiff = 0; struct timeval tval, t1, t2; @@ -1192,7 +1195,8 @@ tdiff = (t2.tv_sec - t1.tv_sec)*1000 + (t2.tv_usec - t1.tv_usec)/1000; } - +#endif + usleep(t*1000); return True; } Is it a correct fix? any comments would be appreciated!!! ["change-time-loop.sh" (application/x-sh)] #!/bin/bash while [ 1 ] do date -s "2012-10-30 06:28:04" #sleep 3 date -s "2014-11-04 17:13:04" #sleep 3 done ["rsync-loop.sh" (application/x-sh)] #!/bin/bash while [ 1 ] do rsync -avz --password-file=/root/my.secrets /root/b [email protected]::logs rm /root/a/* -rf done -- Please use reply-all for most replies to avoid omitting the mailing list. To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html
-- Please use reply-all for most replies to avoid omitting the mailing list. To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html
