fails to run after interrupted second backup
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
rdiff-backup (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Binary package hint: rdiff-backup
Running version 1.1.5 (edgy). I sucessfully completed an initial backup to a remote server via SSH. Later, I started another (incremental) backup to the same destination. This was interrupted (probably due to a network problem). Any subsequent attempts to perform a backup to this destination result in the following stacktrace, which occurs soon after starting the command (maybe 15 seconds or so):
Executing ssh -C backupserver rdiff-backup --server
Unable to import module posix1e from pylibacl package.
ACLs not supported on filesystem at /
-------
Detected abilities for source (read only) file system:
Access control lists Off
Extended attributes On
Case sensitivity On
Mac OS X style resource forks Off
Mac OS X Finder information Off
-------
ACLs not supported by filesystem at rdiff_backups/
-------
Detected abilities for destination (read/write) file system:
Ownership changing Off
Hard linking On
fsync() directories On
Directory inc permissions On
High-bit permissions On
Extended filenames On
Access control lists Off
Extended attributes On
Case sensitivity On
Mac OS X style resource forks Off
Mac OS X Finder information Off
-------
Exception '' raised of class 'exceptions.
File "/usr/lib/
try: Main(arglist)
File "/usr/lib/
take_
File "/usr/lib/
elif action == "backup": Backup(rps[0], rps[1])
File "/usr/lib/
backup_
File "/usr/lib/
checkdest_
File "/usr/lib/
need_check = checkdest_
File "/usr/lib/
if not force: curmir_
File "/usr/lib/
return apply(self.
File "/usr/lib/
for arg in args: self._put(arg, req_num)
File "/usr/lib/
else: self._putobj(obj, req_num)
File "/usr/lib/
self.
File "pickle.py", line 1386, in dumps
Pickler(file, protocol, bin).dump(obj)
File "pickle.py", line 231, in dump
self.save(obj)
File "pickle.py", line 293, in save
f(self, obj) # Call unbound method with explicit self
File "pickle.py", line 614, in save_list
self.
File "pickle.py", line 647, in _batch_appends
save(x)
File "pickle.py", line 293, in save
f(self, obj) # Call unbound method with explicit self
File "pickle.py", line 737, in save_inst
stuff = getstate()
File "/usr/lib/
assert self.conn is Globals.
Traceback (most recent call last):
File "/usr/bin/
rdiff_
File "/usr/lib/
try: Main(arglist)
File "/usr/lib/
take_
File "/usr/lib/
elif action == "backup": Backup(rps[0], rps[1])
File "/usr/lib/
backup_
File "/usr/lib/
checkdest_
File "/usr/lib/
need_check = checkdest_
File "/usr/lib/
if not force: curmir_
File "/usr/lib/
return apply(self.
File "/usr/lib/
for arg in args: self._put(arg, req_num)
File "/usr/lib/
else: self._putobj(obj, req_num)
File "/usr/lib/
self.
File "/usr/lib/
Pickler(file, protocol, bin).dump(obj)
File "/usr/lib/
self.save(obj)
File "/usr/lib/
f(self, obj) # Call unbound method with explicit self
File "/usr/lib/
self.
File "/usr/lib/
save(x)
File "/usr/lib/
f(self, obj) # Call unbound method with explicit self
File "/usr/lib/
stuff = getstate()
File "/usr/lib/
assert self.conn is Globals.
AssertionError
Fatal Error: Lost connection to the remote system
-------
If I change the target directory to something different, then it works again, beginning to backup everything from the beginning. It seems that rdiff-backup should be a bit more robust against connection failures, so as to allow a user to resume where the backup was interrupted from.
This bug was fixed upstream in CVS on July 8, 2007. It will be fixed in rdiff-backup 1.1.12 and subsequent releases. The use of the --force option is a workaround for this problem.