[Bug 1529] New: 32bit rollover problem rsyncing files greater than 4GB in size

samba-bugs at samba.org samba-bugs at samba.org
Wed Jul 14 14:46:01 GMT 2004


https://bugzilla.samba.org/show_bug.cgi?id=1529

           Summary: 32bit rollover problem rsyncing files greater than 4GB
                    in size
           Product: rsync
           Version: 2.6.2
          Platform: x86
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P3
         Component: core
        AssignedTo: wayned at samba.org
        ReportedBy: eharris at puremagic.com
         QAContact: rsync-qa at samba.org


Tested and discovered between two machines with fairly recently updated debian
unstable running rsync 2.6.2-2.

I've been trying to rsync a large 7gig file across a slow network connection
during off-peak hours, and came across a nasty bug in rsync relating to
32-bit rollover of the file size.

I was restarting the rsync every night, and killing it every morning, and
expected to eventually get the whole file.  But much to my surprise, it
never did seem to get anywhere, though when it was restarted, it seemed to
be working fine.

Unless the started rsync is allowed to complete the data transfer of all
data past 4gig in a single run, rsync will never be able to complete this
transfer.

A verbose output of the start of a test rsync that makes the problem
apparent follows:

> rsync -avvvP --bwlimit=30 test2:bigtestfile ./
opening connection using ssh test2 rsync --server --sender -vvvlogDtpr
--bwlimit=30 --partial . "bigtestfile"
receiving file list ...
server_sender starting pid=22545
[sender] make_file(bigtestfile,*,2)
[sender] expand file_list to 131072 bytes, did move
recv_file_name(bigtestfile)
received 1 names
1 file to consider
recv_file_list done
get_local_name count=1 ./
recv_files(1) starting
generator starting pid=25013 count=1
delta transmission enabled
recv_generator(bigtestfile,0)
send_file_list done
send_files starting
generating and sending sums for 0
count=56894 rem=56488 blength=56888 s2length=4 flength=3236585472
Killed by signal 2.

The interesting thing is that the actual file size on both ends is
7531552768, but the size claimed by rsync is exactly 4gig less than that,
which is also the remainder of the size that fits in a 32bit unsigned int, which
 looks like a 32bit rollover or var size error.

I will happily provide any further information or try fixes.

-- 
Configure bugmail: https://bugzilla.samba.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug, or are watching the QA contact.


More information about the rsync mailing list