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: edgar . soldin
Subject: Re: [Duplicity-talk] Problems with "librsync error 103 while in patch cycle"
Date: Sun, 03 Nov 2013 12:30:31 +0100
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.1.0

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



reply via email to

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