SearchFAQMemberlist Log in
Reply to topic Page 1 of 1
rdiff-backup restore crash
Author Message
Post rdiff-backup restore crash 
Hello,

I get the following crash from rdiff-backup when trying to restore
certain directories. For some directories it works fine. Here is an
example:

$ rdiff-backup -r now backup < at > topanga::/backup/backup/bender/home/kcd/tmp tmp-new

Traceback (most recent call last):
File "/usr/bin/rdiff-backup", line 23, in ?
rdiff_backup.Main.Main(sys.argv[1:])
File "/usr/lib/python2.3/site-packages/rdiff_backup/Main.py", line 250, in Main
take_action(rps)
File "/usr/lib/python2.3/site-packages/rdiff_backup/Main.py", line 224, in take_action
elif action == "restore-as-of": RestoreAsOf(rps[0], rps[1])
File "/usr/lib/python2.3/site-packages/rdiff_backup/Main.py", line 395, in RestoreAsOf
restore_common(rpin, target, time)
File "/usr/lib/python2.3/site-packages/rdiff_backup/Main.py", line 407, in restore_common
restore.Restore(mirror, inc_rpath, target, time)
File "/usr/lib/python2.3/site-packages/rdiff_backup/restore.py", line 50, in Restore
TargetS.patch(target, diff_iter)
File "/usr/lib/python2.3/site-packages/rdiff_backup/restore.py", line 270, in patch
ITR(diff.index, diff)
File "/usr/lib/python2.3/site-packages/rdiff_backup/rorpiter.py", line 279, in __call__
last_branch.fast_process(*args)
File "/usr/lib/python2.3/site-packages/rdiff_backup/restore.py", line 586, in fast_process
self.patch_to_temp(rp, diff_rorp, tf)
File "/usr/lib/python2.3/site-packages/rdiff_backup/restore.py", line 594, in patch_to_temp
rpath.copy(diff_rorp, new)
File "/usr/lib/python2.3/site-packages/rdiff_backup/rpath.py", line 96, in copy
if rpin.isreg(): copy_reg_file(rpin, rpout, compress)
File "/usr/lib/python2.3/site-packages/rdiff_backup/rpath.py", line 118, in copy_reg_file
rpout.write_from_fileobj(rpin.open("rb"), compress = compress)
File "/usr/lib/python2.3/site-packages/rdiff_backup/rpath.py", line 823, in write_from_fileobj
copyfileobj(fp, outfp)
File "/usr/lib/python2.3/site-packages/rdiff_backup/rpath.py", line 58, in copyfileobj
inbuf = inputfp.read(blocksize)
File "/usr/lib/python2.3/site-packages/rdiff_backup/rpath.py", line 948, in read
def read(self, length = -1): return self.file.read(length)
File "/usr/lib/python2.3/site-packages/rdiff_backup/iterfile.py", line 117, in read
if not self.addtobuffer(): break
File "/usr/lib/python2.3/site-packages/rdiff_backup/iterfile.py", line 132, in addtobuffer
type, data = self.iwf._get()
File "/usr/lib/python2.3/site-packages/rdiff_backup/iterfile.py", line 401, in _get
if not self.buf: self.buf += self.file.read()
File "/usr/lib/python2.3/site-packages/rdiff_backup/connection.py", line 508, in read
return self.connection.VirtualFile.readfromid(self.id, length)
File "/usr/lib/python2.3/site-packages/rdiff_backup/connection.py", line 440, in __call__
return apply(self.connection.reval, (self.name,) + args)
File "/usr/lib/python2.3/site-packages/rdiff_backup/connection.py", line 362, in reval
if isinstance(result, Exception): raise result
AssertionError: (('home', 'kcd', '.transgaming'), ('home', 'kcd', '.transgaming', 'c_drive', 'windows', 'system32', 'stdole32.tlb'))
Traceback (most recent call last):
File "/usr/bin/rdiff-backup", line 23, in ?
rdiff_backup.Main.Main(sys.argv[1:])
File "/usr/lib/python2.3/site-packages/rdiff_backup/Main.py", line 250, in Main
take_action(rps)
File "/usr/lib/python2.3/site-packages/rdiff_backup/Main.py", line 220, in take_action
connection.PipeConnection(sys.stdin, sys.stdout).Server()
File "/usr/lib/python2.3/site-packages/rdiff_backup/connection.py", line 347, in Server
self.get_response(-1)
File "/usr/lib/python2.3/site-packages/rdiff_backup/connection.py", line 309, in get_response
try: req_num, object = self._get()
File "/usr/lib/python2.3/site-packages/rdiff_backup/connection.py", line 225, in _get
raise ConnectionReadError("Truncated header string (problem "
rdiff_backup.connection.ConnectionReadError: Truncated header string (problem probably originated remotely)




What does this error mean? rdiff-backup has been working fine between
both computers just fine. Both have rdiff-backup 0.12.6 and python
2.3.3. Also, on an unrelated note, the .transgaming directory in my
backup folder does not have any increments. Just one current mirror. Is
that because it has not changed at all since the original backup? and is
it correct to use the "-r now" option to restore from the current
mirror, and then "-r 3D" etc.. to restore from previous increments?

Thanks,
Kareem

Post rdiff-backup restore crash 
As an update, I just ran the rdiff-backup restore on the local computer,
so there is no network involved and I get the following error:

$ rdiff-backup -r now /backup/backup/bender/home/kcd/.transgaming .transgaming-new/

Traceback (most recent call last):
File "/usr/bin/rdiff-backup", line 23, in ?
rdiff_backup.Main.Main(sys.argv[1:])
File "/usr/lib/python2.3/site-packages/rdiff_backup/Main.py", line 250, in Main
take_action(rps)
File "/usr/lib/python2.3/site-packages/rdiff_backup/Main.py", line 224, in take_action
elif action == "restore-as-of": RestoreAsOf(rps[0], rps[1])
File "/usr/lib/python2.3/site-packages/rdiff_backup/Main.py", line 395, in RestoreAsOf
restore_common(rpin, target, time)
File "/usr/lib/python2.3/site-packages/rdiff_backup/Main.py", line 407, in restore_common
restore.Restore(mirror, inc_rpath, target, time)
File "/usr/lib/python2.3/site-packages/rdiff_backup/restore.py", line 50, in Restore
TargetS.patch(target, diff_iter)
File "/usr/lib/python2.3/site-packages/rdiff_backup/restore.py", line 268, in patch
for diff in rorpiter.FillInIter(diff_iter, target):
File "/usr/lib/python2.3/site-packages/rdiff_backup/rorpiter.py", line 181, in FillInIter
for rp in rpiter:
File "/usr/lib/python2.3/site-packages/rdiff_backup/restore.py", line 236, in get_diffs_from_collated
yield cls.get_diff(mir_rorp, target_rorp)
File "/usr/lib/python2.3/site-packages/rdiff_backup/restore.py", line 245, in get_diff
mir_rorp.setfile(cls.rf_cache.get_fp(expanded_index))
File "/usr/lib/python2.3/site-packages/rdiff_backup/restore.py", line 324, in get_fp
rf = self.get_rf(index)
File "/usr/lib/python2.3/site-packages/rdiff_backup/restore.py", line 309, in get_rf
if not self.add_rfs(index): return None
File "/usr/lib/python2.3/site-packages/rdiff_backup/restore.py", line 343, in add_rfs
if Globals.process_uid != 0: self.perm_changer(temp_rf.mirror_rp)
File "/usr/lib/python2.3/site-packages/rdiff_backup/restore.py", line 659, in __call__
assert index > old_index, (index, old_index)
AssertionError: (('home', 'kcd', '.transgaming'), ('home', 'kcd', '.transgaming', 'c_drive', 'windows', 'system32', 'stdole32.tlb'))


Also, in my original email the command that I pasted was from when I ran
rdiff-backup on my tmp directory but the error I pasted was from when I
ran rdiff-backup on my .transgaming directory, so thats just a typo in my e-mail.

Thanks,
Kareem

Post rdiff-backup restore crash 
I just tested version 0.12.7 and the bug appears to be gone. I apologize
for the bug report. It is just that I was hesitant to upgrade since I
have several machines all running on 0.12.6 and did not want different
versions of rdiff-backup running around. I will upgrade them all now though.

Thanks,
Kareem

Display posts from previous:
Reply to topic Page 1 of 1
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
  


Magic SEO URL for phpBB