Description of problem:Backup fails Version-Release number of selected component (if applicable): 1.2.1-1.fc10 How reproducible: Very Steps to Reproduce: 1. execute rdiff-backup -b --print-statistics /home/christensene 192.168.1.10::/home/christensene/backup 2. log into the system 3. witness failure after several minutes Actual results: Previous backup seems to have failed, regressing destination now. Exception '[Errno 22] Invalid argument' raised of class '<type 'exceptions.IOError'>': File "/usr/lib/python2.5/site-packages/rdiff_backup/Main.py", line 302, in error_check_Main try: Main(arglist) File "/usr/lib/python2.5/site-packages/rdiff_backup/Main.py", line 322, in Main take_action(rps) File "/usr/lib/python2.5/site-packages/rdiff_backup/Main.py", line 278, in take_action elif action == "backup": Backup(rps[0], rps[1]) File "/usr/lib/python2.5/site-packages/rdiff_backup/Main.py", line 341, in Backup backup.Mirror_and_increment(rpin, rpout, incdir) File "/usr/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 "/usr/lib/python2.5/site-packages/rdiff_backup/connection.py", line 448, in __call__ return apply(self.connection.reval, (self.name,) + args) File "/usr/lib/python2.5/site-packages/rdiff_backup/connection.py", line 370, in reval if isinstance(result, Exception): raise result Traceback (most recent call last): File "/usr/bin/rdiff-backup", line 23, in <module> rdiff_backup.Main.error_check_Main(sys.argv[1:]) File "/usr/lib/python2.5/site-packages/rdiff_backup/Main.py", line 302, in error_check_Main try: Main(arglist) File "/usr/lib/python2.5/site-packages/rdiff_backup/Main.py", line 322, in Main take_action(rps) File "/usr/lib/python2.5/site-packages/rdiff_backup/Main.py", line 278, in take_action elif action == "backup": Backup(rps[0], rps[1]) File "/usr/lib/python2.5/site-packages/rdiff_backup/Main.py", line 341, in Backup backup.Mirror_and_increment(rpin, rpout, incdir) File "/usr/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 "/usr/lib/python2.5/site-packages/rdiff_backup/connection.py", line 448, in __call__ return apply(self.connection.reval, (self.name,) + args) File "/usr/lib/python2.5/site-packages/rdiff_backup/connection.py", line 370, in reval if isinstance(result, Exception): raise result IOError: [Errno 22] Invalid argument Fatal Error: Lost connection to the remote system Expected results: Backup completes. Additional info: The server side is running the same version of rdiff-backup but is on a Fedora 9 platform. The setup worked flawlessly until the recent upgrade. The F10 package had been out for some time but would not function with the older version on the F9 server. When the update came out for the F9 server I upgraded both. I ran the same script as before and I cannot get the system to backup.
I am seeing this same thing here on one of my machines, but haven't had time to track it down. ;( What are the filesystems types on both ends? There is a upstream thread mentioning this: http://lists.nongnu.org/archive/html/rdiff-backup-users/2008-09/msg00044.html and someone there is suggesting it's a issue with pyxattr. I'm trying a backup here without that enabled to see if that points the right way.
ok. I got my machine here to finish by doing a 'rpm -e pyxattr --nodeps'. So, it's clearly a issue in pyxattr somewhere. You can do that as a temp work around until we track down the issue? My machine here that wouldn't finish is using JFS. What is the filesystem on your machine that won't finish?
Adding the pyxattr maintainer here. I do see there is a much newer version out, but it's not clear what changes are in it from a quick glance.
I knew about new versions, but I didn't see there changes which would required to make a new package update. SRPM for a new version can be downloaded from my website: http://timeoff.wsisiz.edu.pl/rpms/pyxattr/pyxattr-0.4.0-1.src.rpm Please test it. There was a license change (GPLv2+ -> LGPLv2+) in 0.3 which has to be announced and Python Eggs was introduced into a source distribution (I have review a SPEC file).
Sadly, the newer pyxattr doesn't seem to help. Here's the backtrace I get from rdiff-backup: Processing changed file etc/cron.daily Sending back exception [Errno 22] Invalid argument of type <type 'exceptions.IOError'>: File "/usr/lib/python2.5/site-packages/rdiff_backup/connection.py", line 335, in answer_request result = apply(eval(request.function_string), argument_list) File "/usr/lib/python2.5/site-packages/rdiff_backup/backup.py", line 243, in patch_and_increment ITR(diff.index, diff) File "/usr/lib/python2.5/site-packages/rdiff_backup/rorpiter.py", line 277, in __call__ if self.finish_branches(index) is None: File "/usr/lib/python2.5/site-packages/rdiff_backup/rorpiter.py", line 229, in finish_branches to_be_finished.end_process() File "/usr/lib/python2.5/site-packages/rdiff_backup/backup.py", line 661, in end_process rpath.copy_attribs(self.dir_update, self.base_rp) File "/usr/lib/python2.5/site-packages/rdiff_backup/rpath.py", line 178, in copy_attribs if Globals.eas_write: rpout.write_ea(rpin.get_ea()) File "/usr/lib/python2.5/site-packages/rdiff_backup/rpath.py", line 1298, in write_ea ea.write_to_rp(self) File "/usr/lib/python2.5/site-packages/rdiff_backup/eas_acls.py", line 110, in write_to_rp rp.conn.xattr.setxattr(rp.path, name, value) Exception '[Errno 22] Invalid argument' raised of class '<type 'exceptions.IOError'>': File "/usr/lib/python2.5/site-packages/rdiff_backup/Main.py", line 302, in error_check_Main try: Main(arglist) File "/usr/lib/python2.5/site-packages/rdiff_backup/Main.py", line 322, in Main take_action(rps) File "/usr/lib/python2.5/site-packages/rdiff_backup/Main.py", line 278, in take_action elif action == "backup": Backup(rps[0], rps[1]) File "/usr/lib/python2.5/site-packages/rdiff_backup/Main.py", line 341, in Backup backup.Mirror_and_increment(rpin, rpout, incdir) File "/usr/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 "/usr/lib/python2.5/site-packages/rdiff_backup/connection.py", line 448, in __call__ return apply(self.connection.reval, (self.name,) + args) File "/usr/lib/python2.5/site-packages/rdiff_backup/connection.py", line 370, in reval if isinstance(result, Exception): raise result Traceback (most recent call last): File "/usr/bin/rdiff-backup", line 23, in <module> rdiff_backup.Main.error_check_Main(sys.argv[1:]) File "/usr/lib/python2.5/site-packages/rdiff_backup/Main.py", line 302, in error_check_Main try: Main(arglist) File "/usr/lib/python2.5/site-packages/rdiff_backup/Main.py", line 322, in Main take_action(rps) File "/usr/lib/python2.5/site-packages/rdiff_backup/Main.py", line 278, in take_action elif action == "backup": Backup(rps[0], rps[1]) File "/usr/lib/python2.5/site-packages/rdiff_backup/Main.py", line 341, in Backup backup.Mirror_and_increment(rpin, rpout, incdir) File "/usr/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 "/usr/lib/python2.5/site-packages/rdiff_backup/connection.py", line 448, in __call__ return apply(self.connection.reval, (self.name,) + args) File "/usr/lib/python2.5/site-packages/rdiff_backup/connection.py", line 370, in reval if isinstance(result, Exception): raise result IOError: [Errno 22] Invalid argument
After the initial question on rdiff-backup mailing list [1] there is no reply from the reported. Have you guys tried to continue that thread or started the new one? Maybe they would be able to help with that issue? [1] - http://lists.nongnu.org/archive/html/rdiff-backup-users/2008-09/msg00047.html
Yeah, sorry I meant to go post there, but didn't get around to it. ;( In the mean time 1.2.2 has come out. Here is a scratch build if anyone would like to try it and see if the problem persists. I will try and duplicate here and post upstream. http://koji.fedoraproject.org/koji/taskinfo?taskID=910145
Kevin: Is this going to be pushed to the F10 and F9 repos?
Likely, but I would like to see if it fixes this issue first. I haven't had a chance to try it yet here, but will now.
BTW, some other dist scratch builds for testing: F9: http://koji.fedoraproject.org/koji/taskinfo?taskID=914468 F8: http://koji.fedoraproject.org/koji/taskinfo?taskID=914480
and it looks like it still fails the same way with 1.2.2. Posted to upstream list to try and track this down more.
This bug appears to have been reported against 'rawhide' during the Fedora 10 development cycle. Changing version to '10'. More information and reason for this action is here: http://fedoraproject.org/wiki/BugZappers/HouseKeeping
Humm. I can't seem to reproduce this now with 1.2.2. I did move the machine to a new install that is NOT using jfs, so perhaps it was file system related? Eric: Can you please try the update I just built and scheduled to push to updates-testing? http://admin.fedoraproject.org/updates/rdiff-backup-1.2.2-1.fc9 http://admin.fedoraproject.org/updates/rdiff-backup-1.2.2-1.fc10
Just got around to installing it and testing it. Looks like it works on F10.
Cool. I guess we can close this now? Note that due to an issue noted in bug 476539 I will probibly wait and push 1.2.3 out as soon as upstream releases it. Feel free to reopen or file a new bug if you spot any further issues.