Menu

#2 ERROR: (rs_file_copy_cb) seek failed

closed-fixed
5
2004-10-18
2003-08-13
No

4 of 8 'make check' tests fail on solaris (2.6 or 8),
always with
more-or-less the following complaint:

mutate.test: .librsync: ERROR: (rs_file_copy_cb) seek
failed: Invalid argument
librsync: ERROR: (rs_job_complete) patch job failed: IO
error
librsync: ERROR: IO error
mutate.test: returned 100: ../rdiff patch
/d/ark-builds/librsync--0.9.6/sparc-solaris8/testsuite/mutate.tmp/old
/d/ark-builds/librsync--0.9.6/sparc-solaris8/testsuite/mutate.tmp/delta
/d/ark-builds/librsync--0.9.6/sparc-solaris8/testsuite/mutate.tmp/out
FAIL: mutate.test

Feel free to shout back for more info, or whatever.
Building for two RH Linux platforms in an identical way
worked fine. Keep up the good work,

Will

Discussion

  • Donovan Baarda

    Donovan Baarda - 2003-08-14
    • assigned_to: nobody --> abo
     
  • Donovan Baarda

    Donovan Baarda - 2003-08-14

    Logged In: YES
    user_id=10273

    I suspect this is related to large file support. If your
    system is detected as supporting it, fseek gets #defined to
    fseeko.

    There are various checks done by configure for large file
    support. I think your system is passing some, but not
    others, resulting in fseeko being used with an incorrect
    parameter type.

    Can you give me the output of your configure run, and/or the
    resulting config.h?

     
  • Will Partain

    Will Partain - 2003-08-14

    requested info (2 files in a tarball)

     
  • Will Partain

    Will Partain - 2003-08-14

    Logged In: YES
    user_id=10007

    Requested info in the attached tar file. Thanks.

     
  • Will Partain

    Will Partain - 2003-08-14

    Logged In: YES
    user_id=10007

    I can further confirm that if configured with
    --disable-largefile, it passes its checks on solaris8, no
    problem.

     
  • Donovan Baarda

    Donovan Baarda - 2003-08-21

    Logged In: YES
    user_id=10273

    I had a look at your config.h and config output and I'm
    stumped. could you also send me your librsync-config.h.

    If you can, it would be good if you could give me the trace
    output you get when you get a failed "rdiff -v delta"
    operation. You will need to recompile rdiff after doing
    "configure --enable-trace". I suspect any "rdiff delta"
    operation will fail, but if not you migh need to fiddle with
    testsuite/mutate.test to get it to use the -v option.

     
  • Donovan Baarda

    Donovan Baarda - 2003-08-21

    Logged In: YES
    user_id=10273

    Whups... I meant "rdiff -v patch" not "rdiff -v delta"...

     
  • Will Partain

    Will Partain - 2003-08-23

    Logged In: YES
    user_id=10007

    Hi, thanks; I'm attaching another log file (gzipped) which
    shows a
    full configure... all the way to a tracing/failing rdiff.
    At the end, are
    cats of the two config.h files.

    I've left in the compiling bits that including warning, one
    about largefile
    support -- you might want to double-check those. Regards,

    Will

     
  • Donovan Baarda

    Donovan Baarda - 2003-08-28

    Logged In: YES
    user_id=10273

    This bug is probably the same as the following problem
    detected by the debian build system on HP PA-RISC platform;

    http://buildd.debian.org/fetch.php?&pkg=librsync&ver=0.9.6-2&arch=hppa&stamp=1061941992&file=log&as=raw

    It looks like the offset for the seek is corrupted at the
    rs_file_copy_cb. In this case the seek was within the file,
    but the read was going beyond the end of the file.

    in case this report disapears, here is the important bits;

    [...]
    mutate.test: .lt-rdiff: ERROR: (rs_file_copy_cb) unexpected
    eof on fd3
    lt-rdiff: ERROR: (rs_job_complete) patch job failed:
    unexpected end of input
    lt-rdiff: ERROR: unexpected end of input
    mutate.test: returned 103: ../rdiff patch
    /build/buildd/librsync-0.9.6/testsuite/mutate.tmp/old
    /build/buildd/librsync-0.9.6/testsuite/mutate.tmp/delta
    /build/buildd/librsync-0.9.6/testsuite/mutate.tmp/out
    FAIL: mutate.test
    sources.test: lt-rdiff: ERROR: (rs_file_copy_cb) unexpected
    eof on fd3
    lt-rdiff: ERROR: (rs_job_complete) patch job failed:
    unexpected end of input
    lt-rdiff: ERROR: unexpected end of input
    [...]
    triple.test: lt-rdiff: ERROR: (rs_file_copy_cb) unexpected
    eof on fd3
    lt-rdiff: ERROR: (rs_job_complete) patch job failed:
    unexpected end of input
    lt-rdiff: ERROR: unexpected end of input
    triple.test: returned 103: ../rdiff -I4096 -O4096 patch
    /build/buildd/librsync-0.9.6/testsuite/triple.input/copying.in
    /build/buildd/librsync-0.9.6/testsuite/triple.tmp/delta
    /build/buildd/librsync-0.9.6/testsuite/triple.tmp/new
    FAIL: triple.test
    changes.test: lt-rdiff: ERROR: (rs_file_copy_cb) unexpected
    eof on fd3
    lt-rdiff: ERROR: (rs_job_complete) patch job failed:
    unexpected end of input
    lt-rdiff: ERROR: unexpected end of input
    changes.test: returned 103: ../rdiff -I4096 -O4096 patch
    /build/buildd/librsync-0.9.6/testsuite/changes.input/01.in
    /build/buildd/librsync-0.9.6/testsuite/changes.tmp/delta
    /build/buildd/librsync-0.9.6/testsuite/changes.tmp/new
    FAIL: changes.test
    ===================
    4 of 8 tests failed
    ===================

    The configure shows;

    [...]
    checking for size_t... yes
    checking for off_t... yes
    checking for special C compiler options needed for large
    files... no
    checking for _FILE_OFFSET_BITS value needed for large
    files... 64
    checking for _LARGE_FILES value needed for large files... no
    [...]
    checking for _LARGEFILE_SOURCE value needed for large
    files... no
    checking for fseeko... yes
    [...]

     
  • Donovan Baarda

    Donovan Baarda - 2003-08-28

    Logged In: YES
    user_id=10273

    I think I know what is happening. I found a thread
    discussing exactly this at;

    http://www.mail-archive.com/autoconf@gnu.org/msg09225.html

    So it seems large file support in autoconf/gcc is not quite
    right yet. I'm not sure what the best solution is yet, but
    it seems that people should disable large file support for now.

     
  • Donovan Baarda

    Donovan Baarda - 2003-08-28
    • summary: 0.9.6 make check fails on solaris-{2.6,8} --> 0.9.6 make check fails on solaris-{2.6,8} and HP PA-RISC
    • labels: 506018 --> Implementation
     
  • Donovan Baarda

    Donovan Baarda - 2003-08-28

    Logged In: YES
    user_id=10273

    This bug affects all platforms, just in slightly different
    ways. On i386 it only shows up when manipulating large
    files, but on HP and Solaris it affects files of any size.
    It is due to autoconf/glibc large file issues. A workaround
    that should work is;

    ./configure "CFLAGS=-D_LARGEFILE_SOURCE"

    This should force fseeko declaration in glibc, hence
    avoiding the callframe mismatch that corrupts the seek offset.

    I'm not sure what the best long-term solution is. I suspect
    autoconf and/or glibc will sort this out so that
    AC_SYS_LARGEFILE and/or AC_FUNC_FSEEKO will handle this
    correctly. In the mean time we could put some workaround in
    configure.ac.

    Any suggestions are welcome....

     
  • Donovan Baarda

    Donovan Baarda - 2003-11-05
    • summary: 0.9.6 make check fails on solaris-{2.6,8} and HP PA-RISC --> ERROR: (rs_file_copy_cb) seek failed
     
  • Donovan Baarda

    Donovan Baarda - 2003-12-16
    • summary: ERROR: (rs_file_copy_cb) seek failed
      --> ERROR: (rs_file_copy_cb) seek failed
     
  • Donovan Baarda

    Donovan Baarda - 2003-12-16

    Logged In: YES
    user_id=10273

    It is highly likely that bug 855477 "buf.c incorrect header
    order" was the real reason for this bug.

    That bug has been fixed in CVS. Can people test and report?

     
  • Nobody/Anonymous

    Logged In: NO

    I keep getting "end of file from server" errors from
    Sourceforce's CVS server, so I can't do a CVS checkout, but
    I made the bug 855477 change manually, and that indeed fixes
    the problem, at least for me (on a Solaris 8 box).

    -Barry K. Nathan <barryn@pobox.com>

     
  • Donovan Baarda

    Donovan Baarda - 2004-03-09
    • status: open --> open-fixed
     
  • Donovan Baarda

    Donovan Baarda - 2004-03-09

    Logged In: YES
    user_id=10273

    This bug has been fixed in the developer's CVS. There may be
    some delay before the fix appears in anonymous CVS.

    The fix will be included in the next release of librsync after
    0.9.6. This bug will be closed when the fix is included in a release.

     
  • Donovan Baarda

    Donovan Baarda - 2004-10-18

    Logged In: YES
    user_id=10273

    The bug fix in CVS has been included in release 0.9.7. This bug
    is now closed.

     
  • Donovan Baarda

    Donovan Baarda - 2004-10-18
    • status: open-fixed --> closed-fixed
     

Log in to post a comment.