-
-
Notifications
You must be signed in to change notification settings - Fork 4.6k
Description
⚠️ This issue respects the following points: ⚠️
- This is a bug, not a question or a configuration/webserver/proxy issue.
- This issue is not already reported on Github OR Nextcloud Community Forum (I've searched it).
- Nextcloud Server is up to date. See Maintenance and Release Schedule for supported versions.
- I agree to follow Nextcloud's Code of Conduct.
Bug description
The new version 3.349.3 of the AWS SDK for PHP used by Nextcloud 32 causes a regression bug in the case of multipart uploads in an S3-compliant storage backend. The AWS SDK for PHP >=3.337.0 was released with changes to the S3 client that adopts new default integrity protections. Please refer to: aws/aws-sdk-php#3100
This change in the S3 client’s default settings causes a problem because multipart chunks are now being decorated with a checksum header that (some) S3-compliant storage backends reject as unexpected. I am not sure if other S3-compliant storage backends (MinIO, Garage Wasabi, …) behave in the same way, but uploads do no longer succeed with our Cloudian HyperStore.
I have made some modifications to the Nexcloud code in order to make the settings for the S3 client request_checksum_calculation and response_checksum_validation configurable when you encounter this issue. When you restore the previous default "request_checksum_calculation": "when_required" and "response_checksum_validation": "when_required" the issue is solved. I will provide a pull request as soon as possible.
Steps to reproduce
- Install Nextcloud 32 with an S3-compliant storage as primary backend
- Upload a file >= 100 MB via WebUI
Expected behavior
Uploading files with a size larger than the configured chunk size succeeds.
Nextcloud Server version
32
Operating system
Debian/Ubuntu
PHP engine version
PHP 8.3
Web server
Apache (supported)
Database engine version
PostgreSQL
Is this bug present after an update or on a fresh install?
Upgraded to a MAJOR version (ex. 31 to 32)
Are you using the Nextcloud Server Encryption module?
None
What user-backends are you using?
- Default user-backend (database)
- LDAP/ Active Directory
- SSO - SAML
- Other
Configuration report
{
"system": {
"instanceid": "***REMOVED SENSITIVE VALUE***",
"passwordsalt": "***REMOVED SENSITIVE VALUE***",
"secret": "***REMOVED SENSITIVE VALUE***",
"trusted_domains": [
"nextcloud.mycompany.de",
"nextcloud.lx.mycompany.de"
],
"trusted_proxies": "***REMOVED SENSITIVE VALUE***",
"proxy": "int-proxy.mycompany.de:3128",
"proxyexclude": [
"127.0.0.0\/8",
"localhost",
".mycompany.de"
],
"objectstore": {
"class": "\\OC\\Files\\ObjectStore\\S3",
"arguments": {
"bucket": "nextcloud-bucket",
"concurrency": 8,
"uploadPartSize": 268435456,
"autocreate": false,
"verify_bucket_exists": false,
"key": "***REMOVED SENSITIVE VALUE***",
"secret": "***REMOVED SENSITIVE VALUE***",
"hostname": "s3-sb.mycompany.de",
"port": 443,
"use_ssl": true,
"use_path_style": true,
"proxy": false,
}
},
"datadirectory": "***REMOVED SENSITIVE VALUE***",
"dbtype": "pgsql",
"version": "32.0.1.2",
"overwritehost": "nextcloud.mycompany.de",
"overwriteprotocol": "https",
"overwrite.cli.url": "https:\/\/nextcloud.mycompany.de",
"dbname": "***REMOVED SENSITIVE VALUE***",
"dbhost": "***REMOVED SENSITIVE VALUE***",
"dbport": "",
"dbtableprefix": "oc_",
"dbuser": "***REMOVED SENSITIVE VALUE***",
"dbpassword": "***REMOVED SENSITIVE VALUE***",
"installed": true,
"remember_login_cookie_lifetime": 1296000,
"session_lifetime": 86400,
"session_keepalive": true,
"auto_logout": true,
"mail_smtpmode": "smtp",
"mail_smtphost": "***REMOVED SENSITIVE VALUE***",
"mail_smtpport": "25",
"mail_sendmailmode": "smtp",
"mail_from_address": "***REMOVED SENSITIVE VALUE***",
"mail_domain": "***REMOVED SENSITIVE VALUE***",
"default_locale": "de_DE",
"default_phone_region": "DE",
"filelocking.enabled": true,
"htaccess.RewriteBase": "\/",
"memcache.distributed": "\\OC\\Memcache\\Redis",
"memcache.locking": "\\OC\\Memcache\\Redis",
"memcache.local": "\\OC\\Memcache\\APCu",
"redis": {
"host": "***REMOVED SENSITIVE VALUE***",
"port": 6379,
"user": "nextcloud",
"password": "***REMOVED SENSITIVE VALUE***"
},
"theme": "",
"loglevel": 0,
"maintenance": false,
"maintenance_window_start": 1,
"ldapProviderFactory": "\\OCA\\User_LDAP\\LDAPProviderFactory",
"updater.release.channel": "stable"
}
}List of activated Apps
Enabled:
- activity: 5.0.0-dev.0
- bruteforcesettings: 5.0.0-dev.0
- cloud_federation_api: 1.16.0
- comments: 1.22.0
- contactsinteraction: 1.13.1
- dashboard: 7.12.0
- dav: 1.34.2
- federatedfilesharing: 1.22.0
- federation: 1.22.0
- files: 2.4.0
- files_downloadlimit: 5.0.0-dev.0
- files_external: 1.24.0
- files_pdfviewer: 5.0.0-dev.0
- files_reminders: 1.5.0
- files_sharing: 1.24.0
- files_trashbin: 1.22.0
- files_versions: 1.25.0
- firstrunwizard: 5.0.0-dev.0
- groupfolders: 20.1.2
- impersonate: 3.0.0
- logreader: 5.0.0-dev.0
- lookup_server_connector: 1.20.0
- nextcloud_announcements: 4.0.0-dev.0
- notifications: 5.0.0-dev.0
- oauth2: 1.20.0
- password_policy: 4.0.0-dev.0
- photos: 5.0.0-dev.1
- privacy: 4.0.0-dev.0
- profile: 1.1.0
- provisioning_api: 1.22.0
- recommendations: 5.0.0-dev.0
- related_resources: 3.0.0-dev.0
- serverinfo: 4.0.0-dev.0
- settings: 1.15.1
- sharebymail: 1.22.0
- support: 4.0.0-dev.0
- systemtags: 1.22.0
- text: 6.0.1
- theming: 2.7.0
- twofactor_backupcodes: 1.21.0
- updatenotification: 1.22.0
- user_ldap: 1.23.0
- user_status: 1.12.0
- viewer: 5.0.0-dev.0
- webhook_listeners: 1.3.0
- workflowengine: 2.14.0
Disabled:
- admin_audit: 1.22.0
- app_api: 32.0.0 (installed 32.0.0)
- circles: 32.0.0 (installed 30.0.0-dev)
- encryption: 2.20.0
- files_antivirus: 6.1.0 (installed 6.1.0)
- files_retention: 3.0.0 (installed 3.0.0)
- files_rightclick: 0.15.1 (installed 1.6.0)
- previewgenerator: 5.10.0 (installed 5.10.0)
- survey_client: 4.0.0-dev.0 (installed 2.0.0)
- suspicious_login: 10.0.0-dev.0
- twofactor_nextcloud_notification: 6.0.0-dev.0
- twofactor_totp: 14.0.0
- weather_status: 1.12.0 (installed 1.1.0)Nextcloud Signing status
No errors have been found.Nextcloud Logs
{
"reqId": "mTF2WuMlr2PkbCABPJL9",
"level": 3,
"time": "2025-10-28T14:35:27+00:00",
"remoteAddr": "10.2.1.112",
"user": "58907C95-A985-4B53-9478-8D88F3E38943",
"app": "webdav",
"method": "PUT",
"url": "/remote.php/dav/uploads/58907C95-A985-4B53-9478-8D88F3E38943/web-file-upload-485f67f60a09b8bc/3",
"message": "Error executing \"UploadPart\" on \"https://s3.mycompany.de/nextcloud-bucket/urn%3Aoid%3A421782?partNumber=3&uploadId=MDA5MDMzNDgxNzYxNjYyMTI1NTY4\"; AWS HTTP error: Client error: `PUT https://s3.mycompany.de/nextcloud-bucket/urn%3Aoid%3A421782?partNumber=3&uploadId=MDA5MDMzNDgxNzYxNjYyMTI1NTY4` resulted in a `400 Bad Request` response:\n<?xml version=\"1.0\" encoding=\"UTF-8\"?><Error><Code>InvalidRequest</Code><Message>Checksum Type mismatch occurred, expect (truncated...)\n InvalidRequest (client): Checksum Type mismatch occurred, expected checksum Type: null, actual checksum Type: crc32 - <?xml version=\"1.0\" encoding=\"UTF-8\"?><Error><Code>InvalidRequest</Code><Message>Checksum Type mismatch occurred, expected checksum Type: null, actual checksum Type: crc32</Message><RequestId>17af8fa4-3ca9-1fe4-b037-b8cef600d416</RequestId><HostId>3e498cb178ec409b8114b541839808e4</HostId></Error>",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36 Edg/141.0.0.0",
"version": "32.0.1.2",
"exception": {
"Exception": "Aws\\S3\\Exception\\S3Exception",
"Message": "Error executing \"UploadPart\" on \"https://s3.mycompany.de/nextcloud-bucket/urn%3Aoid%3A421782?partNumber=3&uploadId=MDA5MDMzNDgxNzYxNjYyMTI1NTY4\"; AWS HTTP error: Client error: `PUT https://s3.mycompany.de/nextcloud-bucket/urn%3Aoid%3A421782?partNumber=3&uploadId=MDA5MDMzNDgxNzYxNjYyMTI1NTY4` resulted in a `400 Bad Request` response:\n<?xml version=\"1.0\" encoding=\"UTF-8\"?><Error><Code>InvalidRequest</Code><Message>Checksum Type mismatch occurred, expect (truncated...)\n InvalidRequest (client): Checksum Type mismatch occurred, expected checksum Type: null, actual checksum Type: crc32 - <?xml version=\"1.0\" encoding=\"UTF-8\"?><Error><Code>InvalidRequest</Code><Message>Checksum Type mismatch occurred, expected checksum Type: null, actual checksum Type: crc32</Message><RequestId>17af8fa4-3ca9-1fe4-b037-b8cef600d416</RequestId><HostId>3e498cb178ec409b8114b541839808e4</HostId></Error>",
"Code": 0,
"Trace": [
{
"file": "/var/www/html/nextcloud/3rdparty/aws/aws-sdk-php/src/WrappedHttpHandler.php",
"line": 97,
"function": "parseError",
"class": "Aws\\WrappedHttpHandler",
"type": "->"
},
{
"file": "/var/www/html/nextcloud/3rdparty/guzzlehttp/promises/src/Promise.php",
"line": 209,
"function": "Aws\\{closure}",
"class": "Aws\\WrappedHttpHandler",
"type": "->",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"file": "/var/www/html/nextcloud/3rdparty/guzzlehttp/promises/src/Promise.php",
"line": 174,
"function": "callHandler",
"class": "GuzzleHttp\\Promise\\Promise",
"type": "::"
},
{
"file": "/var/www/html/nextcloud/3rdparty/guzzlehttp/promises/src/RejectedPromise.php",
"line": 49,
"function": "GuzzleHttp\\Promise\\{closure}",
"class": "GuzzleHttp\\Promise\\Promise",
"type": "::",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"file": "/var/www/html/nextcloud/3rdparty/guzzlehttp/promises/src/TaskQueue.php",
"line": 52,
"function": "GuzzleHttp\\Promise\\{closure}",
"class": "GuzzleHttp\\Promise\\RejectedPromise",
"type": "::",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"file": "/var/www/html/nextcloud/3rdparty/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php",
"line": 167,
"function": "run",
"class": "GuzzleHttp\\Promise\\TaskQueue",
"type": "->"
},
{
"file": "/var/www/html/nextcloud/3rdparty/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php",
"line": 206,
"function": "tick",
"class": "GuzzleHttp\\Handler\\CurlMultiHandler",
"type": "->"
},
{
"file": "/var/www/html/nextcloud/3rdparty/guzzlehttp/promises/src/Promise.php",
"line": 251,
"function": "execute",
"class": "GuzzleHttp\\Handler\\CurlMultiHandler",
"type": "->"
},
{
"file": "/var/www/html/nextcloud/3rdparty/guzzlehttp/promises/src/Promise.php",
"line": 227,
"function": "invokeWaitFn",
"class": "GuzzleHttp\\Promise\\Promise",
"type": "->"
},
{
"file": "/var/www/html/nextcloud/3rdparty/guzzlehttp/promises/src/Promise.php",
"line": 272,
"function": "waitIfPending",
"class": "GuzzleHttp\\Promise\\Promise",
"type": "->"
},
{
"file": "/var/www/html/nextcloud/3rdparty/guzzlehttp/promises/src/Promise.php",
"line": 229,
"function": "invokeWaitList",
"class": "GuzzleHttp\\Promise\\Promise",
"type": "->"
},
{
"file": "/var/www/html/nextcloud/3rdparty/guzzlehttp/promises/src/Promise.php",
"line": 272,
"function": "waitIfPending",
"class": "GuzzleHttp\\Promise\\Promise",
"type": "->"
},
{
"file": "/var/www/html/nextcloud/3rdparty/guzzlehttp/promises/src/Promise.php",
"line": 229,
"function": "invokeWaitList",
"class": "GuzzleHttp\\Promise\\Promise",
"type": "->"
},
{
"file": "/var/www/html/nextcloud/3rdparty/guzzlehttp/promises/src/Promise.php",
"line": 69,
"function": "waitIfPending",
"class": "GuzzleHttp\\Promise\\Promise",
"type": "->"
},
{
"file": "/var/www/html/nextcloud/3rdparty/aws/aws-sdk-php/src/AwsClientTrait.php",
"line": 58,
"function": "wait",
"class": "GuzzleHttp\\Promise\\Promise",
"type": "->"
},
{
"file": "/var/www/html/nextcloud/3rdparty/aws/aws-sdk-php/src/AwsClientTrait.php",
"line": 86,
"function": "execute",
"class": "Aws\\AwsClient",
"type": "->"
},
{
"file": "/var/www/html/nextcloud/lib/private/Files/ObjectStore/S3.php",
"line": 46,
"function": "__call",
"class": "Aws\\AwsClient",
"type": "->"
},
{
"file": "/var/www/html/nextcloud/lib/private/Files/ObjectStore/ObjectStoreStorage.php",
"line": 761,
"function": "uploadMultipartPart",
"class": "OC\\Files\\ObjectStore\\S3",
"type": "->"
},
{
"function": "putChunkedWritePart",
"class": "OC\\Files\\ObjectStore\\ObjectStoreStorage",
"type": "->"
},
{
"file": "/var/www/html/nextcloud/lib/private/Files/Storage/Wrapper/Wrapper.php",
"line": 258,
"function": "call_user_func_array"
},
{
"function": "__call",
"class": "OC\\Files\\Storage\\Wrapper\\Wrapper",
"type": "->"
},
{
"file": "/var/www/html/nextcloud/lib/private/Files/Storage/Wrapper/Wrapper.php",
"line": 258,
"function": "call_user_func_array"
},
{
"file": "/var/www/html/nextcloud/apps/dav/lib/Upload/ChunkingV2Plugin.php",
"line": 166,
"function": "__call",
"class": "OC\\Files\\Storage\\Wrapper\\Wrapper",
"type": "->"
},
{
"file": "/var/www/html/nextcloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php",
"line": 89,
"function": "beforePut",
"class": "OCA\\DAV\\Upload\\ChunkingV2Plugin",
"type": "->"
},
{
"file": "/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php",
"line": 456,
"function": "emit",
"class": "Sabre\\DAV\\Server",
"type": "->"
},
{
"file": "/var/www/html/nextcloud/apps/dav/lib/Connector/Sabre/Server.php",
"line": 211,
"function": "invokeMethod",
"class": "Sabre\\DAV\\Server",
"type": "->"
},
{
"file": "/var/www/html/nextcloud/apps/dav/lib/Server.php",
"line": 424,
"function": "start",
"class": "OCA\\DAV\\Connector\\Sabre\\Server",
"type": "->"
},
{
"file": "/var/www/html/nextcloud/apps/dav/appinfo/v2/remote.php",
"line": 22,
"function": "exec",
"class": "OCA\\DAV\\Server",
"type": "->"
},
{
"file": "/var/www/html/nextcloud/remote.php",
"line": 151,
"args": [
"/var/www/html/nextcloud/apps/dav/appinfo/v2/remote.php"
],
"function": "require_once"
}
],
"File": "/var/www/html/nextcloud/3rdparty/aws/aws-sdk-php/src/WrappedHttpHandler.php",
"Line": 196,
"Previous": {
"Exception": "GuzzleHttp\\Exception\\ClientException",
"Message": "Client error: `PUT https://s3.mycompany.de/nextcloud-bucket/urn%3Aoid%3A421782?partNumber=3&uploadId=MDA5MDMzNDgxNzYxNjYyMTI1NTY4` resulted in a `400 Bad Request` response:\n<?xml version=\"1.0\" encoding=\"UTF-8\"?><Error><Code>InvalidRequest</Code><Message>Checksum Type mismatch occurred, expect (truncated...)\n",
"Code": 400,
"Trace": [
{
"file": "/var/www/html/nextcloud/3rdparty/guzzlehttp/guzzle/src/Middleware.php",
"line": 72,
"function": "create",
"class": "GuzzleHttp\\Exception\\RequestException",
"type": "::",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"file": "/var/www/html/nextcloud/3rdparty/guzzlehttp/promises/src/Promise.php",
"line": 209,
"function": "GuzzleHttp\\{closure}",
"class": "GuzzleHttp\\Middleware",
"type": "::",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"file": "/var/www/html/nextcloud/3rdparty/guzzlehttp/promises/src/Promise.php",
"line": 158,
"function": "callHandler",
"class": "GuzzleHttp\\Promise\\Promise",
"type": "::"
},
{
"file": "/var/www/html/nextcloud/3rdparty/guzzlehttp/promises/src/TaskQueue.php",
"line": 52,
"function": "GuzzleHttp\\Promise\\{closure}",
"class": "GuzzleHttp\\Promise\\Promise",
"type": "::",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"file": "/var/www/html/nextcloud/3rdparty/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php",
"line": 167,
"function": "run",
"class": "GuzzleHttp\\Promise\\TaskQueue",
"type": "->"
},
{
"file": "/var/www/html/nextcloud/3rdparty/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php",
"line": 206,
"function": "tick",
"class": "GuzzleHttp\\Handler\\CurlMultiHandler",
"type": "->"
},
{
"file": "/var/www/html/nextcloud/3rdparty/guzzlehttp/promises/src/Promise.php",
"line": 251,
"function": "execute",
"class": "GuzzleHttp\\Handler\\CurlMultiHandler",
"type": "->"
},
{
"file": "/var/www/html/nextcloud/3rdparty/guzzlehttp/promises/src/Promise.php",
"line": 227,
"function": "invokeWaitFn",
"class": "GuzzleHttp\\Promise\\Promise",
"type": "->"
},
{
"file": "/var/www/html/nextcloud/3rdparty/guzzlehttp/promises/src/Promise.php",
"line": 272,
"function": "waitIfPending",
"class": "GuzzleHttp\\Promise\\Promise",
"type": "->"
},
{
"file": "/var/www/html/nextcloud/3rdparty/guzzlehttp/promises/src/Promise.php",
"line": 229,
"function": "invokeWaitList",
"class": "GuzzleHttp\\Promise\\Promise",
"type": "->"
},
{
"file": "/var/www/html/nextcloud/3rdparty/guzzlehttp/promises/src/Promise.php",
"line": 272,
"function": "waitIfPending",
"class": "GuzzleHttp\\Promise\\Promise",
"type": "->"
},
{
"file": "/var/www/html/nextcloud/3rdparty/guzzlehttp/promises/src/Promise.php",
"line": 229,
"function": "invokeWaitList",
"class": "GuzzleHttp\\Promise\\Promise",
"type": "->"
},
{
"file": "/var/www/html/nextcloud/3rdparty/guzzlehttp/promises/src/Promise.php",
"line": 69,
"function": "waitIfPending",
"class": "GuzzleHttp\\Promise\\Promise",
"type": "->"
},
{
"file": "/var/www/html/nextcloud/3rdparty/aws/aws-sdk-php/src/AwsClientTrait.php",
"line": 58,
"function": "wait",
"class": "GuzzleHttp\\Promise\\Promise",
"type": "->"
},
{
"file": "/var/www/html/nextcloud/3rdparty/aws/aws-sdk-php/src/AwsClientTrait.php",
"line": 86,
"function": "execute",
"class": "Aws\\AwsClient",
"type": "->"
},
{
"file": "/var/www/html/nextcloud/lib/private/Files/ObjectStore/S3.php",
"line": 46,
"function": "__call",
"class": "Aws\\AwsClient",
"type": "->"
},
{
"file": "/var/www/html/nextcloud/lib/private/Files/ObjectStore/ObjectStoreStorage.php",
"line": 761,
"function": "uploadMultipartPart",
"class": "OC\\Files\\ObjectStore\\S3",
"type": "->"
},
{
"function": "putChunkedWritePart",
"class": "OC\\Files\\ObjectStore\\ObjectStoreStorage",
"type": "->"
},
{
"file": "/var/www/html/nextcloud/lib/private/Files/Storage/Wrapper/Wrapper.php",
"line": 258,
"function": "call_user_func_array"
},
{
"function": "__call",
"class": "OC\\Files\\Storage\\Wrapper\\Wrapper",
"type": "->"
},
{
"file": "/var/www/html/nextcloud/lib/private/Files/Storage/Wrapper/Wrapper.php",
"line": 258,
"function": "call_user_func_array"
},
{
"file": "/var/www/html/nextcloud/apps/dav/lib/Upload/ChunkingV2Plugin.php",
"line": 166,
"function": "__call",
"class": "OC\\Files\\Storage\\Wrapper\\Wrapper",
"type": "->"
},
{
"file": "/var/www/html/nextcloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php",
"line": 89,
"function": "beforePut",
"class": "OCA\\DAV\\Upload\\ChunkingV2Plugin",
"type": "->"
},
{
"file": "/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php",
"line": 456,
"function": "emit",
"class": "Sabre\\DAV\\Server",
"type": "->"
},
{
"file": "/var/www/html/nextcloud/apps/dav/lib/Connector/Sabre/Server.php",
"line": 211,
"function": "invokeMethod",
"class": "Sabre\\DAV\\Server",
"type": "->"
},
{
"file": "/var/www/html/nextcloud/apps/dav/lib/Server.php",
"line": 424,
"function": "start",
"class": "OCA\\DAV\\Connector\\Sabre\\Server",
"type": "->"
},
{
"file": "/var/www/html/nextcloud/apps/dav/appinfo/v2/remote.php",
"line": 22,
"function": "exec",
"class": "OCA\\DAV\\Server",
"type": "->"
},
{
"file": "/var/www/html/nextcloud/remote.php",
"line": 151,
"args": [
"/var/www/html/nextcloud/apps/dav/appinfo/v2/remote.php"
],
"function": "require_once"
}
],
"File": "/var/www/html/nextcloud/3rdparty/guzzlehttp/guzzle/src/Exception/RequestException.php",
"Line": 111
},
"message": "Error executing \"UploadPart\" on \"https://s3.mycompany.de/nextcloud-bucket/urn%3Aoid%3A421782?partNumber=3&uploadId=MDA5MDMzNDgxNzYxNjYyMTI1NTY4\"; AWS HTTP error: Client error: `PUT https://s3.mycompany.de/nextcloud-bucket/urn%3Aoid%3A421782?partNumber=3&uploadId=MDA5MDMzNDgxNzYxNjYyMTI1NTY4` resulted in a `400 Bad Request` response:\n<?xml version=\"1.0\" encoding=\"UTF-8\"?><Error><Code>InvalidRequest</Code><Message>Checksum Type mismatch occurred, expect (truncated...)\n InvalidRequest (client): Checksum Type mismatch occurred, expected checksum Type: null, actual checksum Type: crc32 - <?xml version=\"1.0\" encoding=\"UTF-8\"?><Error><Code>InvalidRequest</Code><Message>Checksum Type mismatch occurred, expected checksum Type: null, actual checksum Type: crc32</Message><RequestId>17af8fa4-3ca9-1fe4-b037-b8cef600d416</RequestId><HostId>3e498cb178ec409b8114b541839808e4</HostId></Error>",
"exception": {},
"CustomMessage": "Error executing \"UploadPart\" on \"https://s3.mycompany.de/nextcloud-bucket/urn%3Aoid%3A421782?partNumber=3&uploadId=MDA5MDMzNDgxNzYxNjYyMTI1NTY4\"; AWS HTTP error: Client error: `PUT https://s3.mycompany.de/nextcloud-bucket/urn%3Aoid%3A421782?partNumber=3&uploadId=MDA5MDMzNDgxNzYxNjYyMTI1NTY4` resulted in a `400 Bad Request` response:\n<?xml version=\"1.0\" encoding=\"UTF-8\"?><Error><Code>InvalidRequest</Code><Message>Checksum Type mismatch occurred, expect (truncated...)\n InvalidRequest (client): Checksum Type mismatch occurred, expected checksum Type: null, actual checksum Type: crc32 - <?xml version=\"1.0\" encoding=\"UTF-8\"?><Error><Code>InvalidRequest</Code><Message>Checksum Type mismatch occurred, expected checksum Type: null, actual checksum Type: crc32</Message><RequestId>17af8fa4-3ca9-1fe4-b037-b8cef600d416</RequestId><HostId>3e498cb178ec409b8114b541839808e4</HostId></Error>"
}
}Additional info
No response