Comment 18 for bug 1728548

Revision history for this message
Vadim Zeitlin (vz-ubuntu) wrote :

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 <module>
    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...).