First Last Prev Next    No search results available      Search page      Enter new bug
Bug#: 9945
Alias:
Product:
Component:
Status: RESOLVED
Resolution: FIXED
Assigned To: Bart Lauwers (RETIRED) <blauwers@gentoo.org>
Hardware:
OS:
Version:
Priority:
Severity:
Reporter: ajacoutot <ajacoutot@lphp.org>
Add CC:
CC:
URL:
Summary:
Status Whiteboard:
Keywords:

Filename Description Type Creator Created Size Actions
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 9945 depends on: Show dependency tree
Show dependency graph
Bug 9945 blocks:
Votes: 0    Show votes for this bug    Vote for this bug

Additional Comments: (this is where you put emerge --info)







View Bug Activity   |   Format For Printing   |   XML   |   Clone This Bug


Description:   Opened: 2002-10-30 02:46 0000
When running rdiff-backup to save data created under MS Windows, there's an
error due to the name of the files:

Exception 'AF_UNIX path too long' raised of class 'socket.error':
  File "/usr/lib/python2.2/site-packages/rdiff_backup/highlevel.py", line 302,
in patch_increment_and_finalize
    ITR(index, diff_rorp, dsrp)
  File "/usr/lib/python2.2/site-packages/rdiff_backup/lazy.py", line 288, in
__call__
    self.process_w_branch(branch, args)
  File "/usr/lib/python2.2/site-packages/rdiff_backup/lazy.py", line 247, in
process_w_branch
    branch.start_process, args)
  File "/usr/lib/python2.2/site-packages/rdiff_backup/robust.py", line 254, in
check_common_error
    try: return function(*args)
  File "/usr/lib/python2.2/site-packages/rdiff_backup/increment.py", line 171,
in start_process
    else: self.init_non_dir(dsrp, diff_rorp, incpref)
  File "/usr/lib/python2.2/site-packages/rdiff_backup/increment.py", line 243,
in init_non_dir
    RORPIter.patchonce_action(None, dsrp, diff_rorp)).execute()[0]
  File "/usr/lib/python2.2/site-packages/rdiff_backup/robust.py", line 84, in
execute
    raise exc

------------ Old traceback info -----------
Exception 'AF_UNIX path too long' raised of class 'socket.error':
  File "/usr/lib/python2.2/site-packages/rdiff_backup/robust.py", line 76, in
execute
    init_val = self.init_thunk()
  File "/usr/lib/python2.2/site-packages/rdiff_backup/robust.py", line 105, in init
    init_return_vals.append(ra.init_thunk())
  File "/usr/lib/python2.2/site-packages/rdiff_backup/robust.py", line 199, in init
    else: RPath.copy(rorpin, tf)
  File "/usr/lib/python2.2/site-packages/rdiff_backup/rpath.py", line 78, in copy
    elif rpin.issock(): rpout.mksock()
  File "/usr/lib/python2.2/site-packages/rdiff_backup/rpath.py", line 607, in mksock
    self.conn.RPathStatic.make_socket_local(self)
  File "/usr/lib/python2.2/site-packages/rdiff_backup/rpath.py", line 212, in
make_socket_local
    s.bind(rpath.path)
-------------------------------------------
Writing intermediate hard link data to disk
Traceback (most recent call last):
  File "/usr/bin/rdiff-backup", line 24, in ?
    rdiff_backup.Main.Main(sys.argv[1:])
  File "/usr/lib/python2.2/site-packages/rdiff_backup/Main.py", line 229, in Main
    take_action(rps)
  File "/usr/lib/python2.2/site-packages/rdiff_backup/Main.py", line 205, in
take_action
    elif action == "backup": Backup(rps[0], rps[1])
  File "/usr/lib/python2.2/site-packages/rdiff_backup/Main.py", line 262, in Backup
    HighLevel.Mirror_and_increment(rpin, rpout, incdir, RSI)
  File "/usr/lib/python2.2/site-packages/rdiff_backup/highlevel.py", line 76, in
Mirror_and_increment
    DestS.patch_increment_and_finalize(dest_rpath, diffiter, inc_rpath)
  File "/usr/lib/python2.2/site-packages/rdiff_backup/highlevel.py", line 308,
in patch_increment_and_finalize
    except: cls.handle_last_error(finished_dsrp, finalizer, ITR)
  File "/usr/lib/python2.2/site-packages/rdiff_backup/highlevel.py", line 302,
in patch_increment_and_finalize
    ITR(index, diff_rorp, dsrp)
  File "/usr/lib/python2.2/site-packages/rdiff_backup/lazy.py", line 288, in
__call__
    self.process_w_branch(branch, args)
  File "/usr/lib/python2.2/site-packages/rdiff_backup/lazy.py", line 247, in
process_w_branch
    branch.start_process, args)
  File "/usr/lib/python2.2/site-packages/rdiff_backup/robust.py", line 254, in
check_common_error
    try: return function(*args)
  File "/usr/lib/python2.2/site-packages/rdiff_backup/increment.py", line 171,
in start_process
    else: self.init_non_dir(dsrp, diff_rorp, incpref)
  File "/usr/lib/python2.2/site-packages/rdiff_backup/increment.py", line 243,
in init_non_dir
    RORPIter.patchonce_action(None, dsrp, diff_rorp)).execute()[0]
  File "/usr/lib/python2.2/site-packages/rdiff_backup/robust.py", line 84, in
execute
    raise exc
socket.error: AF_UNIX path too long

This has been discussed on the rdisff-backup mailing list:
http://mail.freesoftware.fsf.org/pipermail/rdiff-backup-users/2002-October/000013.html

And they're proposing this patch:

--- rpath.py~	Thu Sep  5 01:12:38 2002
+++ rpath.py	Sun Sep 22 09:58:06 2002
@@ -209,7 +209,9 @@
 		"""
 		assert rpath.conn is Globals.local_connection
 		s = socket.socket(socket.AF_UNIX)
-		s.bind(rpath.path)
+		try: s.bind(rpath.path)
+		except socket.error, exc:
+			raise SkipFileException("Socket error: " + str(exc))
 
 	def gzip_open_local_read(rpath):
 		"""Return open GzipFile.  See security note directly above"""
@@ -838,6 +840,7 @@
 from lazy import *
 from selection import *
 from destructive_stepping import *
+from highlevel import *
 
 class RpathDeleter(ITRBranch):
 	"""Delete a directory.  Called by RPath.delete()"""

------- =_aaaaaaaaaa0--

Could you include it in the ebuild, so everyone could use it.

Thanks in advance for your work.

------- Comment #1 From SpanKY 2002-10-30 15:38:19 0000 -------
when you say 'proposing a patch' you mean 'theyre adding this patch' right ?

------- Comment #2 From ajacoutot 2002-10-30 16:12:16 0000 -------
It says: "Try the attached patch." on the mailing list... I think they're going
to fix this problem, at least I hope, and in the meanwhile, one has to apply the
patch.

------- Comment #3 From Bart Lauwers (RETIRED) 2002-12-17 13:48:59 0000 -------
Hi, I've added the patch and a fixed ebuild to the CVS. Please allow for some
time for your mirror to carry those and try them out. Please report any problems
here. The new ebuild will is rdiff-backup-0.10.1-r1.ebuild

First Last Prev Next    No search results available      Search page      Enter new bug