nextcloud / server

☁️ Nextcloud server, a safe home for all your data
https://nextcloud.com
GNU Affero General Public License v3.0
26.78k stars 4k forks source link

[Bug]: Upload fail for file bigger than 100MB on ObjectStorage #35513

Closed Trevelian closed 11 months ago

Trevelian commented 1 year ago

⚠️ This issue respects the following points: ⚠️

Bug description

Uploading file bigger than 100MB fail with this error : Screenshot from 2022-11-30 10-19-15

The problem is with S3 ObjectStorage as primary storage If I try to upload on the local filesystem of the server using the 'external storage' I don't have any problem.

This bug started with nextcloud23 but I'm not 100% sure.

I try the Nextcloud docker image with my S3 storage and its working for big file. So I suspect that its related to the combination of objectstorage + php-fpm

When I make the upload I see on the server filesystem the file growing on the /tmp folder. When the file arrive at 100MB I see a second file coming and growing fast to be the same size as the first and then they grow together until the upload fail.

failupload.log

Steps to reproduce

  1. Login and upload a big file (>100MB)
  2. Upload fail

Expected behavior

Upload success

Installation method

Community Manual installation with Archive

Operating system

RHEL/CentOS

PHP engine version

PHP 8.0

Web server

Apache (supported)

Database engine version

MariaDB

Is this bug present after an update or on a fresh install?

Updated to a major version (ex. 22.2.3 to 23.0.1)

Are you using the Nextcloud Server Encryption module?

Encryption is Disabled

What user-backends are you using?

Configuration report

{
    "system": {
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "cloud.redacted"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "mysql",
        "allow_user_to_change_display_name": false,
        "forcessl": true,
        "version": "25.0.1.1",
        "default_language": "fr",
        "force_language": "fr",
        "default_locale": "fr_BE",
        "force_locale": "fr_BE",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "upgrade.disable-web": true,
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "proxy": "proxy.redacted:7878",
        "overwritewebroot": "\/",
        "overwriteprotocol": "https",
        "overwritehost": "cloud.redacted",
        "overwrite.cli.url": "https:\/\/cloud.redacted\/",
        "trusted_proxies": "***REMOVED SENSITIVE VALUE***",
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "trashbin_retention_obligation": "auto, 30",
        "lost_password_link": "https:\/\/intranet.redacted\/",
        "updatechecker": false,
        "appstoreenabled": true,
        "dbtableprefix": "oc_",
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "logtimezone": "Europe\/Brussels",
        "logfile": "\/var\/log\/nextcloud\/nextcloud.log",
        "default_phone_region": "BE",
        "installed": true,
        "skeletondirectory": "",
        "log_authfailip": true,
        "forceSSLforSubdomains": true,
        "filesystem_check_changes": 0,
        "ldapIgnoreNamingRules": false,
        "theme": "",
        "loglevel": 2,
        "maintenance": false,
        "htaccess.RewriteBase": "\/",
        "ldapProviderFactory": "\\OCA\\User_LDAP\\LDAPProviderFactory",
        "memcache.local": "\\OC\\Memcache\\APCu",
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "port": 0,
            "dbindex": 0,
            "timeout": 1.5
        },
        "data-fingerprint": "bc3e31f9372424d9e5ae4e8f0ad826a0",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpmode": "smtp",
        "objectstore": {
            "class": "\\OC\\Files\\ObjectStore\\S3",
            "arguments": {
                "bucket": "nextcloud",
                "key": "***REMOVED SENSITIVE VALUE***",
                "secret": "***REMOVED SENSITIVE VALUE***",
                "hostname": "sg.redacted",
                "port": 443,
                "use_ssl": true,
                "region": "us-east-1",
                "legacy_auth": false,
                "autocreate": false,
                "use_path_style": false
            }
        },
        "app_install_overwrite": [
            "passman",
            "files_versions_s3",
            "user_saml"
        ],
        "mysql.utf8mb4": true,
        "simpleSignUpLink.shown": false
    }
}

List of activated Apps

Enabled:
  - activity: 2.17.0
  - cloud_federation_api: 1.8.0
  - comments: 1.15.0
  - contactsinteraction: 1.6.0
  - dav: 1.24.0
  - federatedfilesharing: 1.15.0
  - files: 1.20.1
  - files_external: 1.17.0
  - files_pdfviewer: 2.6.0
  - files_rightclick: 1.4.0
  - files_sharing: 1.17.0
  - files_trashbin: 1.15.0
  - files_versions: 1.18.0
  - files_versions_s3: 0.1.9
  - firstrunwizard: 2.14.0
  - logreader: 2.10.0
  - lookup_server_connector: 1.13.0
  - notifications: 2.13.1
  - oauth2: 1.13.0
  - passman: 2.4.2
  - photos: 2.0.0
  - provisioning_api: 1.15.0
  - related_resources: 1.0.3
  - serverinfo: 1.15.0
  - settings: 1.7.0
  - systemtags: 1.15.0
  - text: 3.6.0
  - theming: 2.0.1
  - twofactor_backupcodes: 1.14.0
  - user_ldap: 1.15.0
  - user_saml: 5.0.3
  - viewer: 1.9.0
  - workflowengine: 2.7.0
Disabled:
  - admin_audit: 1.1.0
  - bruteforcesettings: 1.0.2
  - circles: 22.1.0
  - dashboard: 7.0.0
  - encryption
  - federation: 0.0.4
  - nextcloud_announcements: 1.3.0
  - password_policy: 1.1.0
  - privacy: 1.4.0
  - recommendations: 0.4.0
  - sharebymail: 1.0.1
  - support: 1.0.0
  - survey_client: 0.1.5
  - suspicious_login
  - twofactor_totp: 1.4.1
  - updatenotification: 0.1.0
  - user_status: 1.0.1
  - weather_status: 1.0.0

Nextcloud Signing status

No errors have been found.

Nextcloud Logs

{"reqId":"Y4cmaSkxVeEwvvwRjKR5WAAAAA8","level":3,"time":"2022-11-30T10:46:38+01:00","remoteAddr":"10.108.64.167","user":"trevelian","app":"objectstore","method":"PUT","url":"/remote.php/webdav/test/VMware-ESXi-7.0.3-19482537-HPE-703.0.0.10.9.0.11-Apr2022.iso","message":"Could not create object urn:oid:2013169 for files/test/VMware-ESXi-7.0.3-19482537-HPE-703.0.0.10.9.0.11-Apr2022.iso","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0","version":"25.0.1.1","exception":{"Exception":"Aws\\S3\\Exception\\S3Exception","Message":"Error executing \"AbortMultipartUpload\" on \"https://nextcloud.sg.redacted/urn%3Aoid%3A2013169?uploadId=z9-0ks0mCYkhnVjIb3pPmzQ6ee2RRaUKOfd2ODeDF_vrQ2HdW0lxLQTyHw\"; AWS HTTP error: Client error: `DELETE https://nextcloud.sg.redacted/urn%3Aoid%3A2013169?uploadId=z9-0ks0mCYkhnVjIb3pPmzQ6ee2RRaUKOfd2ODeDF_vrQ2HdW0lxLQTyHw` resulted in a `404 Not Found` response:\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>NoSuchUpload</Code><Message>The specified multipart upload does not  (truncated...)\n NoSuchUpload (client): The specified multipart upload does not exist. The upload ID might be invalid, or the multipart upload might have been aborted or completed. - <?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>NoSuchUpload</Code><Message>The specified multipart upload does not exist. The upload ID might be invalid, or the multipart upload might have been aborted or completed.</Message><Resource>/urn%3Aoid%3A2013169?uploadId=z9-0ks0mCYkhnVjIb3pPmzQ6ee2RRaUKOfd2ODeDF_vrQ2HdW0lxLQTyHw</Resource><RequestId>1669801598161501</RequestId></Error>","Code":0,"Trace":[{"file":"/var/www/cloud/3rdparty/aws/aws-sdk-php/src/WrappedHttpHandler.php","line":97,"function":"parseError","class":"Aws\\WrappedHttpHandler","type":"->"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":204,"function":"Aws\\{closure}","class":"Aws\\WrappedHttpHandler","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":169,"function":"callHandler","class":"GuzzleHttp\\Promise\\Promise","type":"::"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/RejectedPromise.php","line":42,"function":"GuzzleHttp\\Promise\\{closure}","class":"GuzzleHttp\\Promise\\Promise","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/TaskQueue.php","line":48,"function":"GuzzleHttp\\Promise\\{closure}","class":"GuzzleHttp\\Promise\\RejectedPromise","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/cloud/3rdparty/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php","line":158,"function":"run","class":"GuzzleHttp\\Promise\\TaskQueue","type":"->"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php","line":183,"function":"tick","class":"GuzzleHttp\\Handler\\CurlMultiHandler","type":"->"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":248,"function":"execute","class":"GuzzleHttp\\Handler\\CurlMultiHandler","type":"->"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":224,"function":"invokeWaitFn","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":269,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":226,"function":"invokeWaitList","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":269,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":226,"function":"invokeWaitList","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":62,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/var/www/cloud/3rdparty/aws/aws-sdk-php/src/AwsClientTrait.php","line":58,"function":"wait","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/var/www/cloud/3rdparty/aws/aws-sdk-php/src/AwsClientTrait.php","line":86,"function":"execute","class":"Aws\\AwsClient","type":"->"},{"file":"/var/www/cloud/lib/private/Files/ObjectStore/S3ObjectTrait.php","line":135,"function":"__call","class":"Aws\\AwsClient","type":"->"},{"file":"/var/www/cloud/lib/private/Files/ObjectStore/S3ObjectTrait.php","line":162,"function":"writeMultiPart","class":"OC\\Files\\ObjectStore\\S3","type":"->"},{"file":"/var/www/cloud/lib/private/Files/ObjectStore/ObjectStoreStorage.php","line":491,"function":"writeObject","class":"OC\\Files\\ObjectStore\\S3","type":"->"},{"file":"/var/www/cloud/lib/private/Files/Storage/Wrapper/Wrapper.php","line":647,"function":"writeStream","class":"OC\\Files\\ObjectStore\\ObjectStoreStorage","type":"->"},{"file":"/var/www/cloud/lib/private/Files/Storage/Wrapper/Wrapper.php","line":647,"function":"writeStream","class":"OC\\Files\\Storage\\Wrapper\\Wrapper","type":"->"},{"file":"/var/www/cloud/lib/private/Files/Storage/Wrapper/Wrapper.php","line":647,"function":"writeStream","class":"OC\\Files\\Storage\\Wrapper\\Wrapper","type":"->"},{"file":"/var/www/cloud/apps/dav/lib/Connector/Sabre/File.php","line":248,"function":"writeStream","class":"OC\\Files\\Storage\\Wrapper\\Wrapper","type":"->"},{"file":"/var/www/cloud/apps/dav/lib/Connector/Sabre/Directory.php","line":151,"function":"put","class":"OCA\\DAV\\Connector\\Sabre\\File","type":"->"},{"file":"/var/www/cloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":1098,"function":"createFile","class":"OCA\\DAV\\Connector\\Sabre\\Directory","type":"->"},{"file":"/var/www/cloud/3rdparty/sabre/dav/lib/DAV/CorePlugin.php","line":504,"function":"createFile","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/cloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"httpPut","class":"Sabre\\DAV\\CorePlugin","type":"->"},{"file":"/var/www/cloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":472,"function":"emit","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/cloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":253,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/cloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":321,"function":"start","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/cloud/apps/dav/appinfo/v1/webdav.php","line":85,"function":"exec","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/cloud/remote.php","line":171,"args":["/var/www/cloud/apps/dav/appinfo/v1/webdav.php"],"function":"require_once"}],"File":"/var/www/cloud/3rdparty/aws/aws-sdk-php/src/WrappedHttpHandler.php","Line":195,"Previous":{"Exception":"GuzzleHttp\\Exception\\ClientException","Message":"Client error: `DELETE https://nextcloud.sg.redacted/urn%3Aoid%3A2013169?uploadId=z9-0ks0mCYkhnVjIb3pPmzQ6ee2RRaUKOfd2ODeDF_vrQ2HdW0lxLQTyHw` resulted in a `404 Not Found` response:\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>NoSuchUpload</Code><Message>The specified multipart upload does not  (truncated...)\n","Code":404,"Trace":[{"file":"/var/www/cloud/3rdparty/guzzlehttp/guzzle/src/Middleware.php","line":69,"function":"create","class":"GuzzleHttp\\Exception\\RequestException","type":"::"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":204,"function":"GuzzleHttp\\{closure}","class":"GuzzleHttp\\Middleware","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":153,"function":"callHandler","class":"GuzzleHttp\\Promise\\Promise","type":"::"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/TaskQueue.php","line":48,"function":"GuzzleHttp\\Promise\\{closure}","class":"GuzzleHttp\\Promise\\Promise","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/cloud/3rdparty/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php","line":158,"function":"run","class":"GuzzleHttp\\Promise\\TaskQueue","type":"->"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php","line":183,"function":"tick","class":"GuzzleHttp\\Handler\\CurlMultiHandler","type":"->"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":248,"function":"execute","class":"GuzzleHttp\\Handler\\CurlMultiHandler","type":"->"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":224,"function":"invokeWaitFn","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":269,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":226,"function":"invokeWaitList","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":269,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":226,"function":"invokeWaitList","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":62,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/var/www/cloud/3rdparty/aws/aws-sdk-php/src/AwsClientTrait.php","line":58,"function":"wait","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/var/www/cloud/3rdparty/aws/aws-sdk-php/src/AwsClientTrait.php","line":86,"function":"execute","class":"Aws\\AwsClient","type":"->"},{"file":"/var/www/cloud/lib/private/Files/ObjectStore/S3ObjectTrait.php","line":135,"function":"__call","class":"Aws\\AwsClient","type":"->"},{"file":"/var/www/cloud/lib/private/Files/ObjectStore/S3ObjectTrait.php","line":162,"function":"writeMultiPart","class":"OC\\Files\\ObjectStore\\S3","type":"->"},{"file":"/var/www/cloud/lib/private/Files/ObjectStore/ObjectStoreStorage.php","line":491,"function":"writeObject","class":"OC\\Files\\ObjectStore\\S3","type":"->"},{"file":"/var/www/cloud/lib/private/Files/Storage/Wrapper/Wrapper.php","line":647,"function":"writeStream","class":"OC\\Files\\ObjectStore\\ObjectStoreStorage","type":"->"},{"file":"/var/www/cloud/lib/private/Files/Storage/Wrapper/Wrapper.php","line":647,"function":"writeStream","class":"OC\\Files\\Storage\\Wrapper\\Wrapper","type":"->"},{"file":"/var/www/cloud/lib/private/Files/Storage/Wrapper/Wrapper.php","line":647,"function":"writeStream","class":"OC\\Files\\Storage\\Wrapper\\Wrapper","type":"->"},{"file":"/var/www/cloud/apps/dav/lib/Connector/Sabre/File.php","line":248,"function":"writeStream","class":"OC\\Files\\Storage\\Wrapper\\Wrapper","type":"->"},{"file":"/var/www/cloud/apps/dav/lib/Connector/Sabre/Directory.php","line":151,"function":"put","class":"OCA\\DAV\\Connector\\Sabre\\File","type":"->"},{"file":"/var/www/cloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":1098,"function":"createFile","class":"OCA\\DAV\\Connector\\Sabre\\Directory","type":"->"},{"file":"/var/www/cloud/3rdparty/sabre/dav/lib/DAV/CorePlugin.php","line":504,"function":"createFile","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/cloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"httpPut","class":"Sabre\\DAV\\CorePlugin","type":"->"},{"file":"/var/www/cloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":472,"function":"emit","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/cloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":253,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/cloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":321,"function":"start","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/cloud/apps/dav/appinfo/v1/webdav.php","line":85,"function":"exec","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/cloud/remote.php","line":171,"args":["/var/www/cloud/apps/dav/appinfo/v1/webdav.php"],"function":"require_once"}],"File":"/var/www/cloud/3rdparty/guzzlehttp/guzzle/src/Exception/RequestException.php","Line":113},"message":"Could not create object urn:oid:2013169 for files/test/VMware-ESXi-7.0.3-19482537-HPE-703.0.0.10.9.0.11-Apr2022.iso","CustomMessage":"Could not create object urn:oid:2013169 for files/test/VMware-ESXi-7.0.3-19482537-HPE-703.0.0.10.9.0.11-Apr2022.iso"}}
{"reqId":"Y4cmaSkxVeEwvvwRjKR5WAAAAA8","level":3,"time":"2022-11-30T10:46:38+01:00","remoteAddr":"10.108.64.167","user":"trevelian","app":"no app in context","method":"PUT","url":"/remote.php/webdav/test/VMware-ESXi-7.0.3-19482537-HPE-703.0.0.10.9.0.11-Apr2022.iso","message":"Error executing \"AbortMultipartUpload\" on \"https://nextcloud.sg.redacted/urn%3Aoid%3A2013169?uploadId=z9-0ks0mCYkhnVjIb3pPmzQ6ee2RRaUKOfd2ODeDF_vrQ2HdW0lxLQTyHw\"; AWS HTTP error: Client error: `DELETE https://nextcloud.sg.redacted/urn%3Aoid%3A2013169?uploadId=z9-0ks0mCYkhnVjIb3pPmzQ6ee2RRaUKOfd2ODeDF_vrQ2HdW0lxLQTyHw` resulted in a `404 Not Found` response:\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>NoSuchUpload</Code><Message>The specified multipart upload does not  (truncated...)\n NoSuchUpload (client): The specified multipart upload does not exist. The upload ID might be invalid, or the multipart upload might have been aborted or completed. - <?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>NoSuchUpload</Code><Message>The specified multipart upload does not exist. The upload ID might be invalid, or the multipart upload might have been aborted or completed.</Message><Resource>/urn%3Aoid%3A2013169?uploadId=z9-0ks0mCYkhnVjIb3pPmzQ6ee2RRaUKOfd2ODeDF_vrQ2HdW0lxLQTyHw</Resource><RequestId>1669801598161501</RequestId></Error>","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0","version":"25.0.1.1","exception":{"Exception":"Aws\\S3\\Exception\\S3Exception","Message":"Error executing \"AbortMultipartUpload\" on \"https://nextcloud.sg.redacted/urn%3Aoid%3A2013169?uploadId=z9-0ks0mCYkhnVjIb3pPmzQ6ee2RRaUKOfd2ODeDF_vrQ2HdW0lxLQTyHw\"; AWS HTTP error: Client error: `DELETE https://nextcloud.sg.redacted/urn%3Aoid%3A2013169?uploadId=z9-0ks0mCYkhnVjIb3pPmzQ6ee2RRaUKOfd2ODeDF_vrQ2HdW0lxLQTyHw` resulted in a `404 Not Found` response:\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>NoSuchUpload</Code><Message>The specified multipart upload does not  (truncated...)\n NoSuchUpload (client): The specified multipart upload does not exist. The upload ID might be invalid, or the multipart upload might have been aborted or completed. - <?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>NoSuchUpload</Code><Message>The specified multipart upload does not exist. The upload ID might be invalid, or the multipart upload might have been aborted or completed.</Message><Resource>/urn%3Aoid%3A2013169?uploadId=z9-0ks0mCYkhnVjIb3pPmzQ6ee2RRaUKOfd2ODeDF_vrQ2HdW0lxLQTyHw</Resource><RequestId>1669801598161501</RequestId></Error>","Code":0,"Trace":[{"file":"/var/www/cloud/3rdparty/aws/aws-sdk-php/src/WrappedHttpHandler.php","line":97,"function":"parseError","class":"Aws\\WrappedHttpHandler","type":"->"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":204,"function":"Aws\\{closure}","class":"Aws\\WrappedHttpHandler","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":169,"function":"callHandler","class":"GuzzleHttp\\Promise\\Promise","type":"::"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/RejectedPromise.php","line":42,"function":"GuzzleHttp\\Promise\\{closure}","class":"GuzzleHttp\\Promise\\Promise","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/TaskQueue.php","line":48,"function":"GuzzleHttp\\Promise\\{closure}","class":"GuzzleHttp\\Promise\\RejectedPromise","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/cloud/3rdparty/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php","line":158,"function":"run","class":"GuzzleHttp\\Promise\\TaskQueue","type":"->"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php","line":183,"function":"tick","class":"GuzzleHttp\\Handler\\CurlMultiHandler","type":"->"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":248,"function":"execute","class":"GuzzleHttp\\Handler\\CurlMultiHandler","type":"->"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":224,"function":"invokeWaitFn","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":269,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":226,"function":"invokeWaitList","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":269,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":226,"function":"invokeWaitList","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":62,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/var/www/cloud/3rdparty/aws/aws-sdk-php/src/AwsClientTrait.php","line":58,"function":"wait","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/var/www/cloud/3rdparty/aws/aws-sdk-php/src/AwsClientTrait.php","line":86,"function":"execute","class":"Aws\\AwsClient","type":"->"},{"file":"/var/www/cloud/lib/private/Files/ObjectStore/S3ObjectTrait.php","line":135,"function":"__call","class":"Aws\\AwsClient","type":"->"},{"file":"/var/www/cloud/lib/private/Files/ObjectStore/S3ObjectTrait.php","line":162,"function":"writeMultiPart","class":"OC\\Files\\ObjectStore\\S3","type":"->"},{"file":"/var/www/cloud/lib/private/Files/ObjectStore/ObjectStoreStorage.php","line":491,"function":"writeObject","class":"OC\\Files\\ObjectStore\\S3","type":"->"},{"file":"/var/www/cloud/lib/private/Files/Storage/Wrapper/Wrapper.php","line":647,"function":"writeStream","class":"OC\\Files\\ObjectStore\\ObjectStoreStorage","type":"->"},{"file":"/var/www/cloud/lib/private/Files/Storage/Wrapper/Wrapper.php","line":647,"function":"writeStream","class":"OC\\Files\\Storage\\Wrapper\\Wrapper","type":"->"},{"file":"/var/www/cloud/lib/private/Files/Storage/Wrapper/Wrapper.php","line":647,"function":"writeStream","class":"OC\\Files\\Storage\\Wrapper\\Wrapper","type":"->"},{"file":"/var/www/cloud/apps/dav/lib/Connector/Sabre/File.php","line":248,"function":"writeStream","class":"OC\\Files\\Storage\\Wrapper\\Wrapper","type":"->"},{"file":"/var/www/cloud/apps/dav/lib/Connector/Sabre/Directory.php","line":151,"function":"put","class":"OCA\\DAV\\Connector\\Sabre\\File","type":"->"},{"file":"/var/www/cloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":1098,"function":"createFile","class":"OCA\\DAV\\Connector\\Sabre\\Directory","type":"->"},{"file":"/var/www/cloud/3rdparty/sabre/dav/lib/DAV/CorePlugin.php","line":504,"function":"createFile","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/cloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"httpPut","class":"Sabre\\DAV\\CorePlugin","type":"->"},{"file":"/var/www/cloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":472,"function":"emit","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/cloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":253,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/cloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":321,"function":"start","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/cloud/apps/dav/appinfo/v1/webdav.php","line":85,"function":"exec","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/cloud/remote.php","line":171,"args":["/var/www/cloud/apps/dav/appinfo/v1/webdav.php"],"function":"require_once"}],"File":"/var/www/cloud/3rdparty/aws/aws-sdk-php/src/WrappedHttpHandler.php","Line":195,"Previous":{"Exception":"GuzzleHttp\\Exception\\ClientException","Message":"Client error: `DELETE https://nextcloud.sg.redacted/urn%3Aoid%3A2013169?uploadId=z9-0ks0mCYkhnVjIb3pPmzQ6ee2RRaUKOfd2ODeDF_vrQ2HdW0lxLQTyHw` resulted in a `404 Not Found` response:\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>NoSuchUpload</Code><Message>The specified multipart upload does not  (truncated...)\n","Code":404,"Trace":[{"file":"/var/www/cloud/3rdparty/guzzlehttp/guzzle/src/Middleware.php","line":69,"function":"create","class":"GuzzleHttp\\Exception\\RequestException","type":"::"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":204,"function":"GuzzleHttp\\{closure}","class":"GuzzleHttp\\Middleware","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":153,"function":"callHandler","class":"GuzzleHttp\\Promise\\Promise","type":"::"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/TaskQueue.php","line":48,"function":"GuzzleHttp\\Promise\\{closure}","class":"GuzzleHttp\\Promise\\Promise","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/cloud/3rdparty/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php","line":158,"function":"run","class":"GuzzleHttp\\Promise\\TaskQueue","type":"->"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php","line":183,"function":"tick","class":"GuzzleHttp\\Handler\\CurlMultiHandler","type":"->"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":248,"function":"execute","class":"GuzzleHttp\\Handler\\CurlMultiHandler","type":"->"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":224,"function":"invokeWaitFn","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":269,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":226,"function":"invokeWaitList","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":269,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":226,"function":"invokeWaitList","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":62,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/var/www/cloud/3rdparty/aws/aws-sdk-php/src/AwsClientTrait.php","line":58,"function":"wait","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/var/www/cloud/3rdparty/aws/aws-sdk-php/src/AwsClientTrait.php","line":86,"function":"execute","class":"Aws\\AwsClient","type":"->"},{"file":"/var/www/cloud/lib/private/Files/ObjectStore/S3ObjectTrait.php","line":135,"function":"__call","class":"Aws\\AwsClient","type":"->"},{"file":"/var/www/cloud/lib/private/Files/ObjectStore/S3ObjectTrait.php","line":162,"function":"writeMultiPart","class":"OC\\Files\\ObjectStore\\S3","type":"->"},{"file":"/var/www/cloud/lib/private/Files/ObjectStore/ObjectStoreStorage.php","line":491,"function":"writeObject","class":"OC\\Files\\ObjectStore\\S3","type":"->"},{"file":"/var/www/cloud/lib/private/Files/Storage/Wrapper/Wrapper.php","line":647,"function":"writeStream","class":"OC\\Files\\ObjectStore\\ObjectStoreStorage","type":"->"},{"file":"/var/www/cloud/lib/private/Files/Storage/Wrapper/Wrapper.php","line":647,"function":"writeStream","class":"OC\\Files\\Storage\\Wrapper\\Wrapper","type":"->"},{"file":"/var/www/cloud/lib/private/Files/Storage/Wrapper/Wrapper.php","line":647,"function":"writeStream","class":"OC\\Files\\Storage\\Wrapper\\Wrapper","type":"->"},{"file":"/var/www/cloud/apps/dav/lib/Connector/Sabre/File.php","line":248,"function":"writeStream","class":"OC\\Files\\Storage\\Wrapper\\Wrapper","type":"->"},{"file":"/var/www/cloud/apps/dav/lib/Connector/Sabre/Directory.php","line":151,"function":"put","class":"OCA\\DAV\\Connector\\Sabre\\File","type":"->"},{"file":"/var/www/cloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":1098,"function":"createFile","class":"OCA\\DAV\\Connector\\Sabre\\Directory","type":"->"},{"file":"/var/www/cloud/3rdparty/sabre/dav/lib/DAV/CorePlugin.php","line":504,"function":"createFile","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/cloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"httpPut","class":"Sabre\\DAV\\CorePlugin","type":"->"},{"file":"/var/www/cloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":472,"function":"emit","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/cloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":253,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/cloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":321,"function":"start","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/cloud/apps/dav/appinfo/v1/webdav.php","line":85,"function":"exec","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/cloud/remote.php","line":171,"args":["/var/www/cloud/apps/dav/appinfo/v1/webdav.php"],"function":"require_once"}],"File":"/var/www/cloud/3rdparty/guzzlehttp/guzzle/src/Exception/RequestException.php","Line":113},"message":"Error executing \"AbortMultipartUpload\" on \"https://nextcloud.sg.redacted/urn%3Aoid%3A2013169?uploadId=z9-0ks0mCYkhnVjIb3pPmzQ6ee2RRaUKOfd2ODeDF_vrQ2HdW0lxLQTyHw\"; AWS HTTP error: Client error: `DELETE https://nextcloud.sg.redacted/urn%3Aoid%3A2013169?uploadId=z9-0ks0mCYkhnVjIb3pPmzQ6ee2RRaUKOfd2ODeDF_vrQ2HdW0lxLQTyHw` resulted in a `404 Not Found` response:\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>NoSuchUpload</Code><Message>The specified multipart upload does not  (truncated...)\n NoSuchUpload (client): The specified multipart upload does not exist. The upload ID might be invalid, or the multipart upload might have been aborted or completed. - <?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>NoSuchUpload</Code><Message>The specified multipart upload does not exist. The upload ID might be invalid, or the multipart upload might have been aborted or completed.</Message><Resource>/urn%3Aoid%3A2013169?uploadId=z9-0ks0mCYkhnVjIb3pPmzQ6ee2RRaUKOfd2ODeDF_vrQ2HdW0lxLQTyHw</Resource><RequestId>1669801598161501</RequestId></Error>","exception":{},"CustomMessage":"Error executing \"AbortMultipartUpload\" on \"https://nextcloud.sg.redacted/urn%3Aoid%3A2013169?uploadId=z9-0ks0mCYkhnVjIb3pPmzQ6ee2RRaUKOfd2ODeDF_vrQ2HdW0lxLQTyHw\"; AWS HTTP error: Client error: `DELETE https://nextcloud.sg.redacted/urn%3Aoid%3A2013169?uploadId=z9-0ks0mCYkhnVjIb3pPmzQ6ee2RRaUKOfd2ODeDF_vrQ2HdW0lxLQTyHw` resulted in a `404 Not Found` response:\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>NoSuchUpload</Code><Message>The specified multipart upload does not  (truncated...)\n NoSuchUpload (client): The specified multipart upload does not exist. The upload ID might be invalid, or the multipart upload might have been aborted or completed. - <?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>NoSuchUpload</Code><Message>The specified multipart upload does not exist. The upload ID might be invalid, or the multipart upload might have been aborted or completed.</Message><Resource>/urn%3Aoid%3A2013169?uploadId=z9-0ks0mCYkhnVjIb3pPmzQ6ee2RRaUKOfd2ODeDF_vrQ2HdW0lxLQTyHw</Resource><RequestId>1669801598161501</RequestId></Error>"}}
{"reqId":"Y4cmaSkxVeEwvvwRjKR5WAAAAA8","level":3,"time":"2022-11-30T10:46:38+01:00","remoteAddr":"10.108.64.167","user":"trevelian","app":"webdav","method":"PUT","url":"/remote.php/webdav/test/VMware-ESXi-7.0.3-19482537-HPE-703.0.0.10.9.0.11-Apr2022.iso","message":"Error executing \"AbortMultipartUpload\" on \"https://nextcloud.sg.redacted/urn%3Aoid%3A2013169?uploadId=z9-0ks0mCYkhnVjIb3pPmzQ6ee2RRaUKOfd2ODeDF_vrQ2HdW0lxLQTyHw\"; AWS HTTP error: Client error: `DELETE https://nextcloud.sg.redacted/urn%3Aoid%3A2013169?uploadId=z9-0ks0mCYkhnVjIb3pPmzQ6ee2RRaUKOfd2ODeDF_vrQ2HdW0lxLQTyHw` resulted in a `404 Not Found` response:\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>NoSuchUpload</Code><Message>The specified multipart upload does not  (truncated...)\n NoSuchUpload (client): The specified multipart upload does not exist. The upload ID might be invalid, or the multipart upload might have been aborted or completed. - <?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>NoSuchUpload</Code><Message>The specified multipart upload does not exist. The upload ID might be invalid, or the multipart upload might have been aborted or completed.</Message><Resource>/urn%3Aoid%3A2013169?uploadId=z9-0ks0mCYkhnVjIb3pPmzQ6ee2RRaUKOfd2ODeDF_vrQ2HdW0lxLQTyHw</Resource><RequestId>1669801598161501</RequestId></Error>","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0","version":"25.0.1.1","exception":{"Exception":"Sabre\\DAV\\Exception","Message":"Error executing \"AbortMultipartUpload\" on \"https://nextcloud.sg.redacted/urn%3Aoid%3A2013169?uploadId=z9-0ks0mCYkhnVjIb3pPmzQ6ee2RRaUKOfd2ODeDF_vrQ2HdW0lxLQTyHw\"; AWS HTTP error: Client error: `DELETE https://nextcloud.sg.redacted/urn%3Aoid%3A2013169?uploadId=z9-0ks0mCYkhnVjIb3pPmzQ6ee2RRaUKOfd2ODeDF_vrQ2HdW0lxLQTyHw` resulted in a `404 Not Found` response:\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>NoSuchUpload</Code><Message>The specified multipart upload does not  (truncated...)\n NoSuchUpload (client): The specified multipart upload does not exist. The upload ID might be invalid, or the multipart upload might have been aborted or completed. - <?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>NoSuchUpload</Code><Message>The specified multipart upload does not exist. The upload ID might be invalid, or the multipart upload might have been aborted or completed.</Message><Resource>/urn%3Aoid%3A2013169?uploadId=z9-0ks0mCYkhnVjIb3pPmzQ6ee2RRaUKOfd2ODeDF_vrQ2HdW0lxLQTyHw</Resource><RequestId>1669801598161501</RequestId></Error>","Code":0,"Trace":[{"file":"/var/www/cloud/apps/dav/lib/Connector/Sabre/File.php","line":318,"function":"convertToSabreException","class":"OCA\\DAV\\Connector\\Sabre\\File","type":"->"},{"file":"/var/www/cloud/apps/dav/lib/Connector/Sabre/Directory.php","line":151,"function":"put","class":"OCA\\DAV\\Connector\\Sabre\\File","type":"->"},{"file":"/var/www/cloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":1098,"function":"createFile","class":"OCA\\DAV\\Connector\\Sabre\\Directory","type":"->"},{"file":"/var/www/cloud/3rdparty/sabre/dav/lib/DAV/CorePlugin.php","line":504,"function":"createFile","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/cloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"httpPut","class":"Sabre\\DAV\\CorePlugin","type":"->"},{"file":"/var/www/cloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":472,"function":"emit","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/cloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":253,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/cloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":321,"function":"start","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/cloud/apps/dav/appinfo/v1/webdav.php","line":85,"function":"exec","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/cloud/remote.php","line":171,"args":["/var/www/cloud/apps/dav/appinfo/v1/webdav.php"],"function":"require_once"}],"File":"/var/www/cloud/apps/dav/lib/Connector/Sabre/File.php","Line":741,"Previous":{"Exception":"Aws\\S3\\Exception\\S3Exception","Message":"Error executing \"AbortMultipartUpload\" on \"https://nextcloud.sg.redacted/urn%3Aoid%3A2013169?uploadId=z9-0ks0mCYkhnVjIb3pPmzQ6ee2RRaUKOfd2ODeDF_vrQ2HdW0lxLQTyHw\"; AWS HTTP error: Client error: `DELETE https://nextcloud.sg.redacted/urn%3Aoid%3A2013169?uploadId=z9-0ks0mCYkhnVjIb3pPmzQ6ee2RRaUKOfd2ODeDF_vrQ2HdW0lxLQTyHw` resulted in a `404 Not Found` response:\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>NoSuchUpload</Code><Message>The specified multipart upload does not  (truncated...)\n NoSuchUpload (client): The specified multipart upload does not exist. The upload ID might be invalid, or the multipart upload might have been aborted or completed. - <?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>NoSuchUpload</Code><Message>The specified multipart upload does not exist. The upload ID might be invalid, or the multipart upload might have been aborted or completed.</Message><Resource>/urn%3Aoid%3A2013169?uploadId=z9-0ks0mCYkhnVjIb3pPmzQ6ee2RRaUKOfd2ODeDF_vrQ2HdW0lxLQTyHw</Resource><RequestId>1669801598161501</RequestId></Error>","Code":0,"Trace":[{"file":"/var/www/cloud/3rdparty/aws/aws-sdk-php/src/WrappedHttpHandler.php","line":97,"function":"parseError","class":"Aws\\WrappedHttpHandler","type":"->"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":204,"function":"Aws\\{closure}","class":"Aws\\WrappedHttpHandler","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":169,"function":"callHandler","class":"GuzzleHttp\\Promise\\Promise","type":"::"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/RejectedPromise.php","line":42,"function":"GuzzleHttp\\Promise\\{closure}","class":"GuzzleHttp\\Promise\\Promise","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/TaskQueue.php","line":48,"function":"GuzzleHttp\\Promise\\{closure}","class":"GuzzleHttp\\Promise\\RejectedPromise","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/cloud/3rdparty/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php","line":158,"function":"run","class":"GuzzleHttp\\Promise\\TaskQueue","type":"->"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php","line":183,"function":"tick","class":"GuzzleHttp\\Handler\\CurlMultiHandler","type":"->"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":248,"function":"execute","class":"GuzzleHttp\\Handler\\CurlMultiHandler","type":"->"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":224,"function":"invokeWaitFn","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":269,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":226,"function":"invokeWaitList","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":269,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":226,"function":"invokeWaitList","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":62,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/var/www/cloud/3rdparty/aws/aws-sdk-php/src/AwsClientTrait.php","line":58,"function":"wait","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/var/www/cloud/3rdparty/aws/aws-sdk-php/src/AwsClientTrait.php","line":86,"function":"execute","class":"Aws\\AwsClient","type":"->"},{"file":"/var/www/cloud/lib/private/Files/ObjectStore/S3ObjectTrait.php","line":135,"function":"__call","class":"Aws\\AwsClient","type":"->"},{"file":"/var/www/cloud/lib/private/Files/ObjectStore/S3ObjectTrait.php","line":162,"function":"writeMultiPart","class":"OC\\Files\\ObjectStore\\S3","type":"->"},{"file":"/var/www/cloud/lib/private/Files/ObjectStore/ObjectStoreStorage.php","line":491,"function":"writeObject","class":"OC\\Files\\ObjectStore\\S3","type":"->"},{"file":"/var/www/cloud/lib/private/Files/Storage/Wrapper/Wrapper.php","line":647,"function":"writeStream","class":"OC\\Files\\ObjectStore\\ObjectStoreStorage","type":"->"},{"file":"/var/www/cloud/lib/private/Files/Storage/Wrapper/Wrapper.php","line":647,"function":"writeStream","class":"OC\\Files\\Storage\\Wrapper\\Wrapper","type":"->"},{"file":"/var/www/cloud/lib/private/Files/Storage/Wrapper/Wrapper.php","line":647,"function":"writeStream","class":"OC\\Files\\Storage\\Wrapper\\Wrapper","type":"->"},{"file":"/var/www/cloud/apps/dav/lib/Connector/Sabre/File.php","line":248,"function":"writeStream","class":"OC\\Files\\Storage\\Wrapper\\Wrapper","type":"->"},{"file":"/var/www/cloud/apps/dav/lib/Connector/Sabre/Directory.php","line":151,"function":"put","class":"OCA\\DAV\\Connector\\Sabre\\File","type":"->"},{"file":"/var/www/cloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":1098,"function":"createFile","class":"OCA\\DAV\\Connector\\Sabre\\Directory","type":"->"},{"file":"/var/www/cloud/3rdparty/sabre/dav/lib/DAV/CorePlugin.php","line":504,"function":"createFile","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/cloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"httpPut","class":"Sabre\\DAV\\CorePlugin","type":"->"},{"file":"/var/www/cloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":472,"function":"emit","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/cloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":253,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/cloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":321,"function":"start","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/cloud/apps/dav/appinfo/v1/webdav.php","line":85,"function":"exec","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/cloud/remote.php","line":171,"args":["/var/www/cloud/apps/dav/appinfo/v1/webdav.php"],"function":"require_once"}],"File":"/var/www/cloud/3rdparty/aws/aws-sdk-php/src/WrappedHttpHandler.php","Line":195,"Previous":{"Exception":"GuzzleHttp\\Exception\\ClientException","Message":"Client error: `DELETE https://nextcloud.sg.redacted/urn%3Aoid%3A2013169?uploadId=z9-0ks0mCYkhnVjIb3pPmzQ6ee2RRaUKOfd2ODeDF_vrQ2HdW0lxLQTyHw` resulted in a `404 Not Found` response:\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>NoSuchUpload</Code><Message>The specified multipart upload does not  (truncated...)\n","Code":404,"Trace":[{"file":"/var/www/cloud/3rdparty/guzzlehttp/guzzle/src/Middleware.php","line":69,"function":"create","class":"GuzzleHttp\\Exception\\RequestException","type":"::"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":204,"function":"GuzzleHttp\\{closure}","class":"GuzzleHttp\\Middleware","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":153,"function":"callHandler","class":"GuzzleHttp\\Promise\\Promise","type":"::"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/TaskQueue.php","line":48,"function":"GuzzleHttp\\Promise\\{closure}","class":"GuzzleHttp\\Promise\\Promise","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/cloud/3rdparty/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php","line":158,"function":"run","class":"GuzzleHttp\\Promise\\TaskQueue","type":"->"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php","line":183,"function":"tick","class":"GuzzleHttp\\Handler\\CurlMultiHandler","type":"->"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":248,"function":"execute","class":"GuzzleHttp\\Handler\\CurlMultiHandler","type":"->"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":224,"function":"invokeWaitFn","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":269,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":226,"function":"invokeWaitList","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":269,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":226,"function":"invokeWaitList","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/var/www/cloud/3rdparty/guzzlehttp/promises/src/Promise.php","line":62,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/var/www/cloud/3rdparty/aws/aws-sdk-php/src/AwsClientTrait.php","line":58,"function":"wait","class":"GuzzleHttp\\Promise\\Promise","type":"->"},{"file":"/var/www/cloud/3rdparty/aws/aws-sdk-php/src/AwsClientTrait.php","line":86,"function":"execute","class":"Aws\\AwsClient","type":"->"},{"file":"/var/www/cloud/lib/private/Files/ObjectStore/S3ObjectTrait.php","line":135,"function":"__call","class":"Aws\\AwsClient","type":"->"},{"file":"/var/www/cloud/lib/private/Files/ObjectStore/S3ObjectTrait.php","line":162,"function":"writeMultiPart","class":"OC\\Files\\ObjectStore\\S3","type":"->"},{"file":"/var/www/cloud/lib/private/Files/ObjectStore/ObjectStoreStorage.php","line":491,"function":"writeObject","class":"OC\\Files\\ObjectStore\\S3","type":"->"},{"file":"/var/www/cloud/lib/private/Files/Storage/Wrapper/Wrapper.php","line":647,"function":"writeStream","class":"OC\\Files\\ObjectStore\\ObjectStoreStorage","type":"->"},{"file":"/var/www/cloud/lib/private/Files/Storage/Wrapper/Wrapper.php","line":647,"function":"writeStream","class":"OC\\Files\\Storage\\Wrapper\\Wrapper","type":"->"},{"file":"/var/www/cloud/lib/private/Files/Storage/Wrapper/Wrapper.php","line":647,"function":"writeStream","class":"OC\\Files\\Storage\\Wrapper\\Wrapper","type":"->"},{"file":"/var/www/cloud/apps/dav/lib/Connector/Sabre/File.php","line":248,"function":"writeStream","class":"OC\\Files\\Storage\\Wrapper\\Wrapper","type":"->"},{"file":"/var/www/cloud/apps/dav/lib/Connector/Sabre/Directory.php","line":151,"function":"put","class":"OCA\\DAV\\Connector\\Sabre\\File","type":"->"},{"file":"/var/www/cloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":1098,"function":"createFile","class":"OCA\\DAV\\Connector\\Sabre\\Directory","type":"->"},{"file":"/var/www/cloud/3rdparty/sabre/dav/lib/DAV/CorePlugin.php","line":504,"function":"createFile","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/cloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"httpPut","class":"Sabre\\DAV\\CorePlugin","type":"->"},{"file":"/var/www/cloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":472,"function":"emit","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/cloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":253,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/cloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":321,"function":"start","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/cloud/apps/dav/appinfo/v1/webdav.php","line":85,"function":"exec","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/var/www/cloud/remote.php","line":171,"args":["/var/www/cloud/apps/dav/appinfo/v1/webdav.php"],"function":"require_once"}],"File":"/var/www/cloud/3rdparty/guzzlehttp/guzzle/src/Exception/RequestException.php","Line":113}},"message":"Error executing \"AbortMultipartUpload\" on \"https://nextcloud.sg.redacted/urn%3Aoid%3A2013169?uploadId=z9-0ks0mCYkhnVjIb3pPmzQ6ee2RRaUKOfd2ODeDF_vrQ2HdW0lxLQTyHw\"; AWS HTTP error: Client error: `DELETE https://nextcloud.sg.redacted/urn%3Aoid%3A2013169?uploadId=z9-0ks0mCYkhnVjIb3pPmzQ6ee2RRaUKOfd2ODeDF_vrQ2HdW0lxLQTyHw` resulted in a `404 Not Found` response:\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>NoSuchUpload</Code><Message>The specified multipart upload does not  (truncated...)\n NoSuchUpload (client): The specified multipart upload does not exist. The upload ID might be invalid, or the multipart upload might have been aborted or completed. - <?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>NoSuchUpload</Code><Message>The specified multipart upload does not exist. The upload ID might be invalid, or the multipart upload might have been aborted or completed.</Message><Resource>/urn%3Aoid%3A2013169?uploadId=z9-0ks0mCYkhnVjIb3pPmzQ6ee2RRaUKOfd2ODeDF_vrQ2HdW0lxLQTyHw</Resource><RequestId>1669801598161501</RequestId></Error>","exception":{},"CustomMessage":"Error executing \"AbortMultipartUpload\" on \"https://nextcloud.sg.redacted/urn%3Aoid%3A2013169?uploadId=z9-0ks0mCYkhnVjIb3pPmzQ6ee2RRaUKOfd2ODeDF_vrQ2HdW0lxLQTyHw\"; AWS HTTP error: Client error: `DELETE https://nextcloud.sg.redacted/urn%3Aoid%3A2013169?uploadId=z9-0ks0mCYkhnVjIb3pPmzQ6ee2RRaUKOfd2ODeDF_vrQ2HdW0lxLQTyHw` resulted in a `404 Not Found` response:\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>NoSuchUpload</Code><Message>The specified multipart upload does not  (truncated...)\n NoSuchUpload (client): The specified multipart upload does not exist. The upload ID might be invalid, or the multipart upload might have been aborted or completed. - <?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>NoSuchUpload</Code><Message>The specified multipart upload does not exist. The upload ID might be invalid, or the multipart upload might have been aborted or completed.</Message><Resource>/urn%3Aoid%3A2013169?uploadId=z9-0ks0mCYkhnVjIb3pPmzQ6ee2RRaUKOfd2ODeDF_vrQ2HdW0lxLQTyHw</Resource><RequestId>1669801598161501</RequestId></Error>"}}

Additional info

No response

Trevelian commented 1 year ago

If you need that I test any fix or change any package, I'm available to try to resolve that.

Trevelian commented 1 year ago

Update to 25.0.3 -> No change Currently checking on https://github.com/lukasmu/nextcloud-s3-to-disk-migration

joshtrichards commented 1 year ago

What S3 platform or provider are you using?

Are there any log entries before those errors?

I try the Nextcloud docker image with my S3 storage and its working for big file. So I suspect that its related to the combination of objectstorage + php-fpm

There's also an FPM based Docker image if you want to test that.

Your proxy and reverse proxy may also be factors here to try to eliminate.

nextcloud-command commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity and seems to be missing some essential information. It will be closed if no further activity occurs. Thank you for your contributions.