Problem syncing large dataset

Maarten Thibaut mthibaut at cisco.com
Fri Jun 5 02:14:25 GMT 2009


Hi Matt,

Sorry for my late reply. Here is the output of dbx on the process. I
cannot replicate this problem using non-optimized code. Only optimized
code seems to hit this problem. I will try using gcc instead of Sun
Studio CC and see if I can replicate this issue. The binary was compiled
with "cc -xarch=v9"

stopped in map_ptr (optimized) at line 188 in file "fileio.c"
  188                   rprintf(FERROR, "invalid len passed to map_ptr:
%ld\n",
(dbx) where
=>[1] map_ptr(map = ???, offset = ???, len = ???) (optimized), at
0x100069a54 (line ~188) in "fileio.c"
  [2] send_deflated_token(f = ???, token = ???, buf = ???, offset = ???,
nb = ???, toklen = ???) (optimized), at 0x100064584 (line ~353) in token.c"
  [3] matched(f = ???, s = ???, buf = ???, offset = ???, i = ???)
(optimized), at 0x10004c15c (line ~118) in "match.c"
  [4] hash_search(f = ???, s = ???, buf = ???, len = ???) (optimized),
at 0x10004cac4 (line ~270) in "match.c"
  [5] match_sums(f = ???, s = ???, buf = ???, len = ???) (optimized), at
0x10004d0ac (line ~370) in "match.c"
  [6] send_files(f_in = ???, f_out = ???) (optimized), at 0x100039224
(line ~337) in "sender.c"
  [7] start_client(argc = ???, argv = ???) (optimized), at 0x100049c8c
(line ~1027) in "main.c"
  [8] main(argc = ???, argv = ???) (optimized), at 0x10004ad90 (line
~1502) in "main.c"

cheers,
maarten

On 1/15/09 6:33 PM, Matt McCutchen wrote:
> On Thu, 2009-01-15 at 17:33 +0100, Maarten Thibaut wrote:
>   
>> When using rsync-3.0.2 through 3.0.5, I get this error on a large 
>> dataset syncing from machine-a to machine-b:
>>
>> $ /bin/rsync -aHSz /local/. machine-b:/local/.
>> invalid len passed to map_ptr: -1737287498
>> rsync error: error in file IO (code 11) at fileio.c(188) [sender=3.0.5]
>>     
>
> It looks like you have a large file that is overflowing a 32-bit length
> variable.  This would be considered a bug in rsync.  It would be a great
> help if you would run the sending rsync under gdb:
>
> gdb --args /bin/rsync -aHSz /local/. machine-b:/local/.
>
> put a breakpoint on the line that prints that error message
> (fileio.c:186 in rsync 3.0.5) and post the stack trace so we can see
> which code path is failing to prevent overflow.
>
>   

-------------- next part --------------
HTML attachment scrubbed and removed


More information about the rsync mailing list