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

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

[rdiff-backup-users] OS X carbonfile issues?


From: Kevin Horton
Subject: [rdiff-backup-users] OS X carbonfile issues?
Date: Mon, 7 May 2007 19:48:25 -0400

I'm running rdiff-backup 1.1.9 on OS X 10.4.9, installed via Fink. Yesterday I got the following error:

Incrementing mirror file /Volumes/Maxtor_300/bu/iBook/Music/iTunes/ iTunes Music/k-os Exception 'Path: /Volumes/Maxtor_300/bu/iBook/rdiff-backup-data/ increments/Music/iTunes/iTunes Music/k-os.2007-02-24T12:18:51-05:00.dir Index: ('Music', 'iTunes', 'iTunes Music', 'k-os. 2007-02-24T12:18:51-05:00.dir') Data: {'carbonfile': {'flags': 0, 'createDate': -1109749182, 'type': '\x00\x00\x00\x00', 'location': (0, 0), 'creator': '\x00\x00\x00 \x00'}, 'uid': 508, 'perms': 493, 'type': 'reg', 'gname': 'unknown', 'ctime': 1178479633, 'devloc': 234881036L, 'uname': 'admin', 'nlink': 1, 'gid': 99, 'mtime': 1102373314, 'resourcefork': '', 'atime': 1178479633, 'inode': 8196365L, 'size': 0L}' raised of class '<type 'exceptions.AssertionError'>': File "/sw/lib/python2.5/site-packages/rdiff_backup/Main.py", line 298, in error_check_Main
    try: Main(arglist)
File "/sw/lib/python2.5/site-packages/rdiff_backup/Main.py", line 318, in Main
    take_action(rps)
File "/sw/lib/python2.5/site-packages/rdiff_backup/Main.py", line 274, in take_action
    elif action == "backup": Backup(rps[0], rps[1])
File "/sw/lib/python2.5/site-packages/rdiff_backup/Main.py", line 337, in Backup
    backup.Mirror_and_increment(rpin, rpout, incdir)
File "/sw/lib/python2.5/site-packages/rdiff_backup/backup.py", line 51, in Mirror_and_increment
    DestS.patch_and_increment(dest_rpath, source_diffiter, inc_rpath)
File "/sw/lib/python2.5/site-packages/rdiff_backup/backup.py", line 229, in patch_and_increment
    ITR(diff.index, diff)
File "/sw/lib/python2.5/site-packages/rdiff_backup/rorpiter.py", line 284, in __call__
    branch.start_process(*args)
File "/sw/lib/python2.5/site-packages/rdiff_backup/backup.py", line 699, in start_process
    inc_prefix)
File "/sw/lib/python2.5/site-packages/rdiff_backup/increment.py", line 41, in Increment
    elif mirror.isdir(): incrp = makedir(mirror, incpref)
File "/sw/lib/python2.5/site-packages/rdiff_backup/increment.py", line 94, in makedir
    dirsign = get_inc(incpref, "dir")
File "/sw/lib/python2.5/site-packages/rdiff_backup/increment.py", line 114, in get_inc
    assert not incrp.lstat(), incrp

Traceback (most recent call last):
  File "/sw/bin/rdiff-backup", line 23, in <module>
    rdiff_backup.Main.error_check_Main(sys.argv[1:])
File "/sw/lib/python2.5/site-packages/rdiff_backup/Main.py", line 298, in error_check_Main
    try: Main(arglist)
File "/sw/lib/python2.5/site-packages/rdiff_backup/Main.py", line 318, in Main
    take_action(rps)
File "/sw/lib/python2.5/site-packages/rdiff_backup/Main.py", line 274, in take_action
    elif action == "backup": Backup(rps[0], rps[1])
File "/sw/lib/python2.5/site-packages/rdiff_backup/Main.py", line 337, in Backup
    backup.Mirror_and_increment(rpin, rpout, incdir)
File "/sw/lib/python2.5/site-packages/rdiff_backup/backup.py", line 51, in Mirror_and_increment
    DestS.patch_and_increment(dest_rpath, source_diffiter, inc_rpath)
File "/sw/lib/python2.5/site-packages/rdiff_backup/backup.py", line 229, in patch_and_increment
    ITR(diff.index, diff)
File "/sw/lib/python2.5/site-packages/rdiff_backup/rorpiter.py", line 284, in __call__
    branch.start_process(*args)
File "/sw/lib/python2.5/site-packages/rdiff_backup/backup.py", line 699, in start_process
    inc_prefix)
File "/sw/lib/python2.5/site-packages/rdiff_backup/increment.py", line 41, in Increment
    elif mirror.isdir(): incrp = makedir(mirror, incpref)
File "/sw/lib/python2.5/site-packages/rdiff_backup/increment.py", line 94, in makedir
    dirsign = get_inc(incpref, "dir")
File "/sw/lib/python2.5/site-packages/rdiff_backup/increment.py", line 114, in get_inc
    assert not incrp.lstat(), incrp
AssertionError: Path: /Volumes/Maxtor_300/bu/iBook/rdiff-backup-data/ increments/Music/iTunes/iTunes Music/k-os.2007-02-24T12:18:51-05:00.dir Index: ('Music', 'iTunes', 'iTunes Music', 'k-os. 2007-02-24T12:18:51-05:00.dir') Data: {'carbonfile': {'flags': 0, 'createDate': -1109749182, 'type': '\x00\x00\x00\x00', 'location': (0, 0), 'creator': '\x00\x00\x00 \x00'}, 'uid': 508, 'perms': 493, 'type': 'reg', 'gname': 'unknown', 'ctime': 1178479633, 'devloc': 234881036L, 'uname': 'admin', 'nlink': 1, 'gid': 99, 'mtime': 1102373314, 'resourcefork': '', 'atime': 1178479633, 'inode': 8196365L, 'size': 0L}
 ==========================================
I used Disk Utility to check the hard drives of the source, destination and my OS. No errors. I had just previously done a successful backup from the same source to a different destination. When I started the backup that eventually failed, rdiff-backup complained that:

"Fatal Error: It appears that a previous rdiff-backup session with process
id 8717 is still running.  If two different rdiff-backup processes write
the same repository simultaneously, data corruption will probably
result.  To proceed with regress anyway, rerun rdiff-backup with the
--force option.
"

I used the --force option, and sometime later the backup attempt failed. I restarted the main computer (where the backup destination is, and where python is running, and tried again. I got a very similar failure:
 ==========================================

Processing changed file Music/iTunes/iTunes Music/k-os
Incrementing mirror file /Volumes/Maxtor_300/bu/iBook/Music/iTunes/ iTunes Music/k-os Exception 'Path: /Volumes/Maxtor_300/bu/iBook/rdiff-backup-data/ increments/Music/iTunes/iTunes Music/k-os.2007-02-24T12:18:51-05:00.dir Index: ('Music', 'iTunes', 'iTunes Music', 'k-os. 2007-02-24T12:18:51-05:00.dir') Data: {'carbonfile': {'flags': 0, 'createDate': -1109749182, 'type': '\x00\x00\x00\x00', 'location': (0, 0), 'creator': '\x00\x00\x00 \x00'}, 'uid': 508, 'perms': 493, 'type': 'reg', 'gname': 'unknown', 'ctime': 1178498647, 'devloc': 234881030L, 'uname': 'admin', 'nlink': 1, 'gid': 99, 'mtime': 1102373314, 'resourcefork': '', 'atime': 1178498647, 'inode': 8247580L, 'size': 0L}' raised of class '<type 'exceptions.AssertionError'>': File "/sw/lib/python2.5/site-packages/rdiff_backup/Main.py", line 298, in error_check_Main
    try: Main(arglist)
File "/sw/lib/python2.5/site-packages/rdiff_backup/Main.py", line 318, in Main
    take_action(rps)
File "/sw/lib/python2.5/site-packages/rdiff_backup/Main.py", line 274, in take_action
    elif action == "backup": Backup(rps[0], rps[1])
File "/sw/lib/python2.5/site-packages/rdiff_backup/Main.py", line 337, in Backup
    backup.Mirror_and_increment(rpin, rpout, incdir)
File "/sw/lib/python2.5/site-packages/rdiff_backup/backup.py", line 51, in Mirror_and_increment
    DestS.patch_and_increment(dest_rpath, source_diffiter, inc_rpath)
File "/sw/lib/python2.5/site-packages/rdiff_backup/backup.py", line 229, in patch_and_increment
    ITR(diff.index, diff)
File "/sw/lib/python2.5/site-packages/rdiff_backup/rorpiter.py", line 284, in __call__
    branch.start_process(*args)
File "/sw/lib/python2.5/site-packages/rdiff_backup/backup.py", line 699, in start_process
    inc_prefix)
File "/sw/lib/python2.5/site-packages/rdiff_backup/increment.py", line 41, in Increment
    elif mirror.isdir(): incrp = makedir(mirror, incpref)
File "/sw/lib/python2.5/site-packages/rdiff_backup/increment.py", line 94, in makedir
    dirsign = get_inc(incpref, "dir")
File "/sw/lib/python2.5/site-packages/rdiff_backup/increment.py", line 114, in get_inc
    assert not incrp.lstat(), incrp

Traceback (most recent call last):
  File "/sw/bin/rdiff-backup", line 23, in <module>
    rdiff_backup.Main.error_check_Main(sys.argv[1:])
File "/sw/lib/python2.5/site-packages/rdiff_backup/Main.py", line 298, in error_check_Main
    try: Main(arglist)
File "/sw/lib/python2.5/site-packages/rdiff_backup/Main.py", line 318, in Main
    take_action(rps)
File "/sw/lib/python2.5/site-packages/rdiff_backup/Main.py", line 274, in take_action
    elif action == "backup": Backup(rps[0], rps[1])
File "/sw/lib/python2.5/site-packages/rdiff_backup/Main.py", line 337, in Backup
    backup.Mirror_and_increment(rpin, rpout, incdir)
File "/sw/lib/python2.5/site-packages/rdiff_backup/backup.py", line 51, in Mirror_and_increment
    DestS.patch_and_increment(dest_rpath, source_diffiter, inc_rpath)
File "/sw/lib/python2.5/site-packages/rdiff_backup/backup.py", line 229, in patch_and_increment
    ITR(diff.index, diff)
File "/sw/lib/python2.5/site-packages/rdiff_backup/rorpiter.py", line 284, in __call__
    branch.start_process(*args)
File "/sw/lib/python2.5/site-packages/rdiff_backup/backup.py", line 699, in start_process
    inc_prefix)
File "/sw/lib/python2.5/site-packages/rdiff_backup/increment.py", line 41, in Increment
    elif mirror.isdir(): incrp = makedir(mirror, incpref)
File "/sw/lib/python2.5/site-packages/rdiff_backup/increment.py", line 94, in makedir
    dirsign = get_inc(incpref, "dir")
File "/sw/lib/python2.5/site-packages/rdiff_backup/increment.py", line 114, in get_inc
    assert not incrp.lstat(), incrp
AssertionError: Path: /Volumes/Maxtor_300/bu/iBook/rdiff-backup-data/ increments/Music/iTunes/iTunes Music/k-os.2007-02-24T12:18:51-05:00.dir Index: ('Music', 'iTunes', 'iTunes Music', 'k-os. 2007-02-24T12:18:51-05:00.dir') Data: {'carbonfile': {'flags': 0, 'createDate': -1109749182, 'type': '\x00\x00\x00\x00', 'location': (0, 0), 'creator': '\x00\x00\x00 \x00'}, 'uid': 508, 'perms': 493, 'type': 'reg', 'gname': 'unknown', 'ctime': 1178498647, 'devloc': 234881030L, 'uname': 'admin', 'nlink': 1, 'gid': 99, 'mtime': 1102373314, 'resourcefork': '', 'atime': 1178498647, 'inode': 8247580L, 'size': 0L}

 ==========================================
It seems that I have some sort of problem with this backup repository. I did a --check-destination-dir, and a --verify on the backup destination, with no failures noted. I don't see any other useful commands in the man page. Is there a way to reliably fix this repository, or should I just delete it and start with a new one?

I then tried to do a backup from another destination, to yet another repository. It seems that the last attempt to do this particular backup had failed, so rdiff-backup complained about another process possibly running, and suggested the --force option. I checked to make sure that no python processes were running, and then started again with --force. The regress attempt failed like:

Regressing attributes of /Volumes/Ext_BU/PowerMac/kwh/Music/iTunes/ Album Artwork/Local/0341BE8E58F8567B/05/12 Regressing file Music/iTunes/Album Artwork/Local/0341BE8E58F8567B/ 05/13/06/0341BE8E58F8567B-B4C55380322E46D5.itc Exception '[Errno 5] Input/output error: '/Volumes/Ext_BU/PowerMac/ kwh/Music/iTunes/Album Artwork/Local/0341BE8E58F8567B/05/13/06/rdiff- backup.tmp.171067'' raised of class '<type 'exceptions.IOError'>': File "/sw/lib/python2.5/site-packages/rdiff_backup/Main.py", line 298, in error_check_Main
    try: Main(arglist)
File "/sw/lib/python2.5/site-packages/rdiff_backup/Main.py", line 318, in Main
    take_action(rps)
File "/sw/lib/python2.5/site-packages/rdiff_backup/Main.py", line 274, in take_action
    elif action == "backup": Backup(rps[0], rps[1])
File "/sw/lib/python2.5/site-packages/rdiff_backup/Main.py", line 331, in Backup
    backup_final_init(rpout)
File "/sw/lib/python2.5/site-packages/rdiff_backup/Main.py", line 431, in backup_final_init
    checkdest_if_necessary(rpout)
File "/sw/lib/python2.5/site-packages/rdiff_backup/Main.py", line 830, in checkdest_if_necessary
    dest_rp.conn.regress.Regress(dest_rp)
File "/sw/lib/python2.5/site-packages/rdiff_backup/regress.py", line 71, in Regress
    for rf in iterate_meta_rfs(mirror_rp, inc_rpath): ITR(rf.index, rf)
File "/sw/lib/python2.5/site-packages/rdiff_backup/rorpiter.py", line 281, in __call__
    last_branch.fast_process(*args)
File "/sw/lib/python2.5/site-packages/rdiff_backup/regress.py", line 267, in fast_process
    if rf.metadata_rorp.isreg(): self.restore_orig_regfile(rf)
File "/sw/lib/python2.5/site-packages/rdiff_backup/regress.py", line 289, in restore_orig_regfile
    tf.write_from_fileobj(rf.get_restore_fp())
File "/sw/lib/python2.5/site-packages/rdiff_backup/rpath.py", line 1052, in write_from_fileobj
    outfp = self.open("wb", compress = compress)
File "/sw/lib/python2.5/site-packages/rdiff_backup/rpath.py", line 1032, in open
    else: return open(self.path, mode)

Traceback (most recent call last):
  File "/sw/bin/rdiff-backup", line 23, in <module>
    rdiff_backup.Main.error_check_Main(sys.argv[1:])
File "/sw/lib/python2.5/site-packages/rdiff_backup/Main.py", line 298, in error_check_Main
    try: Main(arglist)
File "/sw/lib/python2.5/site-packages/rdiff_backup/Main.py", line 318, in Main
    take_action(rps)
File "/sw/lib/python2.5/site-packages/rdiff_backup/Main.py", line 274, in take_action
    elif action == "backup": Backup(rps[0], rps[1])
File "/sw/lib/python2.5/site-packages/rdiff_backup/Main.py", line 331, in Backup
    backup_final_init(rpout)
File "/sw/lib/python2.5/site-packages/rdiff_backup/Main.py", line 431, in backup_final_init
    checkdest_if_necessary(rpout)
File "/sw/lib/python2.5/site-packages/rdiff_backup/Main.py", line 830, in checkdest_if_necessary
    dest_rp.conn.regress.Regress(dest_rp)
File "/sw/lib/python2.5/site-packages/rdiff_backup/regress.py", line 71, in Regress
    for rf in iterate_meta_rfs(mirror_rp, inc_rpath): ITR(rf.index, rf)
File "/sw/lib/python2.5/site-packages/rdiff_backup/rorpiter.py", line 281, in __call__
    last_branch.fast_process(*args)
File "/sw/lib/python2.5/site-packages/rdiff_backup/regress.py", line 267, in fast_process
    if rf.metadata_rorp.isreg(): self.restore_orig_regfile(rf)
File "/sw/lib/python2.5/site-packages/rdiff_backup/regress.py", line 289, in restore_orig_regfile
    tf.write_from_fileobj(rf.get_restore_fp())
File "/sw/lib/python2.5/site-packages/rdiff_backup/rpath.py", line 1052, in write_from_fileobj
    outfp = self.open("wb", compress = compress)
File "/sw/lib/python2.5/site-packages/rdiff_backup/rpath.py", line 1032, in open
    else: return open(self.path, mode)
IOError: [Errno 5] Input/output error: '/Volumes/Ext_BU/PowerMac/kwh/ Music/iTunes/Album Artwork/Local/0341BE8E58F8567B/05/13/06/rdiff- backup.tmp.171067'

 ==========================================
The common thread to all these failures seems to be carbonfile issues. I've been using --carbonfile for many months, with no problems until now. These failures are roughly coincidental with an update from OS X 10.4.8 to 10.4.9, and a recent security update. Maybe rdiff-backup is no longer compatible with carbonfile. Or, maybe something has gone strange with my python, or my rdiff-backup. I rebuilt python2.5 before the last failure, yet that didn't help. Comments?

Kevin Horton
Ottawa, Canada






reply via email to

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