Problems with 0.10.0 on Windows

"Törrönen, Paul-Erik" paul-erik.torronen@cardinal.fi
Tue, 17 Sep 2002 12:20:40 +0300


Read through the mail-archive but it seems that not many are
using rdiff-backup on the Windows-platform.

Background:
The backup-server is a Windows 2000 Server with latest updates
as well as the newest Cygwin tools (as of 20020913). We have
compiled the librsync 0.9.5 as well as rdiff-backup under
Cygwin.

The problem:
When running the command:

rdiff-backup -v5 --windows-mode --force --ssh-no-compression \\
             --exclude-filelist /home/Administrator/backup/exclude.txt \\
             --no-hard-links --exclude-device-files --print-statistics \\
             root@host.domain.net::/ /cygdrive/e/host.domain.net

We get the following error (sorry about the long paste, I'm not
familiar with python and do not know what is relevant):

Executing ssh root@host.domain.net rdiff-backup --server
root@host.domain.net's password:
Reading filelist /home/Administrator/backup/exclude.txt
Sorting filelist /home/Administrator/backup/exclude.txt
Warning: exclude-device-files is not the first selector.
This may not be what you intended
Last backup dated Mon Sep 16 14:27:22 2002 was aborted, but we aren't
resuming it.
Warning: Found unexpected destination file
/cygdrive/e/host.domain.net/lib/modules/2.4.18-3/kernel/net/ipv4/netfilter/i
pt_mark.o, not processing it.
Warning: Found unexpected destination file
/cygdrive/e/host.domain.net/lib/modules/2.4.18-3/kernel/net/ipv4/netfilter/i
pt_tcpmss.o, not processing it.
Warning: Found unexpected destination file
/cygdrive/e/host.domain.net/lib/modules/2.4.18-3/kernel/net/ipv4/netfilter/i
pt_tos.o, not processing it.
Warning: Found unexpected destination file
/cygdrive/e/host.domain.net/lib/modules/2.4.18-3/kernel/net/ipv6/netfilter/i
p6t_mark.o, not processing it.
Warning: Found unexpected destination file
/cygdrive/e/host.domain.net/lib/modules/2.4.18-3smp/kernel/net/ipv4/netfilte
r/ipt_mark.o, not processing it.
Warning: Found unexpected destination file
/cygdrive/e/host.domain.net/lib/modules/2.4.18-3smp/kernel/net/ipv4/netfilte
r/ipt_tcpmss.o, not processing it.
Warning: Found unexpected destination file
/cygdrive/e/host.domain.net/lib/modules/2.4.18-3smp/kernel/net/ipv4/netfilte
r/ipt_tos.o, not processing it.
Warning: Found unexpected destination file
/cygdrive/e/host.domain.net/lib/modules/2.4.18-3smp/kernel/net/ipv6/netfilte
r/ip6t_mark.o, not processing it.
Warning: Found unexpected destination file
/cygdrive/e/host.domain.net/opt/linuxtv/kfir/driver/kfir.h, not processing
it.
Exception '[Errno 88] Function not implemented' raised of class
'exceptions.OSError':
  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 199,
in init
    else: RPath.copy(rorpin, tf)
  File "/usr/lib/python2.2/site-packages/rdiff_backup/rpath.py", line 77, in
copy
    elif rpin.isfifo(): rpout.mkfifo()
  File "/usr/lib/python2.2/site-packages/rdiff_backup/rpath.py", line 601,
in mkfifo
    self.conn.os.mkfifo(self.path)

Exception '[Errno 88] Function not implemented' raised of class
'exceptions.OSError':
  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
295, in start_process
    RORPIter.patchonce_action(None, mirror_dsrp, diff_rorp).execute()
  File "/usr/lib/python2.2/site-packages/rdiff_backup/robust.py", line 84,
in execute
    raise exc

Exception '[Errno 88] Function not implemented' raised of class
'exceptions.OSError':
  File "/usr/lib/python2.2/site-packages/rdiff_backup/highlevel.py", line
275, in patch_w_datadir_writes
    ITR(dsrp.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
295, in start_process
    RORPIter.patchonce_action(None, mirror_dsrp, diff_rorp).execute()
  File "/usr/lib/python2.2/site-packages/rdiff_backup/robust.py", line 84,
in execute
    raise exc

------------ Old traceback info -----------
Exception '[Errno 88] Function not implemented' raised of class
'exceptions.OSError':
  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 199,
in init
    else: RPath.copy(rorpin, tf)
  File "/usr/lib/python2.2/site-packages/rdiff_backup/rpath.py", line 77, in
copy
    elif rpin.isfifo(): rpout.mkfifo()
  File "/usr/lib/python2.2/site-packages/rdiff_backup/rpath.py", line 601,
in mkfifo
    self.conn.os.mkfifo(self.path)

Exception '[Errno 88] Function not implemented' raised of class
'exceptions.OSError':
  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
295, in start_process
    RORPIter.patchonce_action(None, mirror_dsrp, diff_rorp).execute()
  File "/usr/lib/python2.2/site-packages/rdiff_backup/robust.py", line 84,
in execute
    raise exc
-------------------------------------------
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 263, in
Backup
    else: HighLevel.Mirror(rpin, rpout, incdir, RSI)
  File "/usr/lib/python2.2/site-packages/rdiff_backup/highlevel.py", line
59, in Mirror
    DestS.patch_w_datadir_writes(dest_rpath, diffiter, inc_rpath)
  File "/usr/lib/python2.2/site-packages/rdiff_backup/highlevel.py", line
281, in patch_w_datadir_writes
    except: cls.handle_last_error(finished_dsrp, finalizer, ITR)
  File "/usr/lib/python2.2/site-packages/rdiff_backup/highlevel.py", line
275, in patch_w_datadir_writes
    ITR(dsrp.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
295, in start_process
    RORPIter.patchonce_action(None, mirror_dsrp, diff_rorp).execute()
  File "/usr/lib/python2.2/site-packages/rdiff_backup/robust.py", line 84,
in execute
    raise exc
OSError: [Errno 88] Function not implemented
Traceback (most recent call last):
  File "/usr/bin/rdiff-backup", line 24, in ?
    rdiff_backup.Main.Main(sys.argv[1:])
  File
"/var/tmp/rdiff-backup-root/usr/lib/python2.2/site-packages/rdiff_backup/Mai
n.py", line 229, in Main
    take_action(rps)
  File
"/var/tmp/rdiff-backup-root/usr/lib/python2.2/site-packages/rdiff_backup/Mai
n.py", line 204, in take_action
    if action == "server": PipeConnection(sys.stdin, sys.stdout).Server()
  File
"/var/tmp/rdiff-backup-root/usr/lib/python2.2/site-packages/rdiff_backup/con
nection.py", line 350, in Server
    self.get_response(-1)
  File
"/var/tmp/rdiff-backup-root/usr/lib/python2.2/site-packages/rdiff_backup/con
nection.py", line 313, in get_response
    try: req_num, object = self._get()
  File
"/var/tmp/rdiff-backup-root/usr/lib/python2.2/site-packages/rdiff_backup/con
nection.py", line 219, in _get
    raise ConnectionReadError("Truncated header string (problem "
rdiff_backup.connection.ConnectionReadError: Truncated header string
(problem probably originated remotely)

Apparently the fifo is only a dummy thing in cygwin and does not
work in reality. We also got the same result with the hardlinks
(which is handled by the --no-hard-links option).

Question:
Is it possible to either at compilation-time configure rdiff-backup
to use sockets (I assume that fifo is used to communicate between threads)
instead of fifo (perhaps combined as a windows-target option which also
excludes the mknod and hardlinks), or at runtime with perhaps
--use-sockets, to circumvent the shortcomings of the OS?

Poltsi

_________________________________________
Paul-Erik Törrönen
Cardinal Information Systems Ltd
Pursimiehenkatu 29-31 C, 00150 Helsinki, FINLAND
E-mail: paul-erik.torronen@cardinal.fi
Mobile: +358 (0) 40 703 1231
Phone: +358 (0) 424 162 4204
Fax: +358 (0) 424 162 4207
Web: <www.cardinal.fi>

____________________________________________________________________________
_____
PLEASE NOTE: The information contained in this message or any of its
attachments may be privileged and confidential
and intended for the exclusive use of the addressee. If you are not the
addressee any disclosure, reproduction,
distribution or other dissemination or use of this communication is strictly
prohibited