I've started getting this error - I think it is new with 6.2.0 but not 100% sure. I get it if I press Ctrl-C on a foreground mount command (which I don't do that often, which is why I'm not 100% if this is new or not).
I found I also get it when running other commands e.g.
root@2be1867b8348:/# s3qladm shrink-db $BUCKET_URL
Using 4 upload threads.
Using cached metadata.
Uploading filesystem superblock...
Superblock upload complete.
Database size reduced from 136 KiB to 136 KiB (0.0%)
Uploading modified metadata blocks...
Uploaded 3/3 metadata blocks (100%)
Metadata upload complete.
Calculating metadata checksum...
Checksum calculation complete.
Uploading filesystem superblock...
Superblock upload complete.
Expiring old metadata backups...
Removing 18 obsolete metadata blocks
ERROR: Uncaught top-level exception:
Traceback (most recent call last):
File "/opt/s3ql/bin/s3qladm", line 8, in <module>
sys.exit(main())
~~~~^^
File "/opt/s3ql/lib/python3.13/site-packages/s3ql/adm.py", line 144, in main
trio.run(main_async, options)
~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
File "/opt/s3ql/lib/python3.13/site-packages/trio/_core/_run.py", line 2552, in run
raise runner.main_task_outcome.error
File "/opt/s3ql/lib/python3.13/site-packages/s3ql/adm.py", line 170, in main_async
await shrink_db(pool, options)
File "/opt/s3ql/lib/python3.13/site-packages/s3ql/adm.py", line 337, in shrink_db
await expire_objects(pool)
File "/opt/s3ql/lib/python3.13/site-packages/s3ql/database.py", line 1108, in expire_objects
await pool.delete_multi(to_remove, log_progress=True)
File "/opt/s3ql/lib/python3.13/site-packages/s3ql/backends/pool.py", line 100, in delete_multi
await backend.delete_multi(batch)
File "/opt/s3ql/lib/python3.13/site-packages/s3ql/backends/comprenc.py", line 482, in delete_multi
return await self.backend.delete_multi(keys)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/s3ql/lib/python3.13/site-packages/s3ql/backends/s3.py", line 96, in delete_multi
await self._delete_multi(tmp)
File "/opt/s3ql/lib/python3.13/site-packages/s3ql/backends/common.py", line 144, in wrapped
return await method(*a, **kw)
^^^^^^^^^^^^^^^^^^^^^^
File "/opt/s3ql/lib/python3.13/site-packages/s3ql/backends/s3.py", line 126, in _delete_multi
resp = await self._do_request('POST', '/', subres='delete', body=[body], headers=headers)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/s3ql/lib/python3.13/site-packages/s3ql/backends/s3c.py", line 534, in _do_request
await self._parse_error_response(resp)
File "/opt/s3ql/lib/python3.13/site-packages/s3ql/backends/s3c.py", line 572, in _parse_error_response
raise get_S3Error(tree.findtext('Code'), tree.findtext('Message'), resp.headers)
s3ql.backends.s3c.S3Error: InvalidRequest: Missing required header for this request: Content-MD5 OR x-amz-checksum-*