Bug 443916

Summary: rsync timeout while trying to receive a big file
Product: Red Hat Enterprise Linux 4 Reporter: Qian Cai <qcai>
Component: rsyncAssignee: Simo Sorce <ssorce>
Status: CLOSED DUPLICATE QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: 4.6   
Target Milestone: rc   
Target Release: ---   
Hardware: s390x   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-09-02 10:13:29 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 456275    
Attachments:
Description Flags
strace of failed attempt to receive a 2M file
none
strace of successful attempt to receive a 1M file none

Description Qian Cai 2008-04-24 04:51:59 UTC
Description of problem:
On both s390 and s390x, rsync can hung while trying to receive a big file (2M
bytes). However, it works fine if the file size is a little bit smaller (1M).

[root@z206 ~]# rsync -vrltS -z rsync://z207.z900.redhat.com/lands ./
receiving file list ... done
./

From strace I could see it got timeout here,

lstat64("big", 0x7fffb6a0)              = -1 ENOENT (No such file or directory)
select(4, NULL, [3], NULL, {60, 0})     = 1 (out [3], left {60, 0})
write(3, "\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\377", 24) = 24
select(5, [4], [], NULL, {60, 0})       = 0 (Timeout)
select(5, [4], [], NULL, {60, 0})       = 0 (Timeout)
select(5, [4], [], NULL, {60, 0})       = 0 (Timeout)
select(5, [4], [], NULL, {60, 0})       = 0 (Timeout)

Version-Release number of selected component (if applicable):
RHEL4U6
rsync-2.6.3-1

How reproducible:
Very often.

Steps to Reproduce:
1. configure rsync server (For example, z207.z900.redhat.com), /etc/rsyncd,

  [lands]
      comment = LandS rsync Server
      path = /var/www/html/lands_rsync
      read only = yes
      list = yes
      uid = nobody
      gid = nobody

mkdir /var/www/html/lands_rsync
cd /var/www/html/lands_rsync

# Generate a file 2M in size.
dd if=/dev/zero of=big bs=1M count=2

chown -R nobody:nobody /var/www/html/lands_rsync
/sbin/chkconfig rsync on

2. run the following command in a s390(x) client,
rsync -vrltS -z rsync://z207.z900.redhat.com/lands ./

Comment 1 Qian Cai 2008-04-24 04:51:59 UTC
Created attachment 303575 [details]
strace of failed attempt to receive a 2M file

Comment 2 Qian Cai 2008-04-24 04:52:47 UTC
Created attachment 303576 [details]
strace of successful attempt to receive a 1M file

Comment 3 Qian Cai 2008-09-02 10:13:29 UTC

*** This bug has been marked as a duplicate of bug 456275 ***