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

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

[rdiff-backup-users] KeyError exception


From: Austin Clements
Subject: [rdiff-backup-users] KeyError exception
Date: Thu, 6 Sep 2007 18:51:59 -0400
User-agent: Mutt/1.5.13 (2006-08-11)

I recently changed my configuration for rdiff-backup 1.1.14 and have
started getting the following KeyError exception during the backup
process (the verbosity level 5 log can be found at the end).

Sending back exception ('etc',) of type exceptions.KeyError: 
  File "/var/lib/python-support/python2.4/rdiff_backup/connection.py",
  line 334, in answer_request
    result = apply(eval(request.function_string), argument_list)
  File "/var/lib/python-support/python2.4/rdiff_backup/backup.py",
  line 229, in patch_and_increment
    ITR(diff.index, diff)
  File "/var/lib/python-support/python2.4/rdiff_backup/rorpiter.py",
  line 280, in __call__
    if last_branch.can_fast_process(*args):
  File "/var/lib/python-support/python2.4/rdiff_backup/backup.py",
  line 506, in can_fast_process
    mirror_rorp = self.CCPP.get_mirror_rorp(index)
  File "/var/lib/python-support/python2.4/rdiff_backup/backup.py",
  line 457, in get_mirror_rorp
    except KeyError: return self.get_parent_rorps(index)[1]
  File "/var/lib/python-support/python2.4/rdiff_backup/backup.py",
  line 439, in get_parent_rorps
    raise KeyError(index)

The only pattern I've been able to discern is that this seems to be
related to using an rdiff-backup server for both the source and
destination arguments.  The exact command that resulted in the above
exception was:

  rdiff-backup \
    --terminal-verbosity 5 \
    --print-statistics \
    --exclude /home/amthrax/n --exclude /home/amthrax/video \
    --exclude /home/amthrax/sandbox/www/homeweaver/site \
    --exclude '**/Cache' --exclude '**/cache' --exclude '**/.thumbnails' \
    --exclude '**/Trash' \
    --exclude '**.iso' \
    --include /boot \
    --include /etc \
    --include /home \
    --include /var/spool \
    --include /var/mail \
    --exclude / \
    address@hidden::/ \
    address@hidden::/media/backup/backups/drake/2007-06-01

If I change address@hidden::/ to just / and run this as root, then the
backup succeeds.

The destination directory given above already contained backups, so I
also tried starting a fresh backup to see if it was a problem with
incrementals.  This resulted in the same exception, though it happened
much later in the process and for a different path.  Thus, this is
definitely influenced by the data on the destination side and happens
for both a full backup and an incremental backup.

It isn't a problem with the ssh to localhost, as originally I was
using a remote schema that special cased localhost to use sudo to
start an rdiff-backup server instead of ssh.

Any help is greatly appreciated.



Here's the full log that leads up the above exception (luckily it
happens early in the process!):

Using rdiff-backup version 1.1.14
Executing ssh -C address@hidden rdiff-backup --server
address@hidden's password:
Executing ssh -C address@hidden rdiff-backup --server
Unable to import module xattr.
Extended attributes not supported on filesystem at /
Unable to import module posix1e from pylibacl package.
ACLs not supported on filesystem at /
escape_dos_devices not required by filesystem at /
-----------------------------------------------------------------
Detected abilities for source (read only) file system:
  Access control lists                         Off
  Extended attributes                          Off
  Case sensitivity                             On
  Escape DOS devices                           Off
  Mac OS X style resource forks                Off
  Mac OS X Finder information                  Off
-----------------------------------------------------------------
Unable to import module xattr.
Extended attributes not supported on filesystem at 
/media/backup/backups/drake/2007-06-01/rdiff-backup-data/rdiff-backup.tmp.0
Unable to import module posix1e from pylibacl package.
ACLs not supported on filesystem at 
/media/backup/backups/drake/2007-06-01/rdiff-backup-data/rdiff-backup.tmp.0
escape_dos_devices not required by filesystem at 
/media/backup/backups/drake/2007-06-01/rdiff-backup-data/rdiff-backup.tmp.0
-----------------------------------------------------------------
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
  Symlink permissions                          Off
  Extended filenames                           On
  Access control lists                         Off
  Extended attributes                          Off
  Case sensitivity                             On
  Escape DOS devices                           Off
  Mac OS X style resource forks                Off
  Mac OS X Finder information                  Off
-----------------------------------------------------------------
Backup: must_escape_dos_devices = 0
Starting increment operation / to /media/backup/backups/drake/2007-06-01
Processing changed file .
Incrementing mirror file /media/backup/backups/drake/2007-06-01
Processing changed file etc
Sending back exception ('etc',) of type exceptions.KeyError:
  File "/var/lib/python-support/python2.4/rdiff_backup/connection.py", line 
334, in answer_request
    result = apply(eval(request.function_string), argument_list)
  File "/var/lib/python-support/python2.4/rdiff_backup/backup.py", line 229, in 
patch_and_increment
    ITR(diff.index, diff)
  File "/var/lib/python-support/python2.4/rdiff_backup/rorpiter.py", line 280, 
in __call__
    if last_branch.can_fast_process(*args):
  File "/var/lib/python-support/python2.4/rdiff_backup/backup.py", line 506, in 
can_fast_process
    mirror_rorp = self.CCPP.get_mirror_rorp(index)
  File "/var/lib/python-support/python2.4/rdiff_backup/backup.py", line 457, in 
get_mirror_rorp
    except KeyError: return self.get_parent_rorps(index)[1]
  File "/var/lib/python-support/python2.4/rdiff_backup/backup.py", line 439, in 
get_parent_rorps
    raise KeyError(index)

Exception '('etc',)' raised of class 'exceptions.KeyError':
  File "/var/lib/python-support/python2.4/rdiff_backup/Main.py", line 302, in 
error_check_Main
    try: Main(arglist)
  File "/var/lib/python-support/python2.4/rdiff_backup/Main.py", line 322, in 
Main
    take_action(rps)
  File "/var/lib/python-support/python2.4/rdiff_backup/Main.py", line 278, in 
take_action
    elif action == "backup": Backup(rps[0], rps[1])
  File "/var/lib/python-support/python2.4/rdiff_backup/Main.py", line 341, in 
Backup
    backup.Mirror_and_increment(rpin, rpout, incdir)
  File "/var/lib/python-support/python2.4/rdiff_backup/backup.py", line 51, in 
Mirror_and_increment
    DestS.patch_and_increment(dest_rpath, source_diffiter, inc_rpath)
  File "/var/lib/python-support/python2.4/rdiff_backup/connection.py", line 
447, in __call__
    return apply(self.connection.reval, (self.name,) + args)
  File "/var/lib/python-support/python2.4/rdiff_backup/connection.py", line 
369, in reval
    if isinstance(result, Exception): raise result

Traceback (most recent call last):
  File "/usr/bin/rdiff-backup", line 23, in ?
    rdiff_backup.Main.error_check_Main(sys.argv[1:])
  File "/var/lib/python-support/python2.4/rdiff_backup/Main.py", line 302, in 
error_check_Main
    try: Main(arglist)
  File "/var/lib/python-support/python2.4/rdiff_backup/Main.py", line 322, in 
Main
    take_action(rps)
  File "/var/lib/python-support/python2.4/rdiff_backup/Main.py", line 278, in 
take_action
    elif action == "backup": Backup(rps[0], rps[1])
  File "/var/lib/python-support/python2.4/rdiff_backup/Main.py", line 341, in 
Backup
    backup.Mirror_and_increment(rpin, rpout, incdir)
  File "/var/lib/python-support/python2.4/rdiff_backup/backup.py", line 51, in 
Mirror_and_increment
    DestS.patch_and_increment(dest_rpath, source_diffiter, inc_rpath)
  File "/var/lib/python-support/python2.4/rdiff_backup/connection.py", line 
447, in __call__
    return apply(self.connection.reval, (self.name,) + args)
  File "/var/lib/python-support/python2.4/rdiff_backup/connection.py", line 
369, in reval
    if isinstance(result, Exception): raise result
KeyError: ('etc',)
Fatal Error: Lost connection to the remote system
Fatal Error: Lost connection to the remote system

-- 
Austin Clements                                          MIT/'06/CSAIL
address@hidden                         http://web.mit.edu/~amdragon/
       Somewhere in the dream we call reality you will find me,
              searching for the reality we call dreams.




reply via email to

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