duplicity-talk
[Top][All Lists]
Advanced

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

Re: [Duplicity-talk] Problems with "librsync error 103 while in patch cy


From: Echo Nolan
Subject: Re: [Duplicity-talk] Problems with "librsync error 103 while in patch cycle"
Date: Sun, 3 Nov 2013 11:02:59 -0800

Edgar et al,

Unfortunately, it looks like the initial full backup is corrupt. The restore reaches "Processed volume 13 of 75" before dying, and the initial backup is 25 volumes. I was able to get two important files out with --file-to-restore, I guess they didn't get created until after the first backup? Is there something else I can do to get a partial restore?


On Sun, Nov 3, 2013 at 3:30 AM, <address@hidden> wrote:
On 03.11.2013 07:08, Echo Nolan wrote:
> Hi All.
>
> I'm trying to restore a backup. Here's what happens with the version of duplicity shipping with Ubuntu 13.10 (0.6.21):
>
> address@hidden:~$ rm -r restore && duplicity file://enolan-desktop-backup restore/
> Local and Remote metadata are synchronized, no sync needed.
> Last full backup date: Sun Jan 15 08:05:07 2012
> GnuPG passphrase:
> python: ERROR: (rs_tube_catchup) reached end of file while copying literal data through buffers
> python: ERROR: (rs_job_complete) patch job failed: unexpected end of input
> Traceback (most recent call last):
>   File "/usr/bin/duplicity", line 1411, in <module>
>     with_tempdir(main)
>   File "/usr/bin/duplicity", line 1404, in with_tempdir
>     fn()
>   File "/usr/bin/duplicity", line 1338, in main
>     restore(col_stats)
>   File "/usr/bin/duplicity", line 632, in restore
>     restore_get_patched_rop_iter(col_stats)):
>   File "/usr/lib/python2.7/dist-packages/duplicity/patchdir.py", line 526, in Write_ROPaths
>     for ropath in rop_iter:
>   File "/usr/lib/python2.7/dist-packages/duplicity/patchdir.py", line 499, in integrate_patch_iters
>     final_ropath = patch_seq2ropath( normalize_ps( patch_seq ) )
>   File "/usr/lib/python2.7/dist-packages/duplicity/patchdir.py", line 479, in patch_seq2ropath
>     misc.copyfileobj( current_file, tempfp )
>   File "/usr/lib/python2.7/dist-packages/duplicity/misc.py", line 166, in copyfileobj
>     buf = infp.read(blocksize)
>   File "/usr/lib/python2.7/dist-packages/duplicity/librsync.py", line 80, in read
>     self._add_to_outbuf_once()
>   File "/usr/lib/python2.7/dist-packages/duplicity/librsync.py", line 94, in _add_to_outbuf_once
>     raise librsyncError(str(e))
> librsyncError: librsync error 103 while in patch cycle
>
> I googled, and found this ticket in Ubuntu's bugtracker: https://bugs.launchpad.net/duplicity/+bug/662442
>
> It seemed like the same problem, and oh look, someone has already committed a patch allowing me to continue restoring a backup containing broken files (https://code.launchpad.net/~mterry/duplicity/catch-seq-copy-error/+merge/186106 <https://code.launchpad.net/%7Emterry/duplicity/catch-seq-copy-error/+merge/186106>). So I grabbed duplicity from bzr (bzr branch lp:duplicity) and built it. Trying with that version gives a different error however:
>
> address@hidden:~/duplicity$ bin/duplicity file://../enolan-desktop-backup ../restore
> Import of duplicity.backends.dpbxbackend Failed: No module named dropbox
> Local and Remote metadata are synchronized, no sync needed.
> Last full backup date: Sun Jan 15 08:05:07 2012
> GnuPG passphrase:
> python: ERROR: (rs_tube_catchup) reached end of file while copying literal data through buffers
> python: ERROR: (rs_job_complete) patch job failed: unexpected end of input
> Traceback (most recent call last):
>   File "bin/duplicity", line 1466, in <module>
>     with_tempdir(main)
>   File "bin/duplicity", line 1459, in with_tempdir
>     fn()
>   File "bin/duplicity", line 1393, in main
>     restore(col_stats)
>   File "bin/duplicity", line 687, in restore
>     restore_get_patched_rop_iter(col_stats)):
>   File "/home/enolan/duplicity/duplicity/patchdir.py", line 535, in Write_ROPaths
>     for ropath in rop_iter:
>   File "/home/enolan/duplicity/duplicity/patchdir.py", line 507, in integrate_patch_iters
>     filename = patch_seq[-1].get_ropath().get_relative_path()
> AttributeError: 'NoneType' object has no attribute 'get_ropath'
>
> Can any of you help me out? This is my only copy of several important files..
>

Echo,

currently rsync errors or others restore errors break restoring. the usual workaround is, assuming you have a full/incr backup chain, to restore a time before the broken volumes.

1. try listing your backup chains and save the output.
2. then run your restore as before but with '-v9' maximum verbosity. check which volume breaks the restore. it should be mentioned right above the error stack. interpret it's time value in the file name.
3. now try restoring giving a time before the time value you retrieved in step 2.

Mike: you tackled this before. could you catch his error higher up? we probably need to log a warning that this file will not be restored too.


..ede/duply.net

_______________________________________________
Duplicity-talk mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/duplicity-talk


reply via email to

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