rdiff-backup crash on Mac OS X

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

rdiff-backup crash on Mac OS X

Jim Balhoff-2
Hello all,

I believe that currently rdiff-backup avoids character quoting if  
both source and destination filesystems are case-insensitive (as is  
common for local backups on Mac OS X).  However it seems that  
problems can still arise in this situation - by replacing a directory  
with one whose name differs only in case.  Here is a script which  
crashes rdiff-backup, using version 1.1.5 (I have seen this problem  
in much older versions as well) on Mac OS X 10.4.4.

I pasted the script and the output below.

Thanks,
Jim Balhoff


############################################

#!/bin/bash

mkdir BackupTesting
cd BackupTesting

mkdir -p BackMeUp/folder
mkdir Backups
rdiff-backup BackMeUp Backups/BackMeUp
mv BackMeUp/folder BackMeUp/Folder
rdiff-backup BackMeUp Backups/BackMeUp

############################################


Here is the output I get:


Exception 'Path: Backups/BackMeUp/rdiff-backup-data/increments/folder.
2006-02-22T20:51:42-05:00.dir
Index: ('folder.2006-02-22T20:51:42-05:00.dir',)
Data: {'carbonfile': {'flags': 0, 'type': '\x00\x00\x00\x00',  
'location': (0, 0), 'creator': '\x00\x00\x00\x00'}, 'uid': 502,  
'perms': 493, 'type': 'reg', 'gname': 'jim', 'ctime': 1140659503,  
'devloc': 234881026L, 'uname': 'jim', 'nlink': 1, 'gid': 502,  
'mtime': 1140659502, 'atime': 1140659503, 'inode': 1517033L, 'size':  
0L}' raised of class 'exceptions.AssertionError':
   File "/Users/jim/Library/Python/2.4/site-packages/rdiff_backup/
Main.py", line 295, in error_check_Main
     try: Main(arglist)
   File "/Users/jim/Library/Python/2.4/site-packages/rdiff_backup/
Main.py", line 315, in Main
     take_action(rps)
   File "/Users/jim/Library/Python/2.4/site-packages/rdiff_backup/
Main.py", line 271, in take_action
     elif action == "backup": Backup(rps[0], rps[1])
   File "/Users/jim/Library/Python/2.4/site-packages/rdiff_backup/
Main.py", line 334, in Backup
     backup.Mirror_and_increment(rpin, rpout, incdir)
   File "/Users/jim/Library/Python/2.4/site-packages/rdiff_backup/
backup.py", line 51, in Mirror_and_increment
     DestS.patch_and_increment(dest_rpath, source_diffiter, inc_rpath)
   File "/Users/jim/Library/Python/2.4/site-packages/rdiff_backup/
backup.py", line 229, in patch_and_increment
     ITR(diff.index, diff)
   File "/Users/jim/Library/Python/2.4/site-packages/rdiff_backup/
rorpiter.py", line 284, in __call__
     branch.start_process(*args)
   File "/Users/jim/Library/Python/2.4/site-packages/rdiff_backup/
backup.py", line 691, in start_process
     inc_prefix)
   File "/Users/jim/Library/Python/2.4/site-packages/rdiff_backup/
increment.py", line 41, in Increment
     elif mirror.isdir(): incrp = makedir(mirror, incpref)
   File "/Users/jim/Library/Python/2.4/site-packages/rdiff_backup/
increment.py", line 94, in makedir
     dirsign = get_inc(incpref, "dir")
   File "/Users/jim/Library/Python/2.4/site-packages/rdiff_backup/
increment.py", line 114, in get_inc
     assert not incrp.lstat(), incrp

Traceback (most recent call last):
   File "/Users/jim/Tools/rdiff-backup", line 23, in ?
     rdiff_backup.Main.error_check_Main(sys.argv[1:])
   File "/Users/jim/Library/Python/2.4/site-packages/rdiff_backup/
Main.py", line 295, in error_check_Main
     try: Main(arglist)
   File "/Users/jim/Library/Python/2.4/site-packages/rdiff_backup/
Main.py", line 315, in Main
     take_action(rps)
   File "/Users/jim/Library/Python/2.4/site-packages/rdiff_backup/
Main.py", line 271, in take_action
     elif action == "backup": Backup(rps[0], rps[1])
   File "/Users/jim/Library/Python/2.4/site-packages/rdiff_backup/
Main.py", line 334, in Backup
     backup.Mirror_and_increment(rpin, rpout, incdir)
   File "/Users/jim/Library/Python/2.4/site-packages/rdiff_backup/
backup.py", line 51, in Mirror_and_increment
     DestS.patch_and_increment(dest_rpath, source_diffiter, inc_rpath)
   File "/Users/jim/Library/Python/2.4/site-packages/rdiff_backup/
backup.py", line 229, in patch_and_increment
     ITR(diff.index, diff)
   File "/Users/jim/Library/Python/2.4/site-packages/rdiff_backup/
rorpiter.py", line 284, in __call__
     branch.start_process(*args)
   File "/Users/jim/Library/Python/2.4/site-packages/rdiff_backup/
backup.py", line 691, in start_process
     inc_prefix)
   File "/Users/jim/Library/Python/2.4/site-packages/rdiff_backup/
increment.py", line 41, in Increment
     elif mirror.isdir(): incrp = makedir(mirror, incpref)
   File "/Users/jim/Library/Python/2.4/site-packages/rdiff_backup/
increment.py", line 94, in makedir
     dirsign = get_inc(incpref, "dir")
   File "/Users/jim/Library/Python/2.4/site-packages/rdiff_backup/
increment.py", line 114, in get_inc
     assert not incrp.lstat(), incrp
AssertionError: Path: Backups/BackMeUp/rdiff-backup-data/increments/
folder.2006-02-22T20:51:42-05:00.dir
Index: ('folder.2006-02-22T20:51:42-05:00.dir',)
Data: {'carbonfile': {'flags': 0, 'type': '\x00\x00\x00\x00',  
'location': (0, 0), 'creator': '\x00\x00\x00\x00'}, 'uid': 502,  
'perms': 493, 'type': 'reg', 'gname': 'jim', 'ctime': 1140659503,  
'devloc': 234881026L, 'uname': 'jim', 'nlink': 1, 'gid': 502,  
'mtime': 1140659502, 'atime': 1140659503, 'inode': 1517033L, 'size': 0L}



_______________________________________________
rdiff-backup-users mailing list at [hidden email]
http://lists.nongnu.org/mailman/listinfo/rdiff-backup-users
Wiki URL: http://rdiff-backup.solutionsfirst.com.au/index.php/RdiffBackupWiki