The officially official Devuan Forum!

You are not logged in.

#1 2022-11-21 08:58:01

l3u
Member
Registered: 2022-07-10
Posts: 63  

rdiff-backup crashes on nfs

Hi all,

I'm about to migrate a small server from Gentoo to Devuan. After solving some problems (e.g. Radicale not starting), I hit the next one:

Rdiff-backup does not work. I used rdiff-backup to automatically create backups. Running the very same backup script now fails, rdiff-backup crashes. I can't even backup a single file to my (no_root_squash) NFS share:

# cd
# mkdir foo
# touch foo/bar
# rdiff-backup foo/ /nas/backup/test/
Exception '[Errno 22] Invalid argument' raised of class '<class 'OSError'>':
  File "/usr/lib/python3/dist-packages/rdiff_backup/Main.py", line 395, in error_check_Main
    Main(arglist)
  File "/usr/lib/python3/dist-packages/rdiff_backup/Main.py", line 417, in Main
    take_action(rps)
  File "/usr/lib/python3/dist-packages/rdiff_backup/Main.py", line 353, in take_action
    Backup(rps[0], rps[1])
  File "/usr/lib/python3/dist-packages/rdiff_backup/Main.py", line 442, in Backup
    backup.Mirror(rpin, rpout)
  File "/usr/lib/python3/dist-packages/rdiff_backup/backup.py", line 39, in Mirror
    DestS.patch(dest_rpath, source_diffiter)
  File "/usr/lib/python3/dist-packages/rdiff_backup/backup.py", line 269, in patch
    ITR(diff.index, diff)
  File "/usr/lib/python3/dist-packages/rdiff_backup/rorpiter.py", line 313, in __call__
    last_branch.fast_process(*args)
  File "/usr/lib/python3/dist-packages/rdiff_backup/backup.py", line 587, in fast_process
    if self.patch_to_temp(mirror_rp, diff_rorp, tf):
  File "/usr/lib/python3/dist-packages/rdiff_backup/backup.py", line 636, in patch_to_temp
    rpath.copy_attribs(diff_rorp, new)
  File "/usr/lib/python3/dist-packages/rdiff_backup/rpath.py", line 238, in copy_attribs
    rpout.write_ea(rpin.get_ea())
  File "/usr/lib/python3/dist-packages/rdiff_backup/rpath.py", line 1664, in write_ea
    ea.write_to_rp(self)
  File "/usr/lib/python3/dist-packages/rdiff_backup/eas_acls.py", line 131, in write_to_rp
    self.clear_rp(rp)
  File "/usr/lib/python3/dist-packages/rdiff_backup/eas_acls.py", line 106, in clear_rp
    rp.conn.xattr.remove(rp.path, name, rp.issym())

Traceback (most recent call last):
  File "/usr/bin/rdiff-backup", line 32, in <module>
    rdiff_backup.Main.error_check_Main(sys.argv[1:])
  File "/usr/lib/python3/dist-packages/rdiff_backup/Main.py", line 395, in error_check_Main
    Main(arglist)
  File "/usr/lib/python3/dist-packages/rdiff_backup/Main.py", line 417, in Main
    take_action(rps)
  File "/usr/lib/python3/dist-packages/rdiff_backup/Main.py", line 353, in take_action
    Backup(rps[0], rps[1])
  File "/usr/lib/python3/dist-packages/rdiff_backup/Main.py", line 442, in Backup
    backup.Mirror(rpin, rpout)
  File "/usr/lib/python3/dist-packages/rdiff_backup/backup.py", line 39, in Mirror
    DestS.patch(dest_rpath, source_diffiter)
  File "/usr/lib/python3/dist-packages/rdiff_backup/backup.py", line 269, in patch
    ITR(diff.index, diff)
  File "/usr/lib/python3/dist-packages/rdiff_backup/rorpiter.py", line 313, in __call__
    last_branch.fast_process(*args)
  File "/usr/lib/python3/dist-packages/rdiff_backup/backup.py", line 587, in fast_process
    if self.patch_to_temp(mirror_rp, diff_rorp, tf):
  File "/usr/lib/python3/dist-packages/rdiff_backup/backup.py", line 636, in patch_to_temp
    rpath.copy_attribs(diff_rorp, new)
  File "/usr/lib/python3/dist-packages/rdiff_backup/rpath.py", line 238, in copy_attribs
    rpout.write_ea(rpin.get_ea())
  File "/usr/lib/python3/dist-packages/rdiff_backup/rpath.py", line 1664, in write_ea
    ea.write_to_rp(self)
  File "/usr/lib/python3/dist-packages/rdiff_backup/eas_acls.py", line 131, in write_to_rp
    self.clear_rp(rp)
  File "/usr/lib/python3/dist-packages/rdiff_backup/eas_acls.py", line 106, in clear_rp
    rp.conn.xattr.remove(rp.path, name, rp.issym())
OSError: [Errno 22] Invalid argument

Trying to do some rdiff-backup run from my other machines (running Gentoo and Artix) on the same share works without a problem. The even run the same version of rdiff-backup: v2.0.5.

I'm out of ideas right now … can anybody help me? Having this automated backup up and running is crucial for the migration :-(

Offline

#2 2022-11-21 11:29:54

l3u
Member
Registered: 2022-07-10
Posts: 63  

Re: rdiff-backup crashes on nfs

Using a more verbose output, one can see that the crash happens after already having copied the file, when applying the attributes:

2022-11-21 12:26:22.184387 +0100  <CLIENT-2738>  Copying attributes from (b'bar',) to /nas/backup/test/rdiff-backup.tmp.1

Offline

#3 2022-11-21 11:49:38

l3u
Member
Registered: 2022-07-10
Posts: 63  

Re: rdiff-backup crashes on nfs

This also happens using Debian. I just tried it with a new installation of Debian Bullseye, with only nfs-common and rdiff-backup installed. Same error.

Offline

#4 2022-11-21 12:01:52

ralph.ronnquist
Administrator
From: Battery Point, Tasmania, AUS
Registered: 2016-11-30
Posts: 1,259  

Re: rdiff-backup crashes on nfs

afaik nfs doesn't support xattrs.

Maybe duplicity would work for you instead?

Offline

#5 2022-11-21 12:06:36

l3u
Member
Registered: 2022-07-10
Posts: 63  

Re: rdiff-backup crashes on nfs

I don't use xattrs. Also, as said, it works when using Gentoo or Artix! So I'm pretty sure this is a Devuan/Debian specific problem …

Last edited by l3u (2022-11-21 12:27:51)

Offline

#6 2022-11-21 13:45:20

l3u
Member
Registered: 2022-07-10
Posts: 63  

Re: rdiff-backup crashes on nfs

Okay, I think I found it. Neither do I use xattrs, nor have I set the user_xattr option for any entry in my fstab.

Nevertheless, rdiff-backup seems to think that I use xattrs:

# rdiff-backup -v 5 foo/ /nas/backup/test/
...
-----------------------------------------------------------------
Detected abilities for source (read only) file system:
...
  Extended attributes                          On
...
-----------------------------------------------------------------
...
Detected abilities for destination (read/write) file system:
...
  Extended attributes                          On
...
-----------------------------------------------------------------

Explicitely disabling the use of xattrs via the --no-eas option works.

Seems to be a bug?!

Last edited by l3u (2022-11-21 13:46:54)

Offline

#7 2022-11-22 07:49:20

l3u
Member
Registered: 2022-07-10
Posts: 63  

Re: rdiff-backup crashes on nfs

Just in case anybody else runs into this and finds this post: I created a bug report about this: https://github.com/rdiff-backup/rdiff-backup/issues/789

Last edited by l3u (2022-11-22 07:49:34)

Offline

Board footer