bugrdiff-backup - Bugs: bug #21253, crash on Mac OS X case-insensitive...

 
 

bug #21253: crash on Mac OS X case-insensitive fs

Submitted by:  Jim Balhoff <balhoff>
Submitted on:  Thu 04 Oct 2007 02:08:41 PM UTC  
Votes:  100  
 
Category: NoneSeverity: 3 - Normal
Item Group: NoneStatus: Confirmed
Privacy: PublicAssigned to: None
Open/Closed: Open

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

Mon 29 Feb 2016 03:11:34 PM UTC, comment #3:

I've managed to work around this by removing the folder in the source, performing a backup, then restoring it with the new capitalization and performing another backup.

However, the increments of both capitalizations are combined into the same folder, so I'm not 100% confident that this won't cause problems in the future.

Malcolm Smith <malcolm_smith>
Sat 30 Jan 2016 05:57:13 PM UTC, comment #2:

Also occurs on Cygwin / Windows, with identical symptoms.

Malcolm Smith <malcolm_smith>
Sun 23 Dec 2007 02:40:44 AM UTC, comment #1:

Yes, this is a known bug. I call it the "a.txt vs A.txt problem" in my notes. The bug arises if you change the capitalization of the file from lower case to upper case.

It's a tough bug to figure out how to fix correctly. Perhaps adding a warning message about it is in order.

Here's the mailing list post about it:
http://lists.nongnu.org/archive/html/rdiff-backup-users/2007-01/msg00028.html

Andrew Ferguson <owsla>
Project Administrator
Thu 04 Oct 2007 02:08:41 PM UTC, original submission:

rdiff-backup will crash when used with a Mac OS X case-insensitive file system, if a folder that has been previously backed up is moved to a new name that differs only by case. I am using rdiff-backup 1.1.14, Python 2.3.5, Mac OS X 10.4.10.

Here is a shell script which crashes on Mac OS X:

**********************************************************************
#!/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 result:

Exception 'Path: Backups/BackMeUp/rdiff-backup-data/increments/folder.2007-10-04T09:57:08-04:00.dir
Index: ('folder.2007-10-04T09:57:08-04:00.dir',)
Data: {'carbonfile': {'flags': 0, 'createDate': -1020616295, 'type': '\x00\x00\x00\x00', 'location': (0, 0), 'creator': '\x00\x00\x00\x00'}, 'uid': 501, 'perms': 493, 'type': 'reg', 'gname': 'balhoff', 'ctime': 1191506254, 'devloc': 234881040L, 'uname': 'balhoff', 'nlink': 1, 'gid': 501, 'mtime': 1191506201, 'atime': 1191506254, 'inode': 1901841L, 'size': 0L}' raised of class 'exceptions.AssertionError':
File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/rdiff_backup/Main.py", line 302, in error_check_Main
try: Main(arglist)
File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/rdiff_backup/Main.py", line 322, in Main
take_action(rps)
File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/rdiff_backup/Main.py", line 278, in take_action
elif action == "backup": Backup(rps[0], rps[1])
File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/rdiff_backup/Main.py", line 341, in Backup
backup.Mirror_and_increment(rpin, rpout, incdir)
File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/rdiff_backup/backup.py", line 51, in Mirror_and_increment
DestS.patch_and_increment(dest_rpath, source_diffiter, inc_rpath)
File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/rdiff_backup/backup.py", line 229, in patch_and_increment
ITR(diff.index, diff)
File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/rdiff_backup/rorpiter.py", line 284, in _call_
branch.start_process(*args)
File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/rdiff_backup/backup.py", line 699, in start_process
inc_prefix)
File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/rdiff_backup/increment.py", line 41, in Increment
elif mirror.isdir(): incrp = makedir(mirror, incpref)
File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/rdiff_backup/increment.py", line 94, in makedir
dirsign = get_inc(incpref, "dir")
File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/rdiff_backup/increment.py", line 114, in get_inc
assert not incrp.lstat(), incrp

Traceback (most recent call last):
File "/usr/bin/rdiff-backup", line 23, in ?
rdiff_backup.Main.error_check_Main(sys.argv[1:])
File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/rdiff_backup/Main.py", line 302, in error_check_Main
try: Main(arglist)
File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/rdiff_backup/Main.py", line 322, in Main
take_action(rps)
File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/rdiff_backup/Main.py", line 278, in take_action
elif action == "backup": Backup(rps[0], rps[1])
File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/rdiff_backup/Main.py", line 341, in Backup
backup.Mirror_and_increment(rpin, rpout, incdir)
File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/rdiff_backup/backup.py", line 51, in Mirror_and_increment
DestS.patch_and_increment(dest_rpath, source_diffiter, inc_rpath)
File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/rdiff_backup/backup.py", line 229, in patch_and_increment
ITR(diff.index, diff)
File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/rdiff_backup/rorpiter.py", line 284, in _call_
branch.start_process(*args)
File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/rdiff_backup/backup.py", line 699, in start_process
inc_prefix)
File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/rdiff_backup/increment.py", line 41, in Increment
elif mirror.isdir(): incrp = makedir(mirror, incpref)
File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/rdiff_backup/increment.py", line 94, in makedir
dirsign = get_inc(incpref, "dir")
File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/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.2007-10-04T09:57:08-04:00.dir
Index: ('folder.2007-10-04T09:57:08-04:00.dir',)
Data: {'carbonfile': {'flags': 0, 'createDate': -1020616295, 'type': '\x00\x00\x00\x00', 'location': (0, 0), 'creator': '\x00\x00\x00\x00'}, 'uid': 501, 'perms': 493, 'type': 'reg', 'gname': 'balhoff', 'ctime': 1191506254, 'devloc': 234881040L, 'uname': 'balhoff', 'nlink': 1, 'gid': 501, 'mtime': 1191506201, 'atime': 1191506254, 'inode': 1901841L, 'size': 0L}

Jim Balhoff <balhoff>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by malcolm_smith (Posted a comment)
  • -unavailable- added by owsla (Posted a comment)
  • -unavailable- added by balhoff (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 100 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 3 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Sat 30 Jan 2016 05:59:53 PM UTCmalcolm_smithCarbon-CopyRemoved malcolm_smith=>-
    Sat 30 Jan 2016 05:57:13 PM UTCmalcolm_smithCarbon-Copy-=>Added malcolm_smith
    Sun 23 Dec 2007 02:40:44 AM UTCowslaStatusNone=>Confirmed

    Back to the top


    Powered by Savane 3.1-cleanup1