[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Rdiff-backup-bugs] [bug #27795] Symlink to self on filesystem results i
From: |
Simon Blandford |
Subject: |
[Rdiff-backup-bugs] [bug #27795] Symlink to self on filesystem results in xattr related crash |
Date: |
Sat, 24 Oct 2009 07:37:01 +0000 |
User-agent: |
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.0.14) Gecko/2009091914 Mandriva/1.9.0.14-0.1mdv2009.1 (2009.1) Firefox/3.0.14 |
URL:
<http://savannah.nongnu.org/bugs/?27795>
Summary: Symlink to self on filesystem results in xattr
related crash
Project: rdiff-backup
Submitted by: sblandford
Submitted on: Sat 24 Oct 2009 07:37:00 GMT
Category: None
Severity: 3 - Normal
Item Group: None
Status: None
Privacy: Public
Assigned to: None
Open/Closed: Open
Discussion Lock: Any
_______________________________________________________
Details:
Using rdiff-backup-1.2.8-1.el5.rf with pyxattr-0.4.0-2.el5 on Centos 5.3.
The filesystem being backed up contains a symlink to itself.
address@hidden ~]# cd /usr/local/include/libpng/
address@hidden libpng]# ll
total 4
lrwxrwxrwx 1 root root 8 Apr 29 13:02 libpng12 -> libpng12
This results in rdiff-backup crashing when attempting to make a backup of it.
Although symlinks to self are not useful rdiff-backup should not crash.
rdiff-backup only started crashing on this condition since I installed
pyxattr.
diff-backup --exclude-sockets --exclude-globbing-filelist
/mnt/xen1_backup/staticweb.xyz.com/config/rdiff_exclude_list --force
124.100.13.8::/mnt/
snapshots/ /mnt/xen1_backup/staticweb.xyz.com/data
Warning: Access Control List file not found
Warning: Extended Attributes file not found
Exception '[Errno 40] Too many levels of symbolic links:
'/mnt/xen1_backup/staticweb.xyz.com/data/usr/local/include/libpng/rdiff-backup.tmp.217089'
' raised of class 'exceptions.IOError':
Traceback (most recent call last):
File "/usr/bin/rdiff-backup", line 30, in ?
rdiff_backup.Main.error_check_Main(sys.argv[1:])
File "/usr/lib64/python2.4/site-packages/rdiff_backup/Main.py", line 304,
in error_check_Main
try: Main(arglist)
File "/usr/lib64/python2.4/site-packages/rdiff_backup/Main.py", line 324,
in Main
take_action(rps)
File "/usr/lib64/python2.4/site-packages/rdiff_backup/Main.py", line 280,
in take_action
elif action == "backup": Backup(rps[0], rps[1])
File "/usr/lib64/python2.4/site-packages/rdiff_backup/Main.py", line 343,
in Backup
backup.Mirror_and_increment(rpin, rpout, incdir)
File "/usr/lib64/python2.4/site-packages/rdiff_backup/backup.py", line 51,
in Mirror_and_increment
DestS.patch_and_increment(dest_rpath, source_diffiter, inc_rpath)
File "/usr/lib64/python2.4/site-packages/rdiff_backup/backup.py", line 243,
in patch_and_increment
ITR(diff.index, diff)
File "/usr/lib64/python2.4/site-packages/rdiff_backup/rorpiter.py", line
281, in __call__
last_branch.fast_process(*args)
File "/usr/lib64/python2.4/site-packages/rdiff_backup/backup.py", line 692,
in fast_process
if self.patch_to_temp(mirror_rp, diff_rorp, tf):
File "/usr/lib64/python2.4/site-packages/rdiff_backup/backup.py", line 553,
in patch_to_temp
result = self.patch_snapshot_to_temp(diff_rorp, new)
File "/usr/lib64/python2.4/site-packages/rdiff_backup/backup.py", line 578,
in patch_snapshot_to_temp
rpath.copy_attribs(diff_rorp, new)
File "/usr/lib64/python2.4/site-packages/rdiff_backup/rpath.py", line 181,
in copy_attribs
if Globals.eas_write: rpout.write_ea(rpin.get_ea())
File "/usr/lib64/python2.4/site-packages/rdiff_backup/rpath.py", line 1347,
in write_ea
ea.write_to_rp(self)
File "/usr/lib64/python2.4/site-packages/rdiff_backup/eas_acls.py", line
114, in write_to_rp
rp.conn.xattr.setxattr(rp.path, name, value, 0, rp.issym())
File
"/usr/lib64/python2.4/site-packages/xattr-0.4-py2.4-linux-x86_64.egg/xattr/__init__.py",
line 188, in setxattr
return xattr(f).set(attr, value, options=options)
File
"/usr/lib64/python2.4/site-packages/xattr-0.4-py2.4-linux-x86_64.egg/xattr/__init__.py",
line 81, in set
self._set(name, value, 0, options | self.options)
File
"/usr/lib64/python2.4/site-packages/xattr-0.4-py2.4-linux-x86_64.egg/xattr/__init__.py",
line 16, in _func
return func(first, *args)
IOError: [Errno 40] Too many levels of symbolic links:
'/mnt/xen1_backup/staticweb.xyz.com/data/usr/local/include/libpng/rdiff-backup.tmp.217089'
Traceback (most recent call last):
File "/usr/bin/rdiff-backup", line 30, in ?
rdiff_backup.Main.error_check_Main(sys.argv[1:])
File "/usr/lib64/python2.4/site-packages/rdiff_backup/Main.py", line 304,
in error_check_Main
try: Main(arglist)
File "/usr/lib64/python2.4/site-packages/rdiff_backup/Main.py", line 324,
in Main
take_action(rps)
File "/usr/lib64/python2.4/site-packages/rdiff_backup/Main.py", line 280,
in take_action
elif action == "backup": Backup(rps[0], rps[1])
File "/usr/lib64/python2.4/site-packages/rdiff_backup/Main.py", line 343,
in Backup
backup.Mirror_and_increment(rpin, rpout, incdir)
File "/usr/lib64/python2.4/site-packages/rdiff_backup/backup.py", line 51,
in Mirror_and_increment
DestS.patch_and_increment(dest_rpath, source_diffiter, inc_rpath)
File "/usr/lib64/python2.4/site-packages/rdiff_backup/backup.py", line 243,
in patch_and_increment
ITR(diff.index, diff)
File "/usr/lib64/python2.4/site-packages/rdiff_backup/rorpiter.py", line
281, in __call__
last_branch.fast_process(*args)
File "/usr/lib64/python2.4/site-packages/rdiff_backup/backup.py", line 692,
in fast_process
if self.patch_to_temp(mirror_rp, diff_rorp, tf):
File "/usr/lib64/python2.4/site-packages/rdiff_backup/backup.py", line 553,
in patch_to_temp
result = self.patch_snapshot_to_temp(diff_rorp, new)
File "/usr/lib64/python2.4/site-packages/rdiff_backup/backup.py", line 578,
in patch_snapshot_to_temp
rpath.copy_attribs(diff_rorp, new)
File "/usr/lib64/python2.4/site-packages/rdiff_backup/rpath.py", line 181,
in copy_attribs
if Globals.eas_write: rpout.write_ea(rpin.get_ea())
File "/usr/lib64/python2.4/site-packages/rdiff_backup/rpath.py", line 1347,
in write_ea
ea.write_to_rp(self)
File "/usr/lib64/python2.4/site-packages/rdiff_backup/eas_acls.py", line
114, in write_to_rp
rp.conn.xattr.setxattr(rp.path, name, value, 0, rp.issym())
File
"/usr/lib64/python2.4/site-packages/xattr-0.4-py2.4-linux-x86_64.egg/xattr/__init__.py",
line 188, in setxattr
return xattr(f).set(attr, value, options=options)
File
"/usr/lib64/python2.4/site-packages/xattr-0.4-py2.4-linux-x86_64.egg/xattr/__init__.py",
line 81, in set
self._set(name, value, 0, options | self.options)
File
"/usr/lib64/python2.4/site-packages/xattr-0.4-py2.4-linux-x86_64.egg/xattr/__init__.py",
line 16, in _func
return func(first, *args)
IOError: [Errno 40] Too many levels of symbolic links:
'/mnt/xen1_backup/staticweb.xyz.com/data/usr/local/include/libpng/rdiff-backup.tmp.217089'
Fatal Error: Lost connection to the remote system
_______________________________________________________
Reply to this item at:
<http://savannah.nongnu.org/bugs/?27795>
_______________________________________________
Message sent via/by Savannah
http://savannah.nongnu.org/
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Rdiff-backup-bugs] [bug #27795] Symlink to self on filesystem results in xattr related crash,
Simon Blandford <=