Package: rdiff-backup
Version: 1.1.15-2~bpo40+1
Severity: normal

*** Please type your report below this line ***

While regressing a failed backup destination, rdiff-backup fails with
a KeyError: 'inode' exception.

Here is some output:

=====OUTPUT=====

Previous backup seems to have failed, regressing destination now.
Exception ''inode'' 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/backup.py",
line 234, in patch_and_increment
    for diff in rorpiter.FillInIter(source_diffiter, dest_rpath):
  File "/var/lib/python-support/python2.4/rdiff_backup/rorpiter.py",
line 177, in FillInIter
    for rp in rpiter:
  File "/var/lib/python-support/python2.4/rdiff_backup/backup.py",
line 103, in get_diffs
    for dest_sig in dest_sigiter:
  File "/var/lib/python-support/python2.4/rdiff_backup/backup.py",
line 167, in get_sigs
    if (src_rorp and dest_rorp and src_rorp == dest_rorp and
  File "/var/lib/python-support/python2.4/rdiff_backup/Hardlink.py",
line 106, in rorp_eq
    return dest_key == get_inode_key(dest_rorp)
  File "/var/lib/python-support/python2.4/rdiff_backup/Hardlink.py",
line 57, in get_inode_key
    return (rorp.getinode(), rorp.getdevloc())
  File "/var/lib/python-support/python2.4/rdiff_backup/rpath.py", line
547, in getinode
    return self.data['inode']

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/backup.py",
line 234, in patch_and_increment
    for diff in rorpiter.FillInIter(source_diffiter, dest_rpath):
  File "/var/lib/python-support/python2.4/rdiff_backup/rorpiter.py",
line 177, in FillInIter
    for rp in rpiter:
  File "/var/lib/python-support/python2.4/rdiff_backup/backup.py",
line 103, in get_diffs
    for dest_sig in dest_sigiter:
  File "/var/lib/python-support/python2.4/rdiff_backup/backup.py",
line 167, in get_sigs
    if (src_rorp and dest_rorp and src_rorp == dest_rorp and
  File "/var/lib/python-support/python2.4/rdiff_backup/Hardlink.py",
line 106, in rorp_eq
    return dest_key == get_inode_key(dest_rorp)
  File "/var/lib/python-support/python2.4/rdiff_backup/Hardlink.py",
line 57, in get_inode_key
    return (rorp.getinode(), rorp.getdevloc())
  File "/var/lib/python-support/python2.4/rdiff_backup/rpath.py", line
547, in getinode
    return self.data['inode']
KeyError: 'inode'

================

I had this problem with the Etch version of rdiff-backup (on an Etch
server), so I tried using the backport instead. Same problem.

This error might be caused by my non-standard rdiff-backup usage:

1) Rsync from rdiff-backup dest to a temp dir, using hardlinks to preserve space

2) Rsync from backup source to the temporary dir

3) rdiff-backup from the temporary dir to the rdiff-backup destination
(I use the --preserve-numerical-ids, --no-compare-inode, and --force
options)

4) Remove the temporary directory.

I sometimes have inode-related warnings, but this is the first time
I've had this error.

Let me know if I can provide more info. I'm going to move my old
backup dest dir to a temporary location (in case you need follow-up
info) and make a new backup destination dir so I can run the backup.

-- System Information:
Debian Release: 4.0
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.18-6-686
Locale: LANG=en_ZA.UTF-8, LC_CTYPE=en_ZA.UTF-8 (charmap=UTF-8)

Versions of packages rdiff-backup depends on:
ii  libc6                         2.6-2      GNU C Library: Shared libraries
ii  librsync1                     0.9.7-1    Library which implements the rsync
ii  python                        2.4.4-2    An interactive high-level object-o
ii  python-support                0.5.6      automated rebuilding support for p

Versions of packages rdiff-backup recommends:
ii  python-pylibacl               0.2.1-3.1  module for manipulating POSIX.1e A
ii  python-pyxattr                0.2.1-1.1  module for manipulating filesystem

-- no debconf information



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to