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