Just another failure report with Duplicity 0.7.18.2 included in Debian Buster: # PASSPHRASE='xxx' /usr/bin/duplicity -v 6 --archive-dir /nobackup/duplicity/cache --name mail --full-if-older-than 3M /home/zeitlin/mail scp://xxx@xxx/xxx Using archive dir: /nobackup/duplicity/cache/mail Using backup name: mail Import of duplicity.backends.acdclibackend Succeeded Import of duplicity.backends.azurebackend Succeeded Import of duplicity.backends.b2backend Succeeded Import of duplicity.backends.botobackend Succeeded Import of duplicity.backends.cfbackend Succeeded Import of duplicity.backends.dpbxbackend Failed: No module named dropbox Import of duplicity.backends.gdocsbackend Succeeded Import of duplicity.backends.giobackend Succeeded Import of duplicity.backends.hsibackend Succeeded Import of duplicity.backends.hubicbackend Succeeded Import of duplicity.backends.imapbackend Succeeded Import of duplicity.backends.lftpbackend Succeeded Import of duplicity.backends.localbackend Succeeded Import of duplicity.backends.mediafirebackend Succeeded Import of duplicity.backends.megabackend Succeeded Import of duplicity.backends.multibackend Succeeded Import of duplicity.backends.ncftpbackend Succeeded Import of duplicity.backends.onedrivebackend Succeeded Import of duplicity.backends.par2backend Succeeded Import of duplicity.backends.pydrivebackend Succeeded Import of duplicity.backends.rsyncbackend Succeeded Import of duplicity.backends.ssh_paramiko_backend Succeeded Import of duplicity.backends.ssh_pexpect_backend Succeeded Import of duplicity.backends.swiftbackend Succeeded Import of duplicity.backends.sxbackend Succeeded Import of duplicity.backends.tahoebackend Succeeded Import of duplicity.backends.webdavbackend Succeeded ssh: Connected (version 2.0, client OpenSSH_7.6) /usr/lib/python2.7/dist-packages/paramiko/kex_ecdh_nist.py:39: CryptographyDeprecationWarning: encode_point has been deprecated on EllipticCurvePublicNumbers and will be removed in a future version. Please use EllipticCurvePublicKey.public_bytes to obtain both compressed and uncompressed point encoding. m.add_string(self.Q_C.public_numbers().encode_point()) /usr/lib/python2.7/dist-packages/paramiko/kex_ecdh_nist.py:96: CryptographyDeprecationWarning: Support for unsafe construction of public numbers from encoded data will be removed in a future version. Please use EllipticCurvePublicKey.from_encoded_point self.curve, Q_S_bytes /usr/lib/python2.7/dist-packages/paramiko/kex_ecdh_nist.py:111: CryptographyDeprecationWarning: encode_point has been deprecated on EllipticCurvePublicNumbers and will be removed in a future version. Please use EllipticCurvePublicKey.public_bytes to obtain both compressed and uncompressed point encoding. hm.add_string(self.Q_C.public_numbers().encode_point()) /usr/lib/python2.7/dist-packages/cryptography/hazmat/backends/openssl/ciphers.py:114: UserWarning: implicit cast from 'char *' to a different pointer type: will be forbidden in the future (check that the types are as you expect; use an explicit ffi.cast() if they are correct) operation /usr/lib/python2.7/dist-packages/cryptography/hazmat/backends/openssl/ciphers.py:140: UserWarning: implicit cast from 'char *' to a different pointer type: will be forbidden in the future (check that the types are as you expect; use an explicit ffi.cast() if they are correct) self._backend._ffi.from_buffer(data), len(data) ssh: Authentication (publickey) successful! Main action: inc ================================================================================ duplicity 0.7.18.2 (October 17, 2018) Args: /usr/bin/duplicity -v 6 --archive-dir /nobackup/duplicity/cache --name mail --full-if-older-than 3M /home/zeitlin/mail scp://xxx@xxx/xxx Linux sunset 4.6.0-0.bpo.1-amd64 #1 SMP Debian 4.6.4-1~bpo8+1 (2016-08-11) x86_64 /usr/bin/python2 2.7.16 (default, Apr 6 2019, 01:42:57) [GCC 8.3.0] ================================================================================ Using temporary directory /tmp/duplicity-d9k8i4-tempdir Temp has 10533842944 available, backup will use approx 272629760. Synchronizing remote metadata to local cache... Copying duplicity-inc.20101211T045501Z.to.20101212T045501Z.manifest.gpg to local cache. GPG error detail: Traceback (innermost last): File "/usr/bin/duplicity", line 1567, in with_tempdir(main) File "/usr/bin/duplicity", line 1553, in with_tempdir fn() File "/usr/bin/duplicity", line 1405, in main do_backup(action) File "/usr/bin/duplicity", line 1426, in do_backup sync_archive() File "/usr/bin/duplicity", line 1216, in sync_archive copy_to_local(fn) File "/usr/bin/duplicity", line 1162, in copy_to_local copy_raw(src_iter, tdp.name) File "/usr/bin/duplicity", line 1080, in copy_raw data = src_iter.next().data File "/usr/bin/duplicity", line 1144, in next self.fileobj.close() File "/usr/lib/python2.7/dist-packages/duplicity/dup_temp.py", line 227, in close assert not self.fileobj.close() File "/usr/lib/python2.7/dist-packages/duplicity/gpg.py", line 305, in close self.gpg_failed() File "/usr/lib/python2.7/dist-packages/duplicity/gpg.py", line 272, in gpg_failed raise GPGError(msg) GPGError: GPG Failed, see log below: ===== Begin GnuPG log ===== gpg: decrypt_message failed: Unknown system error ===== End GnuPG log ===== GPGError: GPG Failed, see log below: ===== Begin GnuPG log ===== gpg: decrypt_message failed: Unknown system error ===== End GnuPG log ===== and it exits with code 31. I have no idea about what's going on here, but I could only get past this problem by removing all remote backup files (granted, I didn't even realize backups from 2010 were still on the remote server, so this bug was useful to finally make me do some cleanup, but it would be nice if it went about it in a bit more user-friendly way...).