Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 9945 - rdiff-backup 'AF_UNIX path too long'
Summary: rdiff-backup 'AF_UNIX path too long'
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: High normal
Assignee: Bart Lauwers (RETIRED)
URL: http://rdiff-backup.stanford.edu/inde...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2002-10-30 02:46 UTC by ajacoutot
Modified: 2010-12-30 21:11 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description ajacoutot 2002-10-30 02:46:41 UTC
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 SpanKY gentoo-dev 2002-10-30 15:38:19 UTC
when you say 'proposing a patch' you mean 'theyre adding this patch' right ?
Comment 2 ajacoutot 2002-10-30 16:12:16 UTC
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 Bart Lauwers (RETIRED) gentoo-dev 2002-12-17 13:48:59 UTC
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
Comment 4 bobby lee 2010-12-30 21:08:41 UTC
I had the similiar problem and finally I found solution:
www.tooLongPath.com
Comment 5 bobby lee 2010-12-30 21:11:10 UTC
I had the similiar problem and finally I found solution:
<a href='www.tooLongPath.com'>www.tooLongPath.com</a>