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

 
 

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

Submitter:  Jim Balhoff <balhoff>
Submitted:  Thu 04 Oct 2007 02:08:41 PM UTC
Votes: 100
 
Category:  None Severity:  3 - Normal
Item Group:  None Status:  Confirmed
Privacy:  Public Assigned to:  None
Open/Closed:  Closed
* Mandatory Fields

Add a New Comment Rich Markup
   

Fri 20 May 2022 05:05:28 PM UTC, comment #4: 

This issue has been closed because it hasn&#039;t been touched for years, as the development continued on GitHub. If the issue is still present in a recent version, please re-open it under https://github.com/rdiff-backup/rdiff-backup/issues after having made that it&#039;s not already reported there.

Eric L. <ericzolf>
Group administrator
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>
Group 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 Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

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

    There are 100 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

    Follow 4 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2022-05-20 ericzolf Open/ClosedOpen Closed
    2016-01-30 malcolm_smith Carbon-CopyRemoved malcolm_smith -
    2016-01-30 malcolm_smith Carbon-Copy- Added malcolm_smith
    2007-12-23 owsla StatusNone Confirmed

    Back to the top

    Powered by Savane 3.13-f8d8.
    Corresponding source code