rdiff-backup-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [rdiff-backup-users] Re: [librsync-devel] librsync: ERROR: (rs_file_


From: Robert Weber
Subject: Re: [rdiff-backup-users] Re: [librsync-devel] librsync: ERROR: (rs_file_copy_cb) seek failed: Invalid argument
Date: Thu, 06 Nov 2003 15:39:50 -0700

It Failed:

(hostname)[3:22pm]:~ > sudo python-rdiff patch /mirror/adder/_/etc/hosts 
/tmp/hosts.delt /tmp/hosts.patched
librsync: ERROR: (rs_file_copy_cb) seek failed: Invalid argument
librsync: ERROR: (rs_job_complete) patch job failed: IO error
Traceback (most recent call last):
  File "./python-rdiff", line 68, in ?
    if __name__ == "__main__": Main()
  File "./python-rdiff", line 64, in Main
    write_patch(*file_args)
  File "./python-rdiff", line 42, in write_patch
    copy_and_close(patchfp, open(out_path, "wb"))
  File "./python-rdiff", line 21, in copy_and_close
    buf = infp.read(blocksize)
  File
"/usr/local/python/lib/python2.3/site-packages/rdiff_backup/librsync.py",
line 76, in read
    self._add_to_outbuf_once()
  File
"/usr/local/python/lib/python2.3/site-packages/rdiff_backup/librsync.py",
line 87, in _add_to_outbuf_once
    except _librsync.librsyncError, e: raise librsyncError(str(e))
rdiff_backup.librsync.librsyncError: librsync error 100 while in patch
cycle

But to be absolutely sure, I re-ran the rdiff, but on the original file in
on the client(rather than copying it to the server first) and lo and
behold:

(hostname)[3:24pm]:~ > sudo rdiff patch /mirror/adder/_/etc/hosts 
/tmp/hosts.delt.rdiff  /tmp/hosts.patched.rdiff
librsync: ERROR: (rs_file_copy_cb) seek failed: Invalid argument
librsync: ERROR: (rs_job_complete) patch job failed: IO error
librsync: ERROR: IO error

So it is still probably librsync.  Both your python-rdiff and rdiff produce
the same sig and delta files.  To make things worse, the hosts files are 
exactly the same!!!  The hosts file is not open or in use(checked with fuser).
With the same files I tried doing this on the solaris 9 server and it
failed with all three there.  I copied the files to a linux machine and it
did work.  I do have a few questions that this brings up.  

1) why does rdiff-backup try to diff-patch a file that is the the same on
the mirror as it is remotely
2) how should librsync behave when it patches a file that matches the
original?


--
2 3 5 7 B D 11 13 17 1D 1F 25 29 2B 2F 35 3B    Robert Weber
3D 43 47 49 4F 53 59 61 65 67 6B 6D 71 7F 83    UnixOps/ITS UCB
89 8B 95 97 9D A3 A7 AD B3 B5 BF C1 C5 C7 D3    Unversity of Colorado
DF E3 E5 E9 EF F1 FB ... still searching ...


--------

> --===============1573279067==
> Content-Type: multipart/signed; protocol="application/pgp-signature";
>       micalg="pgp-sha1"; boundary="=.Ap6Dzq2+vx:OMt"
> 
> --=.Ap6Dzq2+vx:OMt
> Content-Type: text/plain; charset=US-ASCII
> Content-Disposition: inline
> Content-Transfer-Encoding: 7bit
> 
> On Thu, 06 Nov 2003 10:35:09 -0700
> Robert Weber <address@hidden> wrote:
> > My librsync is loaded dynamically, but I did try rebuilding rdiff-backup
> > with the -D_LARGEFILE_SOURCE and the new librsync.   Still no luck.  This
> > error appears to affect the same files every time.  But as the mirror gets
> > further out of sync it snowballs.  For example, one of my mirrors has about
> > 25million files.  When I discovered the erorr about 140thousand were out of
> > date.  After rsync'ing the files now there are about 23Thousand out of
> > sync.  This also happens on small files under i386 (linux and freebsd
> > clients)(linux servers) so I wonder if something else is happening.  Here
> > is an exerpt of -v9 for one of the bad files(/etc/hosts on a solaris 2.8
> > box):
> 
> At first I thought it wasn't an rdiff-backup problem because there
> seemed to be a similar librsync problem.  You said that 'rdiff' worked,
> but I assumed that was because rdiff-backup handles more files, and only
> a small percentage of them show errors.
> 
> But if the errors show up regularly on some files, and rdiff handles
> those fine, then this explanation doesn't work.  I've just written a
> short script at:
> 
> http://rdiff-backup.stanford.edu/python-rdiff
> 
> which simulates rdiff but uses the same librsync interface that
> rdiff-backup uses.  Perhaps you could run this 'python-rdiff' on those
> files and tell me if it works?
> 
> The relevant test for rdiff-backup would be signature on the destination
> mirror file, delta on the source file, and then back to the destination
> for the patch.
> 
> 
> -- 
> Ben Escoto
> 
> --=.Ap6Dzq2+vx:OMt
> Content-Type: application/pgp-signature
> 
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.2.1 (GNU/Linux)
> 
> iD8DBQE/qsCP+owuOvknOnURAgF4AJ9OLM+U/zcsKmRea+fBBqZ1yI2zlwCcDMav
> hEPF/SX+eya/zMjBtYGkNgU=
> =/kSB
> -----END PGP SIGNATURE-----
> 
> --=.Ap6Dzq2+vx:OMt--
> 
> 
> 
> --===============1573279067==
> Content-Type: text/plain; charset="us-ascii"
> MIME-Version: 1.0
> Content-Transfer-Encoding: 7bit
> Content-Disposition: inline
> 
> _______________________________________________
> rdiff-backup-users mailing list at address@hidden
> http://mail.nongnu.org/mailman/listinfo/rdiff-backup-users
> Wiki URL: http://rdiff-backup.solutionsfirst.com.au/index.php/RdiffBackupWiki
> --===============1573279067==--
> 
> 

--------

----------
Status: by weberr Thu Nov  6 15:23:30 2003
----------





reply via email to

[Prev in Thread] Current Thread [Next in Thread]