rdiff-backup-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[rdiff-backup-users] Two rdiff-backup exceptions on FreeBSD


From: Walter Hop
Subject: [rdiff-backup-users] Two rdiff-backup exceptions on FreeBSD
Date: Wed, 29 Dec 2004 02:48:01 +0100

Hi all,

hopefully  somebody  has  some  insights on a problem I am having with
rdiff-backup between two FreeBSD machines. In any case, here goes!

I  am copying files from address@hidden to address@hidden (so I am writing
to  the  rdiff-backup  server  as  a regular user). I am receiving two
exceptions:

        /modules/vpo.ko: [Errno 45] Operation not supported
        /compat/linux/lib/libresolv-2.3.2.so: [Errno 14] Bad address

for  which  I do not have an explanation. The backup aborts after some
400-500 files have been copied; the remaining rdiff-backup.tmp file is
0 bytes resp. 32768 bytes.

The file is consistent, though when I '--exclude /modules/vpo.ko', the
first exception occurs on some other file in /modules (vinum.ko) which
previously  copied  fine.  When  I  skip the modules entirely and only
backup /usr, I get the second exception.

I  have  verified  that  I can 'cp' all these faulting files normally;
they  are  local  files, no NFS or samba shares. As far as I know they
should  not be in use. The backup runs as root. The error happens also
when excluding device files/special files.

I  haven't  found  much  on  google so it may be a long shot, but does
anybody  happen  to  have  experience  with  these  errors  or  have a
solution?  Any pointers for debugging would be appreciated as well, as
I have never programmed in python.

Cheers,
Walter Hop
Transip B.V.

---

Fun facts:

Versions (client and server):
rdiff-backup-0.12.7 Local/remote mirroring+incremental backup
librsync-0.9.6_1    Library for delta compression of streams
rsync-2.6.3_1       A network file distribution/synchronization utility
python-2.4          An interpreted object-oriented programming language

Client: FreeBSD 4.10-RELEASE-p5
Server: FreeBSD 4.9-RELEASE

Client command line:
rdiff-backup \
    --print-statistics \
    --terminal-verbosity 8 \
    --no-change-dir-inc-perms \         # also tried with this removed
    --no-hard-links \                   # also tried with this removed
    --exclude-device-files \            # also --exclude-special-files
    --remote-schema 'ssh %s rdiff-backup --server--restrict 
/home/backup/ns0/data' \
    / address@hidden::/home/backup/ns0/data
    
Server authorized_keys2 entry:
command="rdiff-backup --server --restrict /home/backup/ns0/data" ssh-dss [...]

# ls -alo /modules/vpo.ko /modules/vinum.ko 
/usr/compat/linux/lib/libresolv-2.3.2.so
-r-xr-xr-x  1 root  wheel  - 308459 Dec 12 05:21 /modules/vinum.ko*
-r-xr-xr-x  1 root  wheel  -  20598 Dec 12 05:21 /modules/vpo.ko*
-rwxr-xr-x  1 root  wheel  -  60716 Nov  5  2003 
/usr/compat/linux/lib/libresolv-2.3.2.so*

    
Excerpts  out  of  logfile  with  exceptions (the same messages are on
server in error log):

--- Exception 1

[...]
Processing changed file modules/vn.ko
Regular copying ('modules', 'vn.ko') to 
/home/backup/ns0/data/modules/rdiff-backup.tmp.475
Writing file object to /home/backup/ns0/data/modules/rdiff-backup.tmp.475
Copying attributes from ('modules', 'vn.ko') to 
/home/backup/ns0/data/modules/rdiff-backup.tmp.475
Setting time of /home/backup/ns0/data/modules/rdiff-backup.tmp.475 to 1102825273
Renaming /home/backup/ns0/data/modules/rdiff-backup.tmp.475 to 
/home/backup/ns0/data/modules/vn.ko
Processing changed file modules/vpo.ko
Regular copying ('modules', 'vpo.ko') to 
/home/backup/ns0/data/modules/rdiff-backup.tmp.476
Writing file object to /home/backup/ns0/data/modules/rdiff-backup.tmp.476
Exception '[Errno 45] Operation not supported' raised of class 
'exceptions.IOError':
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/robust.py", line 
32, in check_common_error
    try: return function(*args)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/rpath.py", line 
950, in read
    def read(self, length = -1): return self.file.read(length)

Sending back exception [Errno 45] Operation not supported of type 
exceptions.IOError:
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/connection.py", 
line 329, in answer_request
    result = apply(eval(request.function_string), argument_list)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/connection.py", 
line 475, in readfromid
    if length is None: return cls.vfiles[id].read()
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/iterfile.py", line 
285, in read
    if not self.addtobuffer(): break
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/iterfile.py", line 
315, in addtobuffer
    self.addfromfile("f")
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/iterfile.py", line 
214, in addfromfile
    [Globals.blocksize])
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/robust.py", line 
32, in check_common_error
    try: return function(*args)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/rpath.py", line 
950, in read
    def read(self, length = -1): return self.file.read(length)

Traceback (most recent call last):
Exception '[Errno 45] Operation not supported' raised of class 
'exceptions.IOError':
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/robust.py", line 
32, in check_common_error
    try: return function(*args)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/rpath.py", line 96, 
in copy
    if rpin.isreg(): copy_reg_file(rpin, rpout, compress)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/rpath.py", line 
118, in copy_reg_file
    rpout.write_from_fileobj(rpin.open("rb"), compress = compress)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/rpath.py", line 
825, in write_from_fileobj
    copyfileobj(fp, outfp)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/rpath.py", line 58, 
in copyfileobj
    inbuf = inputfp.read(blocksize)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/rpath.py", line 
950, in read
    def read(self, length = -1): return self.file.read(length)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/iterfile.py", line 
117, in read
    if not self.addtobuffer(): break
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/iterfile.py", line 
132, in addtobuffer
    type, data = self.iwf._get()
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/iterfile.py", line 
401, in _get
    if not self.buf: self.buf += self.file.read()
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/connection.py", 
line 508, in read
    return self.connection.VirtualFile.readfromid(self.id, length)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/connection.py", 
line 440, in __call__
    return apply(self.connection.reval, (self.name,) + args)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/connection.py", 
line 362, in reval
    if isinstance(result, Exception): raise result

Sending back exception [Errno 45] Operation not supported of type 
exceptions.IOError:
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/connection.py", 
line 329, in answer_request
    result = apply(eval(request.function_string), argument_list)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/backup.py", line 
210, in patch
    ITR(diff.index, diff)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/rorpiter.py", line 
279, in __call__
    last_branch.fast_process(*args)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/backup.py", line 
456, in fast_process
    if self.patch_to_temp(rp, diff_rorp, tf):
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/backup.py", line 
477, in patch_to_temp
    (diff_rorp, new)) == 0: return 0
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/robust.py", line 
32, in check_common_error
    try: return function(*args)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/rpath.py", line 96, 
in copy
    if rpin.isreg(): copy_reg_file(rpin, rpout, compress)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/rpath.py", line 
118, in copy_reg_file
    rpout.write_from_fileobj(rpin.open("rb"), compress = compress)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/rpath.py", line 
825, in write_from_fileobj
    copyfileobj(fp, outfp)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/rpath.py", line 58, 
in copyfileobj
    inbuf = inputfp.read(blocksize)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/rpath.py", line 
950, in read
    def read(self, length = -1): return self.file.read(length)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/iterfile.py", line 
117, in read
    if not self.addtobuffer(): break
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/iterfile.py", line 
132, in addtobuffer
    type, data = self.iwf._get()
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/iterfile.py", line 
401, in _get
    if not self.buf: self.buf += self.file.read()
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/connection.py", 
line 508, in read
    return self.connection.VirtualFile.readfromid(self.id, length)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/connection.py", 
line 440, in __call__
    return apply(self.connection.reval, (self.name,) + args)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/connection.py", 
line 362, in reval
    if isinstance(result, Exception): raise result
  File "/usr/local/bin/rdiff-backup", line 23, in ?
    rdiff_backup.Main.Main(sys.argv[1:])
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/Main.py", line 254, 
in Main
    take_action(rps)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/Main.py", line 226, 
in take_action
    elif action == "backup": Backup(rps[0], rps[1])
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/Main.py", line 271, 
in Backup
    backup.Mirror(rpin, rpout)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/backup.py", line 
36, in Mirror
    DestS.patch(dest_rpath, source_diffiter)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/connection.py", 
line 440, in __call__
    return apply(self.connection.reval, (self.name,) + args)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/connection.py", 
line 362, in reval
    if isinstance(result, Exception): raise result
IOError: [Errno 45] Operation not supported
Traceback (most recent call last):
  File "/usr/local/bin/rdiff-backup", line 23, in ?
    rdiff_backup.Main.Main(sys.argv[1:])
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/Main.py", line 254, 
in Main
    take_action(rps)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/Main.py", line 224, 
in take_action
    connection.PipeConnection(sys.stdin, sys.stdout).Server()
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/connection.py", 
line 347, in Server
    self.get_response(-1)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/connection.py", 
line 309, in get_response
    try: req_num, object = self._get()
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/connection.py", 
line 225, in _get
    raise ConnectionReadError("Truncated header string (problem "
rdiff_backup.connection.ConnectionReadError: Truncated header string (problem 
probably originated remotely)
Exception exceptions.TypeError: "'NoneType' object is not callable" in <bound 
method GzipFile.__del__ of <gzip open file 
'/home/backup/ns0/data/rdiff-backup-data/file_statistics.2004-12-29T01:42:44+01:00.data.gz',
 mode 'wb' at 0x81ebc80 0x82e812c>> ignored
Exception exceptions.TypeError: "'NoneType' object is not callable" in <bound 
method GzipFile.__del__ of <gzip open file 
'/home/backup/ns0/data/rdiff-backup-data/error_log.2004-12-29T01:42:44+01:00.data.gz',
 mode 'wb' at 0x81ebb60 0x82e62cc>> ignored
Exception exceptions.TypeError: "'NoneType' object is not callable" in <bound 
method GzipFile.__del__ of <gzip open file 
'/home/backup/ns0/data/rdiff-backup-data/mirror_metadata.2004-12-29T01:42:44+01:00.snapshot.gz',
 mode 'wb' at 0x81ebcc8 0x82e816c>> ignored

--- Exception 2

[...]
Processing changed file compat/linux/lib/libresolv-2.3.2.so
Regular copying ('compat', 'linux', 'lib', 'libresolv-2.3.2.so') to 
/home/backup/ns0/data/compat/linux/lib/rdiff-backup.tmp.566
Writing file object to 
/home/backup/ns0/data/compat/linux/lib/rdiff-backup.tmp.566
Exception '[Errno 14] Bad address' raised of class 'exceptions.IOError':
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/robust.py", line 
32, in check_common_error
    try: return function(*args)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/rpath.py", line 
950, in read
    def read(self, length = -1): return self.file.read(length)

Sending back exception [Errno 14] Bad address of type exceptions.IOError:
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/connection.py", 
line 329, in answer_request
    result = apply(eval(request.function_string), argument_list)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/connection.py", 
line 475, in readfromid
    if length is None: return cls.vfiles[id].read()
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/iterfile.py", line 
285, in read
    if not self.addtobuffer(): break
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/iterfile.py", line 
315, in addtobuffer
    self.addfromfile("f")
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/iterfile.py", line 
214, in addfromfile
    [Globals.blocksize])
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/robust.py", line 
32, in check_common_error
    try: return function(*args)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/rpath.py", line 
950, in read
    def read(self, length = -1): return self.file.read(length)
Traceback (most recent call last):
  File "/usr/local/bin/rdiff-backup", line 23, in ?
    rdiff_backup.Main.Main(sys.argv[1:])
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/Main.py", line 254, 
in Main
    take_action(rps)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/Main.py", line 226, 
in take_action
    elif action == "backup": Backup(rps[0], rps[1])
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/Main.py", line 271, 
in Backup
    backup.Mirror(rpin, rpout)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/backup.py", line 
36, in Mirror
    DestS.patch(dest_rpath, source_diffiter)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/connection.py", 
line 440, in __call__
    return apply(self.connection.reval, (self.name,) + args)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/connection.py", 
line 362, in reval
    if isinstance(result, Exception): raise result
IOError: [Errno 14] Bad address
Exception '[Errno 14] Bad address' raised of class 'exceptions.IOError':
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/robust.py", line 
32, in check_common_error
    try: return function(*args)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/rpath.py", line 96, 
in copy
    if rpin.isreg(): copy_reg_file(rpin, rpout, compress)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/rpath.py", line 
118, in copy_reg_file
    rpout.write_from_fileobj(rpin.open("rb"), compress = compress)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/rpath.py", line 
825, in write_from_fileobj
    copyfileobj(fp, outfp)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/rpath.py", line 58, 
in copyfileobj
    inbuf = inputfp.read(blocksize)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/rpath.py", line 
950, in read
    def read(self, length = -1): return self.file.read(length)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/iterfile.py", line 
117, in read
    if not self.addtobuffer(): break
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/iterfile.py", line 
132, in addtobuffer
    type, data = self.iwf._get()
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/iterfile.py", line 
401, in _get
    if not self.buf: self.buf += self.file.read()
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/connection.py", 
line 508, in read
    return self.connection.VirtualFile.readfromid(self.id, length)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/connection.py", 
line 440, in __call__
    return apply(self.connection.reval, (self.name,) + args)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/connection.py", 
line 362, in reval
    if isinstance(result, Exception): raise result

Sending back exception [Errno 14] Bad address of type exceptions.IOError:
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/connection.py", 
line 329, in answer_request
    result = apply(eval(request.function_string), argument_list)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/backup.py", line 
210, in patch
    ITR(diff.index, diff)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/rorpiter.py", line 
279, in __call__
    last_branch.fast_process(*args)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/backup.py", line 
456, in fast_process
    if self.patch_to_temp(rp, diff_rorp, tf):
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/backup.py", line 
477, in patch_to_temp
    (diff_rorp, new)) == 0: return 0
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/robust.py", line 
32, in check_common_error
    try: return function(*args)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/rpath.py", line 96, 
in copy
    if rpin.isreg(): copy_reg_file(rpin, rpout, compress)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/rpath.py", line 
118, in copy_reg_file
    rpout.write_from_fileobj(rpin.open("rb"), compress = compress)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/rpath.py", line 
825, in write_from_fileobj
    copyfileobj(fp, outfp)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/rpath.py", line 58, 
in copyfileobj
    inbuf = inputfp.read(blocksize)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/rpath.py", line 
950, in read
    def read(self, length = -1): return self.file.read(length)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/iterfile.py", line 
117, in read
    if not self.addtobuffer(): break
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/iterfile.py", line 
132, in addtobuffer
    type, data = self.iwf._get()
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/iterfile.py", line 
401, in _get
    if not self.buf: self.buf += self.file.read()
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/connection.py", 
line 508, in read
    return self.connection.VirtualFile.readfromid(self.id, length)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/connection.py", 
line 440, in __call__
    return apply(self.connection.reval, (self.name,) + args)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/connection.py", 
line 362, in reval
    if isinstance(result, Exception): raise result

Traceback (most recent call last):
  File "/usr/local/bin/rdiff-backup", line 23, in ?
    rdiff_backup.Main.Main(sys.argv[1:])
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/Main.py", line 254, 
in Main
    take_action(rps)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/Main.py", line 224, 
in take_action
    connection.PipeConnection(sys.stdin, sys.stdout).Server()
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/connection.py", 
line 347, in Server
    self.get_response(-1)
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/connection.py", 
line 309, in get_response
    try: req_num, object = self._get()
  File "/usr/local/lib/python2.4/site-packages/rdiff_backup/connection.py", 
line 225, in _get
    raise ConnectionReadError("Truncated header string (problem "
rdiff_backup.connection.ConnectionReadError: Truncated header string (problem 
probably originated remotely)
Exception exceptions.TypeError: "'NoneType' object is not callable" in <bound 
method GzipFile.__del__ of <gzip open file 
'/home/backup/ns0/data/rdiff-backup-data/file_statistics.2004-12-29T02:15:32+01:00.data.gz',
 mode 'wb' at 0x81ebc80 0x82e812c>> ignored
Exception exceptions.TypeError: "'NoneType' object is not callable" in <bound 
method GzipFile.__del__ of <gzip open file 
'/home/backup/ns0/data/rdiff-backup-data/error_log.2004-12-29T02:15:32+01:00.data.gz',
 mode 'wb' at 0x81ebb60 0x82e62cc>> ignored
Exception exceptions.TypeError: "'NoneType' object is not callable" in <bound 
method GzipFile.__del__ of <gzip open file 
'/home/backup/ns0/data/rdiff-backup-data/mirror_metadata.2004-12-29T02:15:32+01:00.snapshot.gz',
 mode 'wb' at 0x81ebcc8 0x82e816c>> ignored


-- 
 Walter Hop <address@hidden> | tel 0182-504424 | fax 0182-504460
 Transip B.V. | http://www.transip.nl/ | Mensen met verstand van zaken.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]