Package: duplicity
Version: 0.8.22-1+b3
Severity: normal
X-Debbugs-Cc: timon.degr...@hypernode.com

Dear Maintainer,

   * What led up to the situation?
   We create write offsite backups to s3 with duply/duplicity. We run
   duplicity with the following params (from duply):
   --s3-european-buckets --s3-use-new-style --s3-multipart-chunk-size=25
   --s3-use-multiprocessing --s3-use-ia
   * What exactly did you do (or not do) that was effective (or
     ineffective)?
     When we run the duply backup, we get to see the error:
        During handling of the above exception, another exception occurred:

        Traceback (most recent call last):
          File 
"/usr/lib/python3/dist-packages/duplicity/backends/_boto_multi.py", line 223, 
in _upload
            mp.upload_part_from_file(fd, offset + 1, cb=_upload_callback,
          File "/usr/lib/python3/dist-packages/boto/s3/multipart.py", line 257, 
in upload_part_from_file
            key.set_contents_from_file(fp, headers=headers, replace=replace,
          File "/usr/lib/python3/dist-packages/boto/s3/key.py", line 1307, in 
set_contents_from_file
            self.send_file(fp, headers=headers, cb=cb, num_cb=num_cb,
          File "/usr/lib/python3/dist-packages/boto/s3/key.py", line 760, in 
send_file
            self._send_file_internal(fp, headers=headers, cb=cb, num_cb=num_cb,
          File "/usr/lib/python3/dist-packages/boto/s3/key.py", line 932, in 
_send_file_internal
            self.content_type = mimetypes.guess_type(self.path)[0]
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
          File "/usr/lib/python3.11/mimetypes.py", line 307, in guess_type
            return _db.guess_type(url, strict)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^
          File "/usr/lib/python3.11/mimetypes.py", line 123, in guess_type
            scheme, url = urllib.parse._splittype(url)
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
          File "/usr/lib/python3.11/urllib/parse.py", line 1038, in _splittype
            match = _typeprog.match(url)
                    ^^^^^^^^^^^^^^^^^^^^
        TypeError: cannot use a string pattern on a bytes-like object
        Giving up after 5 attempts. BackendException: Multipart upload failed. 
Aborted.
   * What outcome did you expect instead?
   Duplicity to finish the backup and upload to S3, not crash

For your info/convenience, we repackaged bookworm duplicity in our own repo 
with this patch applied:
https://gitlab.com/duplicity/duplicity/-/merge_requests/99

Our repackaged duplicity: 
https://apt.hypernode.com/pool/hypernode/d/duplicity/duplicity_0.8.22-1%2Bhypernode1_amd64.deb

Upstream issue: https://gitlab.com/duplicity/duplicity/-/issues/126
Ubuntu also has related issue: 
https://bugs.launchpad.net/ubuntu/+source/duplicity/+bug/1908971


-- System Information:
Debian Release: 12.5
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 6.1.0-18-amd64 (SMP w/2 CPU threads; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages duplicity depends on:
ii  gnupg              2.2.40-1.1
ii  libc6              2.36-9+deb12u4
ii  librsync2          2.3.2-1+b1
ii  python3            3.11.2-1+b1
ii  python3-fasteners  0.17.3-2
ii  python3-future     0.18.2-6
ii  python3-lockfile   1:0.12.2-2.2
ii  python3.11         3.11.2-6

Versions of packages duplicity recommends:
ii  python3-oauthlib  3.2.2-1
ii  python3-paramiko  2.12.0-2
ii  python3-pexpect   4.8.0-4
ii  python3-urllib3   1.26.12-1
ii  rsync             3.2.7-1

Versions of packages duplicity suggests:
pn  lftp                 <none>
pn  ncftp                <none>
pn  par2                 <none>
pn  python3-boto         <none>
ii  python3-pip          23.0.1+dfsg-1
pn  python3-swiftclient  <none>
pn  tahoe-lafs           <none>

-- no debconf information

Reply via email to