Unable to restore from PBS and local snapshot due to items with "broken" filename

oliwel

Well-Known Member
Feb 11, 2018
41
1
48
50
Hi All,

I encountered a severe issue today - I run a PVE 9.1.2 with ZFS as local filesystem.

On top I have a LXC container, inside this container I have some files with "broken" filenames, likely due to some UTF8 problems - the origin of the files is unclear, using "ls" inside a shell shows the character as a question mark.

One backup was made using PBS (hosted by Tuxis.nl), the restore fails with:
recovering backed-up configuration from 'PBSTuxis:backup/ct/4130/2025-12-30T15:18:23Z'
Using encryption key from file descriptor..
Fingerprint: f7:....96
restoring 'PBSTuxis:backup/ct/4130/2025-12-30T15:18:23Z' now..
Using encryption key from file descriptor..
Fingerprint: f7:...96
Error: error extracting archive - encountered unexpected error during extraction: error at entry "$\xA7.pdf": failed to extract file: failed to create file "$\xa7.pdf": EILSEQ: Illegal byte sequence
TASK ERROR: unable to restore CT 4130 - command 'lxc-usernsexec -m u:0:100000:65536 -m g:0:100000:65536 -- /usr/bin/proxmox-backup-client restore '--crypt-mode=encrypt' '--keyfd=14' ct/4130/2025-12-30T15:18:23Z root.pxar /var/lib/lxc/4130/rootfs --allow-existing-dirs --repository xxx --ns xxx failed: exit code 255

I also tried this with a local backup, it ends up with the same problem
recovering backed-up configuration from 'local:backup/vzdump-lxc-4130-2025_12_31-13_43_56.tar.zst'
restoring 'local:backup/vzdump-lxc-4130-2025_12_31-13_43_56.tar.zst' now..
extracting archive '/var/lib/vz/dump/vzdump-lxc-4130-2025_12_31-13_43_56.tar.zst'
tar: ./var/xxxx/$\247.pdf: Cannot open: Invalid or incomplete multibyte or wide character
Total bytes read: 25220638720 (24GiB, 50MiB/s)
tar: Exiting with failure status due to previous errors
TASK ERROR: unable to restore CT 4130 - command 'lxc-usernsexec -m u:0:100000:65536 -m g:0:100000:65536 -- tar xpf - --zstd --totals --one-file-system -p --sparse --numeric-owner --acls --xattrs '--xattrs-include=user.*' '--xattrs-include=security.capability' '--warning=no-file-ignored' '--warning=no-xattr-write' -C /var/lib/lxc/4130/rootfs --skip-old-files --anchored --exclude './dev/*'' failed: exit code 2

If there are problems I would expect the backup to fail already and not the restore - this way the backup strategy breaks as soon as somebody creates a broken filename inside the container :(

best regards

Oliver