Skip to content

[Bug]: Version creation failure on S3 primary storage is silently swallowed (previous revision permanently lost while the client receives success) #61803

Description

@Pofilo

⚠️ This issue respects the following points: ⚠️

Bug description

When a file is overwritten on S3 primary storage, files_versions preserves the previous revision via a server-side CopyObject (from the file's urn:oid to the version's newly allocated urn:oid) in a pre-write hook. If that CopyObject fails (in my case a InternalError (server) from the S3 backend, persisting across all AWS SDK retries), the exception is caught by Nextcloud and only logged, and the write proceeds anyway: the new content overwrites the object, the client receives a 2xx, no version is created, and the previous versiuon is permanently lost. This is silent data loss of the previous revision (user is not aware, admin is from the logs).

Steps to reproduce

  1. Configure S3 as primary storage.
  2. Have an error on CopyObject requests (in my case 500 InternalError but maybe we can reproduce by denying a write/read with user/bucket policies) -> maybe easier with a local S3 storage to force a 500.
  3. Overwrite an existing file.
  4. Upload succeeds (2xx) and the file content is updated, but no version exists for the previous content. The only trace is an error entry in nextcloud.log (the previous revision is unrecoverable).

Expected behavior

The write should be aborted (or the version copy retried) when version creation fails, so the previous revision is never destroyed without a preserved copy.

Nextcloud Server version

33

Operating system

Debian/Ubuntu

PHP engine version

PHP 8.4

Web server

Apache (supported)

Database engine version

MariaDB

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

None

Are you using the Nextcloud Server Encryption module?

Encryption is Disabled

What user-backends are you using?

  • Default user-backend (database)
  • LDAP/ Active Directory
  • SSO - SAML
  • Other

Configuration report

{
    "system": {
        "htaccess.RewriteBase": "\/",
        "memcache.local": "\\OC\\Memcache\\APCu",
        "opcache.memory_consumption": 256,
        "apps_paths": [
            {
                "path": "\/var\/www\/html\/apps",
                "url": "\/apps",
                "writable": false
            },
            {
                "path": "\/var\/www\/html\/custom_apps",
                "url": "\/custom_apps",
                "writable": true
            }
        ],
        "memcache.distributed": "\\OC\\Memcache\\Redis",
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "password": "***REMOVED SENSITIVE VALUE***",
            "port": 6379
        },
        "trusted_proxies": "***REMOVED SENSITIVE VALUE***",
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "serverid": 123,
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "***REMOVED SENSITIVE VALUE***",
            "nextcloud"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "mysql",
        "version": "33.0.6.2",
        "overwrite.cli.url": "***REMOVED SENSITIVE VALUE***",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "mysql.utf8mb4": true,
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "trashbin_retention_obligation": "auto, 30",
        "installed": true,
        "theme": "",
        "loglevel": 2,
        "maintenance": false,
        "twofactor_enforced": "true",
        "twofactor_enforced_groups": [
            "all"
        ],
        "twofactor_enforced_excluded_groups": [],
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpmode": "smtp",
        "mail_sendmailmode": "smtp",
        "mail_smtpsecure": "ssl",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpauthtype": "LOGIN",
        "mail_smtpauth": true,
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpport": "465",
        "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
        "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
        "encryption.key_storage_migrated": false,
        "updater.release.channel": "stable",
        "default_phone_region": "FR",
        "app_install_overwrite": [
            "ocdownloader",
            "ransomware_detection",
            "files_texteditor",
            "quicknotes"
        ],
        "maintenance_window_start": 1,
        "files.chunked_upload.max_size": 10485760,
        "enable_previews": true,
        "memories.exiftool": "\/var\/www\/html\/custom_apps\/memories\/bin-ext\/exiftool-amd64-glibc",
        "memories.vod.ffmpeg": "\/usr\/bin\/ffmpeg",
        "memories.vod.ffprobe": "\/usr\/bin\/ffprobe",
        "preview_max_x": 2048,
        "preview_max_y": 2048,
        "jpeg_quality": 60,
        "memories.exiftool_no_local": true,
        "enabledPreviewProviders": [
            "OC\\Preview\\Image",
            "OC\\Preview\\HEIC",
            "OC\\Preview\\TIFF",
            "OC\\Preview\\Movie"
        ],
        "memories.gis_type": 1,
        "memories.db.triggers.fcu": true,
        "memories.vod.bind": "",
        "memories.vod.qf": 20,
        "defaultapp": "files",
        "has_rebuilt_cache": true,
        "objectstore": {
            "class": "\\OC\\Files\\ObjectStore\\S3",
            "arguments": {
                "bucket": "***REMOVED SENSITIVE VALUE***",
                "region": "***REMOVED SENSITIVE VALUE***",
                "key": "***REMOVED SENSITIVE VALUE***",
                "secret": "***REMOVED SENSITIVE VALUE***",
                "hostname": "***REMOVED SENSITIVE VALUE***",
                "port": 443,
                "verify_bucket_exists": false,
                "sse_c_key": "***REMOVED SENSITIVE VALUE***",
                "putSizeLimit": 104857600,
                "request_checksum_calculation": "when_supported"
            }
        },
        "memories.vod.connect": "",
        "memories.video_default_quality": "-2",
        "memories.vod.path": "\/var\/www\/html\/custom_apps\/memories\/bin-ext\/go-vod-amd64",
        "mail_smtpstreamoptions": {
            "ssl": {
                "allow_self_signed": false,
                "verify_peer": true,
                "verify_peer_name": true
            }
        }
    }
}

List of activated Apps

Enabled:
  - activity: 6.0.0
  - admin_audit: 1.23.0
  - bruteforcesettings: 6.0.0
  - calendar: 6.5.0
  - checksum: 2.1.2
  - cloud_federation_api: 1.17.0
  - comments: 1.23.0
  - contacts: 8.7.2
  - dav: 1.36.0
  - federatedfilesharing: 1.23.0
  - federation: 1.23.0
  - files: 2.5.0
  - files_downloadlimit: 5.1.0
  - files_pdfviewer: 6.0.0
  - files_reminders: 1.6.0
  - files_sharing: 1.25.2
  - files_trashbin: 1.23.0
  - files_versions: 1.26.0
  - impersonate: 4.0.0
  - logreader: 6.0.0
  - lookup_server_connector: 1.21.0
  - memories: 8.1.0
  - nextcloud_announcements: 5.0.0
  - notes: 6.0.1
  - notifications: 6.0.0
  - notify_push: 1.3.3
  - oauth2: 1.21.0
  - photos: 6.0.0
  - previewgenerator: 5.14.0
  - privacy: 5.0.0
  - profile: 1.2.0
  - provisioning_api: 1.23.0
  - quota_warning: 1.24.0
  - related_resources: 4.0.0
  - serverinfo: 5.0.0
  - settings: 1.16.0
  - sharebymail: 1.23.0
  - support: 5.0.0
  - systemtags: 1.23.0
  - tasks: 0.18.1
  - text: 7.0.1
  - theming: 2.8.0
  - theming_customcss: 1.20.0
  - twofactor_backupcodes: 1.22.0
  - twofactor_totp: 15.0.0
  - updatenotification: 1.23.0
  - viewer: 6.0.0
  - workflowengine: 2.15.0

Nextcloud Signing status

No errors have been found.

Nextcloud Logs

{"reqId":"zvM6yPrEKSkLkvQnOtz1","level":3,"time":"2026-07-04T13:29:27+00:00","remoteAddr":"ip_sensitive","user":"myuser","app":"no app in context","method":"PUT","url":"/remote.php/dav/files/myuser/mypath/myfile.txt","scriptName":"/remote.php","message":"Error executing \"CopyObject\" on \"https://myuser-nextcloud-prod.s3.xxx/urn%3Aoid%3A3597833\"; AWS HTTP error:\nInternalError (server): We encountered an internal error. Please try again.","userAgent":"Mozilla/5.0 (Linux) mirall/3.16.7-1~deb13u1 (Debian built) (Nextcloud, debian-6.12.94+deb13-amd64 ClientArchitecture: x86_64 OsArchitecture: x86_64)","version":"33.0.6.2","clientReqId":"43ab13b9-5f82-4136-9ac2-33b707927ca1","exception":{"Exception":"Aws\\S3\\Exception\\S3Exception","Message":"Error executing \"CopyObject\" on \"https://myuser-nextcloud-prod.s3.xxx/urn%3Aoid%3A3597833\"; AWS HTTP error:\nInternalError (server): We encountered an internal error. Please try again.","Code":0,"Trace":[{"file":"/var/www/html/3rdparty/aws/aws-sdk-php/src/WrappedHttpHandler.php","line":97,"function":"parseError","class":"Aws\\WrappedHttpHandler","type":"->","args":["*** sensitive parameters replaced ***",{"__class__":"GuzzleHttp\\Psr7\\Request"},{"__class__":"Aws\\Command"},[]]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":209,"function":"{closure:Aws\\WrappedHttpHandler::__invoke():95}","class":"Aws\\WrappedHttpHandler","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":174,"function":"callHandler","class":"GuzzleHttp\\Promise\\Promise","type":"::","args":[2,"*** sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/RejectedPromise.php","line":49,"function":"{closure:GuzzleHttp\\Promise\\Promise::settle():172}","class":"GuzzleHttp\\Promise\\Promise","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/TaskQueue.php","line":52,"function":"{closure:GuzzleHttp\\Promise\\RejectedPromise::then():45}","class":"GuzzleHttp\\Promise\\RejectedPromise","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php","line":167,"function":"run","class":"GuzzleHttp\\Promise\\TaskQueue","type":"->","args":[]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php","line":206,"function":"tick","class":"GuzzleHttp\\Handler\\CurlMultiHandler","type":"->","args":[]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":251,"function":"execute","class":"GuzzleHttp\\Handler\\CurlMultiHandler","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":227,"function":"invokeWaitFn","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":272,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":229,"function":"invokeWaitList","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":272,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":229,"function":"invokeWaitList","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":69,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Coroutine.php","line":68,"function":"wait","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":251,"function":"{closure:GuzzleHttp\\Promise\\Coroutine::__construct():66}","class":"GuzzleHttp\\Promise\\Coroutine","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":227,"function":"invokeWaitFn","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":69,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Coroutine.php","line":100,"function":"wait","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/aws/aws-sdk-php/src/S3/S3ClientTrait.php","line":64,"function":"wait","class":"GuzzleHttp\\Promise\\Coroutine","type":"->","args":[]},{"file":"/var/www/html/lib/private/Files/ObjectStore/S3ObjectTrait.php","line":293,"function":"copy","class":"Aws\\S3\\S3Client","type":"->","args":["myuser-nextcloud-prod","urn:oid:1389581","myuser-nextcloud-prod","urn:oid:3597833","private",{"params":{"0":"And 1 more entries, set log level to debug to see all entries","SSECustomerAlgorithm":"AES256","SSECustomerKey":null,"SSECustomerKeyMD5":null,"CopySourceSSECustomerAlgorithm":"AES256","CopySourceSSECustomerKey":null},"mup_threshold":9223372036854776000}]},{"file":"/var/www/html/lib/private/Files/ObjectStore/ObjectStoreStorage.php","line":729,"function":"copyObject","class":"OC\\Files\\ObjectStore\\S3","type":"->","args":["urn:oid:1389581","urn:oid:3597833"]},{"file":"/var/www/html/lib/private/Files/ObjectStore/ObjectStoreStorage.php","line":711,"function":"copyFile","class":"OC\\Files\\ObjectStore\\ObjectStoreStorage","type":"->","args":[{"__class__":"OC\\Files\\Cache\\CacheEntry"},"files_versions/mypath/myfile.txt.v1782935601"]},{"file":"/var/www/html/lib/private/Files/ObjectStore/ObjectStoreStorage.php","line":693,"function":"copyInner","class":"OC\\Files\\ObjectStore\\ObjectStoreStorage","type":"->","args":[{"__class__":"OC\\Files\\Cache\\Cache"},{"__class__":"OC\\Files\\Cache\\CacheEntry"},"files_versions/mypath/myfile.txt.v1782935601"]},{"file":"/var/www/html/lib/private/Files/Storage/Wrapper/Quota.php","line":112,"function":"copy","class":"OC\\Files\\ObjectStore\\ObjectStoreStorage","type":"->","args":["files/mypath/myfile.txt","files_versions/mypath/myfile.txt.v1782935601"]},{"file":"/var/www/html/lib/private/Files/Storage/Wrapper/Wrapper.php","line":140,"function":"copy","class":"OC\\Files\\Storage\\Wrapper\\Quota","type":"->","args":["files/mypath/myfile.txt","files_versions/mypath/myfile.txt.v1782935601"]},{"file":"/var/www/html/lib/private/Files/View.php","line":966,"function":"copy","class":"OC\\Files\\Storage\\Wrapper\\Wrapper","type":"->","args":["files/mypath/myfile.txt","files_versions/mypath/myfile.txt.v1782935601"]},{"file":"/var/www/html/apps/files_versions/lib/Versions/LegacyVersionsBackend.php","line":160,"function":"copy","class":"OC\\Files\\View","type":"->","args":["/files/mypath/myfile.txt","/files_versions/mypath/myfile.txt.v1782935601"]},{"file":"/var/www/html/apps/files_versions/lib/Versions/VersionManager.php","line":92,"function":"createVersion","class":"OCA\\Files_Versions\\Versions\\LegacyVersionsBackend","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/apps/files_versions/lib/Storage.php","line":216,"function":"createVersion","class":"OCA\\Files_Versions\\Versions\\VersionManager","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/apps/files_versions/lib/Listener/FileEventsListener.php","line":290,"function":"store","class":"OCA\\Files_Versions\\Storage","type":"::","args":["/mypath/myfile.txt"]},{"file":"/var/www/html/apps/files_versions/lib/Listener/FileEventsListener.php","line":92,"function":"write_hook","class":"OCA\\Files_Versions\\Listener\\FileEventsListener","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/lib/private/EventDispatcher/ServiceEventListener.php","line":57,"function":"handle","class":"OCA\\Files_Versions\\Listener\\FileEventsListener","type":"->","args":[{"__class__":"OCP\\Files\\Events\\Node\\BeforeNodeWrittenEvent"}]},{"file":"/var/www/html/3rdparty/symfony/event-dispatcher/EventDispatcher.php","line":220,"function":"__invoke","class":"OC\\EventDispatcher\\ServiceEventListener","type":"->","args":[{"__class__":"OCP\\Files\\Events\\Node\\BeforeNodeWrittenEvent"},"OCP\\Files\\Events\\Node\\BeforeNodeWrittenEvent",{"__class__":"Symfony\\Component\\EventDispatcher\\EventDispatcher"}]},{"file":"/var/www/html/3rdparty/symfony/event-dispatcher/EventDispatcher.php","line":56,"function":"callListeners","class":"Symfony\\Component\\EventDispatcher\\EventDispatcher","type":"->","args":[[{"__class__":"Closure"},{"__class__":"Closure"},{"__class__":"Closure"}],"OCP\\Files\\Events\\Node\\BeforeNodeWrittenEvent",{"__class__":"OCP\\Files\\Events\\Node\\BeforeNodeWrittenEvent"}]},{"file":"/var/www/html/lib/private/EventDispatcher/EventDispatcher.php","line":67,"function":"dispatch","class":"Symfony\\Component\\EventDispatcher\\EventDispatcher","type":"->","args":[{"__class__":"OCP\\Files\\Events\\Node\\BeforeNodeWrittenEvent"},"OCP\\Files\\Events\\Node\\BeforeNodeWrittenEvent"]},{"file":"/var/www/html/lib/private/EventDispatcher/EventDispatcher.php","line":79,"function":"dispatch","class":"OC\\EventDispatcher\\EventDispatcher","type":"->","args":["OCP\\Files\\Events\\Node\\BeforeNodeWrittenEvent",{"__class__":"OCP\\Files\\Events\\Node\\BeforeNodeWrittenEvent"}]},{"file":"/var/www/html/lib/private/Files/Node/HookConnector.php","line":74,"function":"dispatchTyped","class":"OC\\EventDispatcher\\EventDispatcher","type":"->","args":[{"__class__":"OCP\\Files\\Events\\Node\\BeforeNodeWrittenEvent"}]},{"file":"/var/www/html/lib/private/legacy/OC_Hook.php","line":85,"function":"write","class":"OC\\Files\\Node\\HookConnector","type":"->","args":[{"path":"/mypath/myfile.txt","run":"*** sensitive parameters replaced ***"}]},{"file":"/var/www/html/apps/dav/lib/Connector/Sabre/File.php","line":427,"function":"emit","class":"OC_Hook","type":"::","args":["OC_Filesystem","write",{"path":"/mypath/myfile.txt","run":"*** sensitive parameters replaced ***"}]},{"file":"/var/www/html/apps/dav/lib/Connector/Sabre/File.php","line":147,"function":"emitPreHooks","class":"OCA\\DAV\\Connector\\Sabre\\File","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":1137,"function":"put","class":"OCA\\DAV\\Connector\\Sabre\\File","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php","line":492,"function":"updateFile","class":"Sabre\\DAV\\Server","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"httpPut","class":"Sabre\\DAV\\CorePlugin","type":"->","args":[{"__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":472,"function":"emit","class":"Sabre\\DAV\\Server","type":"->","args":["method:PUT",[{"__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]]},{"file":"/var/www/html/apps/dav/lib/Connector/Sabre/Server.php","line":212,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->","args":[{"__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]},{"file":"/var/www/html/apps/dav/lib/Server.php","line":428,"function":"start","class":"OCA\\DAV\\Connector\\Sabre\\Server","type":"->","args":[]},{"file":"/var/www/html/apps/dav/appinfo/v2/remote.php","line":25,"function":"exec","class":"OCA\\DAV\\Server","type":"->","args":[]},{"file":"/var/www/html/remote.php","line":151,"args":["/var/www/html/apps/dav/appinfo/v2/remote.php"],"function":"require_once"}],"File":"/var/www/html/3rdparty/aws/aws-sdk-php/src/WrappedHttpHandler.php","Line":198,"Previous":{"Exception":"GuzzleHttp\\Exception\\ServerException","Message":"Server error: `PUT https://myuser-nextcloud-prod.s3.xxx/urn%3Aoid%3A3597833` resulted in a `500 Internal Server Error` response:\n<?xml version='1.0' encoding='UTF-8'?>\n<Error><Code>InternalError</Code><Message>We encountered an internal error. Pleas (truncated...)\n","Code":500,"Trace":[{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Middleware.php","line":72,"function":"create","class":"GuzzleHttp\\Exception\\RequestException","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":209,"function":"{closure:{closure:{closure:GuzzleHttp\\Middleware::httpErrors():60}:61}:67}","class":"GuzzleHttp\\Middleware","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":158,"function":"callHandler","class":"GuzzleHttp\\Promise\\Promise","type":"::","args":[1,"*** sensitive parameters replaced ***","*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/TaskQueue.php","line":52,"function":"{closure:GuzzleHttp\\Promise\\Promise::settle():156}","class":"GuzzleHttp\\Promise\\Promise","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php","line":167,"function":"run","class":"GuzzleHttp\\Promise\\TaskQueue","type":"->","args":[]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php","line":206,"function":"tick","class":"GuzzleHttp\\Handler\\CurlMultiHandler","type":"->","args":[]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":251,"function":"execute","class":"GuzzleHttp\\Handler\\CurlMultiHandler","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":227,"function":"invokeWaitFn","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":272,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":229,"function":"invokeWaitList","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":272,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":229,"function":"invokeWaitList","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":69,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Coroutine.php","line":68,"function":"wait","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":251,"function":"{closure:GuzzleHttp\\Promise\\Coroutine::__construct():66}","class":"GuzzleHttp\\Promise\\Coroutine","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":227,"function":"invokeWaitFn","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":69,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Coroutine.php","line":100,"function":"wait","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/aws/aws-sdk-php/src/S3/S3ClientTrait.php","line":64,"function":"wait","class":"GuzzleHttp\\Promise\\Coroutine","type":"->","args":[]},{"file":"/var/www/html/lib/private/Files/ObjectStore/S3ObjectTrait.php","line":293,"function":"copy","class":"Aws\\S3\\S3Client","type":"->","args":["myuser-nextcloud-prod","urn:oid:1389581","myuser-nextcloud-prod","urn:oid:3597833","private",{"params":{"0":"And 1 more entries, set log level to debug to see all entries","SSECustomerAlgorithm":"AES256","SSECustomerKey":null,"SSECustomerKeyMD5":null,"CopySourceSSECustomerAlgorithm":"AES256","CopySourceSSECustomerKey":null},"mup_threshold":9223372036854776000}]},{"file":"/var/www/html/lib/private/Files/ObjectStore/ObjectStoreStorage.php","line":729,"function":"copyObject","class":"OC\\Files\\ObjectStore\\S3","type":"->","args":["urn:oid:1389581","urn:oid:3597833"]},{"file":"/var/www/html/lib/private/Files/ObjectStore/ObjectStoreStorage.php","line":711,"function":"copyFile","class":"OC\\Files\\ObjectStore\\ObjectStoreStorage","type":"->","args":[{"__class__":"OC\\Files\\Cache\\CacheEntry"},"files_versions/mypath/myfile.txt.v1782935601"]},{"file":"/var/www/html/lib/private/Files/ObjectStore/ObjectStoreStorage.php","line":693,"function":"copyInner","class":"OC\\Files\\ObjectStore\\ObjectStoreStorage","type":"->","args":[{"__class__":"OC\\Files\\Cache\\Cache"},{"__class__":"OC\\Files\\Cache\\CacheEntry"},"files_versions/mypath/myfile.txt.v1782935601"]},{"file":"/var/www/html/lib/private/Files/Storage/Wrapper/Quota.php","line":112,"function":"copy","class":"OC\\Files\\ObjectStore\\ObjectStoreStorage","type":"->","args":["files/mypath/myfile.txt","files_versions/mypath/myfile.txt.v1782935601"]},{"file":"/var/www/html/lib/private/Files/Storage/Wrapper/Wrapper.php","line":140,"function":"copy","class":"OC\\Files\\Storage\\Wrapper\\Quota","type":"->","args":["files/mypath/myfile.txt","files_versions/mypath/myfile.txt.v1782935601"]},{"file":"/var/www/html/lib/private/Files/View.php","line":966,"function":"copy","class":"OC\\Files\\Storage\\Wrapper\\Wrapper","type":"->","args":["files/mypath/myfile.txt","files_versions/mypath/myfile.txt.v1782935601"]},{"file":"/var/www/html/apps/files_versions/lib/Versions/LegacyVersionsBackend.php","line":160,"function":"copy","class":"OC\\Files\\View","type":"->","args":["/files/mypath/myfile.txt","/files_versions/mypath/myfile.txt.v1782935601"]},{"file":"/var/www/html/apps/files_versions/lib/Versions/VersionManager.php","line":92,"function":"createVersion","class":"OCA\\Files_Versions\\Versions\\LegacyVersionsBackend","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/apps/files_versions/lib/Storage.php","line":216,"function":"createVersion","class":"OCA\\Files_Versions\\Versions\\VersionManager","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/apps/files_versions/lib/Listener/FileEventsListener.php","line":290,"function":"store","class":"OCA\\Files_Versions\\Storage","type":"::","args":["/mypath/myfile.txt"]},{"file":"/var/www/html/apps/files_versions/lib/Listener/FileEventsListener.php","line":92,"function":"write_hook","class":"OCA\\Files_Versions\\Listener\\FileEventsListener","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/lib/private/EventDispatcher/ServiceEventListener.php","line":57,"function":"handle","class":"OCA\\Files_Versions\\Listener\\FileEventsListener","type":"->","args":[{"__class__":"OCP\\Files\\Events\\Node\\BeforeNodeWrittenEvent"}]},{"file":"/var/www/html/3rdparty/symfony/event-dispatcher/EventDispatcher.php","line":220,"function":"__invoke","class":"OC\\EventDispatcher\\ServiceEventListener","type":"->","args":[{"__class__":"OCP\\Files\\Events\\Node\\BeforeNodeWrittenEvent"},"OCP\\Files\\Events\\Node\\BeforeNodeWrittenEvent",{"__class__":"Symfony\\Component\\EventDispatcher\\EventDispatcher"}]},{"file":"/var/www/html/3rdparty/symfony/event-dispatcher/EventDispatcher.php","line":56,"function":"callListeners","class":"Symfony\\Component\\EventDispatcher\\EventDispatcher","type":"->","args":[[{"__class__":"Closure"},{"__class__":"Closure"},{"__class__":"Closure"}],"OCP\\Files\\Events\\Node\\BeforeNodeWrittenEvent",{"__class__":"OCP\\Files\\Events\\Node\\BeforeNodeWrittenEvent"}]},{"file":"/var/www/html/lib/private/EventDispatcher/EventDispatcher.php","line":67,"function":"dispatch","class":"Symfony\\Component\\EventDispatcher\\EventDispatcher","type":"->","args":[{"__class__":"OCP\\Files\\Events\\Node\\BeforeNodeWrittenEvent"},"OCP\\Files\\Events\\Node\\BeforeNodeWrittenEvent"]},{"file":"/var/www/html/lib/private/EventDispatcher/EventDispatcher.php","line":79,"function":"dispatch","class":"OC\\EventDispatcher\\EventDispatcher","type":"->","args":["OCP\\Files\\Events\\Node\\BeforeNodeWrittenEvent",{"__class__":"OCP\\Files\\Events\\Node\\BeforeNodeWrittenEvent"}]},{"file":"/var/www/html/lib/private/Files/Node/HookConnector.php","line":74,"function":"dispatchTyped","class":"OC\\EventDispatcher\\EventDispatcher","type":"->","args":[{"__class__":"OCP\\Files\\Events\\Node\\BeforeNodeWrittenEvent"}]},{"file":"/var/www/html/lib/private/legacy/OC_Hook.php","line":85,"function":"write","class":"OC\\Files\\Node\\HookConnector","type":"->","args":[{"path":"/mypath/myfile.txt","run":"*** sensitive parameters replaced ***"}]},{"file":"/var/www/html/apps/dav/lib/Connector/Sabre/File.php","line":427,"function":"emit","class":"OC_Hook","type":"::","args":["OC_Filesystem","write",{"path":"/mypath/myfile.txt","run":"*** sensitive parameters replaced ***"}]},{"file":"/var/www/html/apps/dav/lib/Connector/Sabre/File.php","line":147,"function":"emitPreHooks","class":"OCA\\DAV\\Connector\\Sabre\\File","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":1137,"function":"put","class":"OCA\\DAV\\Connector\\Sabre\\File","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php","line":492,"function":"updateFile","class":"Sabre\\DAV\\Server","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"httpPut","class":"Sabre\\DAV\\CorePlugin","type":"->","args":[{"__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":472,"function":"emit","class":"Sabre\\DAV\\Server","type":"->","args":["method:PUT",[{"__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]]},{"file":"/var/www/html/apps/dav/lib/Connector/Sabre/Server.php","line":212,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->","args":[{"__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]},{"file":"/var/www/html/apps/dav/lib/Server.php","line":428,"function":"start","class":"OCA\\DAV\\Connector\\Sabre\\Server","type":"->","args":[]},{"file":"/var/www/html/apps/dav/appinfo/v2/remote.php","line":25,"function":"exec","class":"OCA\\DAV\\Server","type":"->","args":[]},{"file":"/var/www/html/remote.php","line":151,"args":["/var/www/html/apps/dav/appinfo/v2/remote.php"],"function":"require_once"}],"File":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Exception/RequestException.php","Line":111},"message":"Error executing \"CopyObject\" on \"https://myuser-nextcloud-prod.s3.xxx/urn%3Aoid%3A3597833\"; AWS HTTP error:\nInternalError (server): We encountered an internal error. Please try again.","exception":"{\"class\":\"Aws\\S3\\Exception\\S3Exception\",\"message\":\"Error executing \\\"CopyObject\\\" on \\\"https://myuser-nextcloud-prod.s3.xxx/urn%3Aoid%3A3597833\\\"; AWS HTTP error:\\nInternalError (server): We encountered an internal error. Please try again.\",\"code\":0,\"file\":\"/var/www/html/3rdparty/aws/aws-sdk-php/src/WrappedHttpHandler.php:198\",\"trace\":\"#0 /var/www/html/3rdparty/aws/aws-sdk-php/src/WrappedHttpHandler.php(97): Aws\\WrappedHttpHandler->parseError(Array, Object(GuzzleHttp\\Psr7\\Request), Object(Aws\\Command), Array)\\n#1 /var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php(209): Aws\\WrappedHttpHandler->{closure:Aws\\WrappedHttpHandler::__invoke():95}(Array)\\n#2 /var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php(174): GuzzleHttp\\Promise\\Promise::callHandler(2, Array, NULL)\\n#3 /var/www/html/3rdparty/guzzlehttp/promises/src/RejectedPromise.php(49): GuzzleHttp\\Promise\\Promise::{closure:GuzzleHttp\\Promise\\Promise::settle():172}(Array)\\n#4 /var/www/html/3rdparty/guzzlehttp/promises/src/TaskQueue.php(52): GuzzleHttp\\Promise\\RejectedPromise::{closure:GuzzleHttp\\Promise\\RejectedPromise::then():45}()\\n#5 /var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php(167): GuzzleHttp\\Promise\\TaskQueue->run()\\n#6 /var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php(206): GuzzleHttp\\Handler\\CurlMultiHandler->tick()\\n#7 /var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php(251): GuzzleHttp\\Handler\\CurlMultiHandler->execute(true)\\n#8 /var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php(227): GuzzleHttp\\Promise\\Promise->invokeWaitFn()\\n#9 /var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php(272): GuzzleHttp\\Promise\\Promise->waitIfPending()\\n#10 /var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php(229): GuzzleHttp\\Promise\\Promise->invokeWaitList()\\n#11 /var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php(272): GuzzleHttp\\Promise\\Promise->waitIfPending()\\n#12 /var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php(229): GuzzleHttp\\Promise\\Promise->invokeWaitList()\\n#13 /var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php(69): GuzzleHttp\\Promise\\Promise->waitIfPending()\\n#14 /var/www/html/3rdparty/guzzlehttp/promises/src/Coroutine.php(68): GuzzleHttp\\Promise\\Promise->wait()\\n#15 /var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php(251): GuzzleHttp\\Promise\\Coroutine->{closure:GuzzleHttp\\Promise\\Coroutine::__construct():66}(true)\\n#16 /var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php(227): GuzzleHttp\\Promise\\Promise->invokeWaitFn()\\n#17 /var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php(69): GuzzleHttp\\Promise\\Promise->waitIfPending()\\n#18 /var/www/html/3rdparty/guzzlehttp/promises/src/Coroutine.php(100): GuzzleHttp\\Promise\\Promise->wait(true)\\n#19 /var/www/html/3rdparty/aws/aws-sdk-php/src/S3/S3ClientTrait.php(64): GuzzleHttp\\Promise\\Coroutine->wait()\\n#20 /var/www/html/lib/private/Files/ObjectStore/S3ObjectTrait.php(293): Aws\\S3\\S3Client->copy('myuser-nextclou...', 'urn:oid:1389581', 'myuser-nextclou...', 'urn:oid:3597833', 'private', Array)\\n#21 /var/www/html/lib/private/Files/ObjectStore/ObjectStoreStorage.php(729): OC\\Files\\ObjectStore\\S3->copyObject('urn:oid:1389581', 'urn:oid:3597833')\\n#22 /var/www/html/lib/private/Files/ObjectStore/ObjectStoreStorage.php(711): OC\\Files\\ObjectStore\\ObjectStoreStorage->copyFile(Object(OC\\Files\\Cache\\CacheEntry), 'files_versions/...')\\n#23 /var/www/html/lib/private/Files/ObjectStore/ObjectStoreStorage.php(693): OC\\Files\\ObjectStore\\ObjectStoreStorage->copyInner(Object(OC\\Files\\Cache\\Cache), Object(OC\\Files\\Cache\\CacheEntry), 'files_versions/...')\\n#24 /var/www/html/lib/private/Files/Storage/Wrapper/Quota.php(112): OC\\Files\\ObjectStore\\ObjectStoreStorage->copy('files/Serveur/s...', 'files_versions/...')\\n#25 /var/www/html/lib/private/Files/Storage/Wrapper/Wrapper.php(140): OC\\Files\\Storage\\Wrapper\\Quota->copy('files/Serveur/s...', 'files_versions/...')\\n#26 /var/www/html/lib/private/Files/View.php(966): OC\\Files\\Storage\\Wrapper\\Wrapper->copy('files/Serveur/s...', 'files_versions/...')\\n#27 /var/www/html/apps/files_versions/lib/Versions/LegacyVersionsBackend.php(160): OC\\Files\\View->copy('/files/Serveur/...', '/files_versions...')\\n#28 /var/www/html/apps/files_versions/lib/Versions/VersionManager.php(92): OCA\\Files_Versions\\Versions\\LegacyVersionsBackend->createVersion(Object(OC\\User\\User), Object(OC\\Files\\Node\\File))\\n#29 /var/www/html/apps/files_versions/lib/Storage.php(216): OCA\\Files_Versions\\Versions\\VersionManager->createVersion(Object(OC\\User\\User), Object(OC\\Files\\Node\\File))\\n#30 /var/www/html/apps/files_versions/lib/Listener/FileEventsListener.php(290): OCA\\Files_Versions\\Storage::store('/Serveur/server...')\\n#31 /var/www/html/apps/files_versions/lib/Listener/FileEventsListener.php(92): OCA\\Files_Versions\\Listener\\FileEventsListener->write_hook(Object(OC\\Files\\Node\\File))\\n#32 /var/www/html/lib/private/EventDispatcher/ServiceEventListener.php(57): OCA\\Files_Versions\\Listener\\FileEventsListener->handle(Object(OCP\\Files\\Events\\Node\\BeforeNodeWrittenEvent))\\n#33 /var/www/html/3rdparty/symfony/event-dispatcher/EventDispatcher.php(220): OC\\EventDispatcher\\ServiceEventListener->__invoke(Object(OCP\\Files\\Events\\Node\\BeforeNodeWrittenEvent), 'OCP\\\\Files\\\\Event...', Object(Symfony\\Component\\EventDispatcher\\EventDispatcher))\\n#34 /var/www/html/3rdparty/symfony/event-dispatcher/EventDispatcher.php(56): Symfony\\Component\\EventDispatcher\\EventDispatcher->callListeners(Array, 'OCP\\\\Files\\\\Event...', Object(OCP\\Files\\Events\\Node\\BeforeNodeWrittenEvent))\\n#35 /var/www/html/lib/private/EventDispatcher/EventDispatcher.php(67): Symfony\\Component\\EventDispatcher\\EventDispatcher->dispatch(Object(OCP\\Files\\Events\\Node\\BeforeNodeWrittenEvent), 'OCP\\\\Files\\\\Event...')\\n#36 /var/www/html/lib/private/EventDispatcher/EventDispatcher.php(79): OC\\EventDispatcher\\EventDispatcher->dispatch('OCP\\\\Files\\\\Event...', Object(OCP\\Files\\Events\\Node\\BeforeNodeWrittenEvent))\\n#37 /var/www/html/lib/private/Files/Node/HookConnector.php(74): OC\\EventDispatcher\\EventDispatcher->dispatchTyped(Object(OCP\\Files\\Events\\Node\\BeforeNodeWrittenEvent))\\n#38 /var/www/html/lib/private/legacy/OC_Hook.php(85): OC\\Files\\Node\\HookConnector->write(Array)\\n#39 /var/www/html/apps/dav/lib/Connector/Sabre/File.php(427): OC_Hook::emit('OC_Filesystem', 'write', Array)\\n#40 /var/www/html/apps/dav/lib/Connector/Sabre/File.php(147): OCA\\DAV\\Connector\\Sabre\\File->emitPreHooks(true)\\n#41 /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php(1137): OCA\\DAV\\Connector\\Sabre\\File->put(Resource id #7)\\n#42 /var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php(492): Sabre\\DAV\\Server->updateFile('files/myuser/Se...', Resource id #7, NULL)\\n#43 /var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php(89): Sabre\\DAV\\CorePlugin->httpPut(Object(Sabre\\HTTP\\Request), Object(Sabre\\HTTP\\Response))\\n#44 /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php(472): Sabre\\DAV\\Server->emit('method:PUT', Array)\\n#45 /var/www/html/apps/dav/lib/Connector/Sabre/Server.php(212): Sabre\\DAV\\Server->invokeMethod(Object(Sabre\\HTTP\\Request), Object(Sabre\\HTTP\\Response))\\n#46 /var/www/html/apps/dav/lib/Server.php(428): OCA\\DAV\\Connector\\Sabre\\Server->start()\\n#47 /var/www/html/apps/dav/appinfo/v2/remote.php(25): OCA\\DAV\\Server->exec()\\n#48 /var/www/html/remote.php(151): require_once('/var/www/html/a...')\\n#49 {main}\",\"previous\":{\"class\":\"GuzzleHttp\\Exception\\ServerException\",\"message\":\"Server error: `PUT https://myuser-nextcloud-prod.s3.xxx/urn%3Aoid%3A3597833` resulted in a `500 Internal Server Error` response:\\n<?xml version='1.0' encoding='UTF-8'?>\\n<Error><Code>InternalError</Code><Message>We encountered an internal error. Pleas (truncated...)\\n\",\"code\":500,\"file\":\"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Exception/RequestException.php:111\",\"trace\":\"#0 /var/www/html/3rdparty/guzzlehttp/guzzle/src/Middleware.php(72): GuzzleHttp\\Exception\\RequestException::create(Object(GuzzleHttp\\Psr7\\Request), Object(GuzzleHttp\\Psr7\\Response), NULL, Array, NULL)\\n#1 /var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php(209): GuzzleHttp\\Middleware::{closure:{closure:{closure:GuzzleHttp\\Middleware::httpErrors():60}:61}:67}(Object(GuzzleHttp\\Psr7\\Response))\\n#2 /var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php(158): GuzzleHttp\\Promise\\Promise::callHandler(1, Object(GuzzleHttp\\Psr7\\Response), NULL)\\n#3 /var/www/html/3rdparty/guzzlehttp/promises/src/TaskQueue.php(52): GuzzleHttp\\Promise\\Promise::{closure:GuzzleHttp\\Promise\\Promise::settle():156}()\\n#4 /var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php(167): GuzzleHttp\\Promise\\TaskQueue->run()\\n#5 /var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php(206): GuzzleHttp\\Handler\\CurlMultiHandler->tick()\\n#6 /var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php(251): GuzzleHttp\\Handler\\CurlMultiHandler->execute(true)\\n#7 /var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php(227): GuzzleHttp\\Promise\\Promise->invokeWaitFn()\\n#8 /var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php(272): GuzzleHttp\\Promise\\Promise->waitIfPending()\\n#9 /var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php(229): GuzzleHttp\\Promise\\Promise->invokeWaitList()\\n#10 /var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php(272): GuzzleHttp\\Promise\\Promise->waitIfPending()\\n#11 /var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php(229): GuzzleHttp\\Promise\\Promise->invokeWaitList()\\n#12 /var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php(69): GuzzleHttp\\Promise\\Promise->waitIfPending()\\n#13 /var/www/html/3rdparty/guzzlehttp/promises/src/Coroutine.php(68): GuzzleHttp\\Promise\\Promise->wait()\\n#14 /var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php(251): GuzzleHttp\\Promise\\Coroutine->{closure:GuzzleHttp\\Promise\\Coroutine::__construct():66}(true)\\n#15 /var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php(227): GuzzleHttp\\Promise\\Promise->invokeWaitFn()\\n#16 /var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php(69): GuzzleHttp\\Promise\\Promise->waitIfPending()\\n#17 /var/www/html/3rdparty/guzzlehttp/promises/src/Coroutine.php(100): GuzzleHttp\\Promise\\Promise->wait(true)\\n#18 /var/www/html/3rdparty/aws/aws-sdk-php/src/S3/S3ClientTrait.php(64): GuzzleHttp\\Promise\\Coroutine->wait()\\n#19 /var/www/html/lib/private/Files/ObjectStore/S3ObjectTrait.php(293): Aws\\S3\\S3Client->copy('myuser-nextclou...', 'urn:oid:1389581', 'myuser-nextclou...', 'urn:oid:3597833', 'private', Array)\\n#20 /var/www/html/lib/private/Files/ObjectStore/ObjectStoreStorage.php(729): OC\\Files\\ObjectStore\\S3->copyObject('urn:oid:1389581', 'urn:oid:3597833')\\n#21 /var/www/html/lib/private/Files/ObjectStore/ObjectStoreStorage.php(711): OC\\Files\\ObjectStore\\ObjectStoreStorage->copyFile(Object(OC\\Files\\Cache\\CacheEntry), 'files_versions/...')\\n#22 /var/www/html/lib/private/Files/ObjectStore/ObjectStoreStorage.php(693): OC\\Files\\ObjectStore\\ObjectStoreStorage->copyInner(Object(OC\\Files\\Cache\\Cache), Object(OC\\Files\\Cache\\CacheEntry), 'files_versions/...')\\n#23 /var/www/html/lib/private/Files/Storage/Wrapper/Quota.php(112): OC\\Files\\ObjectStore\\ObjectStoreStorage->copy('files/Serveur/s...', 'files_versions/...')\\n#24 /var/www/html/lib/private/Files/Storage/Wrapper/Wrapper.php(140): OC\\Files\\Storage\\Wrapper\\Quota->copy('files/Serveur/s...', 'files_versions/...')\\n#25 /var/www/html/lib/private/Files/View.php(966): OC\\Files\\Storage\\Wrapper\\Wrapper->copy('files/Serveur/s...', 'files_versions/...')\\n#26 /var/www/html/apps/files_versions/lib/Versions/LegacyVersionsBackend.php(160): OC\\Files\\View->copy('/files/Serveur/...', '/files_versions...')\\n#27 /var/www/html/apps/files_versions/lib/Versions/VersionManager.php(92): OCA\\Files_Versions\\Versions\\LegacyVersionsBackend->createVersion(Object(OC\\User\\User), Object(OC\\Files\\Node\\File))\\n#28 /var/www/html/apps/files_versions/lib/Storage.php(216): OCA\\Files_Versions\\Versions\\VersionManager->createVersion(Object(OC\\User\\User), Object(OC\\Files\\Node\\File))\\n#29 /var/www/html/apps/files_versions/lib/Listener/FileEventsListener.php(290): OCA\\Files_Versions\\Storage::store('/Serveur/server...')\\n#30 /var/www/html/apps/files_versions/lib/Listener/FileEventsListener.php(92): OCA\\Files_Versions\\Listener\\FileEventsListener->write_hook(Object(OC\\Files\\Node\\File))\\n#31 /var/www/html/lib/private/EventDispatcher/ServiceEventListener.php(57): OCA\\Files_Versions\\Listener\\FileEventsListener->handle(Object(OCP\\Files\\Events\\Node\\BeforeNodeWrittenEvent))\\n#32 /var/www/html/3rdparty/symfony/event-dispatcher/EventDispatcher.php(220): OC\\EventDispatcher\\ServiceEventListener->__invoke(Object(OCP\\Files\\Events\\Node\\BeforeNodeWrittenEvent), 'OCP\\\\Files\\\\Event...', Object(Symfony\\Component\\EventDispatcher\\EventDispatcher))\\n#33 /var/www/html/3rdparty/symfony/event-dispatcher/EventDispatcher.php(56): Symfony\\Component\\EventDispatcher\\EventDispatcher->callListeners(Array, 'OCP\\\\Files\\\\Event...', Object(OCP\\Files\\Events\\Node\\BeforeNodeWrittenEvent))\\n#34 /var/www/html/lib/private/EventDispatcher/EventDispatcher.php(67): Symfony\\Component\\EventDispatcher\\EventDispatcher->dispatch(Object(OCP\\Files\\Events\\Node\\BeforeNodeWrittenEvent), 'OCP\\\\Files\\\\Event...')\\n#35 /var/www/html/lib/private/EventDispatcher/EventDispatcher.php(79): OC\\EventDispatcher\\EventDispatcher->dispatch('OCP\\\\Files\\\\Event...', Object(OCP\\Files\\Events\\Node\\BeforeNodeWrittenEvent))\\n#36 /var/www/html/lib/private/Files/Node/HookConnector.php(74): OC\\EventDispatcher\\EventDispatcher->dispatchTyped(Object(OCP\\Files\\Events\\Node\\BeforeNodeWrittenEvent))\\n#37 /var/www/html/lib/private/legacy/OC_Hook.php(85): OC\\Files\\Node\\HookConnector->write(Array)\\n#38 /var/www/html/apps/dav/lib/Connector/Sabre/File.php(427): OC_Hook::emit('OC_Filesystem', 'write', Array)\\n#39 /var/www/html/apps/dav/lib/Connector/Sabre/File.php(147): OCA\\DAV\\Connector\\Sabre\\File->emitPreHooks(true)\\n#40 /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php(1137): OCA\\DAV\\Connector\\Sabre\\File->put(Resource id #7)\\n#41 /var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php(492): Sabre\\DAV\\Server->updateFile('files/myuser/Se...', Resource id #7, NULL)\\n#42 /var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php(89): Sabre\\DAV\\CorePlugin->httpPut(Object(Sabre\\HTTP\\Request), Object(Sabre\\HTTP\\Response))\\n#43 /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php(472): Sabre\\DAV\\Server->emit('method:PUT', Array)\\n#44 /var/www/html/apps/dav/lib/Connector/Sabre/Server.php(212): Sabre\\DAV\\Server->invokeMethod(Object(Sabre\\HTTP\\Request), Object(Sabre\\HTTP\\Response))\\n#45 /var/www/html/apps/dav/lib/Server.php(428): OCA\\DAV\\Connector\\Sabre\\Server->start()\\n#46 /var/www/html/apps/dav/appinfo/v2/remote.php(25): OCA\\DAV\\Server->exec()\\n#47 /var/www/html/remote.php(151): require_once('/var/www/html/a...')\\n#48 {main}\"}}","CustomMessage":"Error executing \"CopyObject\" on \"https://myuser-nextcloud-prod.s3.xxx/urn%3Aoid%3A3597833\"; AWS HTTP error:\nInternalError (server): We encountered an internal error. Please try again."},"id":"6a493da1631d9"}

{"reqId":"zvM6yPrEKSkLkvQnOtz1","level":3,"time":"2026-07-04T13:29:27+00:00","remoteAddr":"ip_sensitive","user":"myuser","app":"no app in context","method":"PUT","url":"/remote.php/dav/files/myuser/mypath/myfile.txt","scriptName":"/remote.php","message":"Did expect one result but found none when executing: query \"SELECT * FROM `*PREFIX*files_versions` WHERE (`file_id` = :dcValue1) AND (`timestamp` = :dcValue2)\"; ","userAgent":"Mozilla/5.0 (Linux) mirall/3.16.7-1~deb13u1 (Debian built) (Nextcloud, debian-6.12.94+deb13-amd64 ClientArchitecture: x86_64 OsArchitecture: x86_64)","version":"33.0.6.2","clientReqId":"43ab13b9-5f82-4136-9ac2-33b707927ca1","exception":{"Exception":"OCP\\AppFramework\\Db\\DoesNotExistException","Message":"Did expect one result but found none when executing: query \"SELECT * FROM `*PREFIX*files_versions` WHERE (`file_id` = :dcValue1) AND (`timestamp` = :dcValue2)\"; ","Code":0,"Trace":[{"file":"/var/www/html/lib/public/AppFramework/Db/QBMapper.php","line":382,"function":"findOneQuery","class":"OCP\\AppFramework\\Db\\QBMapper","type":"->","args":[{"__class__":"OC\\DB\\QueryBuilder\\QueryBuilder"}]},{"file":"/var/www/html/apps/files_versions/lib/Db/VersionsMapper.php","line":60,"function":"findEntity","class":"OCP\\AppFramework\\Db\\QBMapper","type":"->","args":[{"__class__":"OC\\DB\\QueryBuilder\\QueryBuilder"}]},{"file":"/var/www/html/apps/files_versions/lib/Versions/LegacyVersionsBackend.php","line":316,"function":"findVersionForFileId","class":"OCA\\Files_Versions\\Db\\VersionsMapper","type":"->","args":[1389581,1783171748]},{"file":"/var/www/html/apps/files_versions/lib/Versions/VersionManager.php","line":164,"function":"setMetadataValue","class":"OCA\\Files_Versions\\Versions\\LegacyVersionsBackend","type":"->","args":[{"__class__":"OC\\Files\\Node\\File"},1783171748,"author","myuser"]},{"file":"/var/www/html/apps/files_versions/lib/Listener/VersionAuthorListener.php","line":53,"function":"setMetadataValue","class":"OCA\\Files_Versions\\Versions\\VersionManager","type":"->","args":[{"__class__":"OC\\Files\\Node\\File"},1783171748,"author","myuser"]},{"file":"/var/www/html/apps/files_versions/lib/Listener/VersionAuthorListener.php","line":35,"function":"post_write_hook","class":"OCA\\Files_Versions\\Listener\\VersionAuthorListener","type":"->","args":[{"__class__":"OC\\Files\\Node\\File"}]},{"file":"/var/www/html/lib/private/EventDispatcher/ServiceEventListener.php","line":57,"function":"handle","class":"OCA\\Files_Versions\\Listener\\VersionAuthorListener","type":"->","args":[{"__class__":"OCP\\Files\\Events\\Node\\NodeWrittenEvent"}]},{"file":"/var/www/html/3rdparty/symfony/event-dispatcher/EventDispatcher.php","line":220,"function":"__invoke","class":"OC\\EventDispatcher\\ServiceEventListener","type":"->","args":[{"__class__":"OCP\\Files\\Events\\Node\\NodeWrittenEvent"},"OCP\\Files\\Events\\Node\\NodeWrittenEvent",{"__class__":"Symfony\\Component\\EventDispatcher\\EventDispatcher"}]},{"file":"/var/www/html/3rdparty/symfony/event-dispatcher/EventDispatcher.php","line":56,"function":"callListeners","class":"Symfony\\Component\\EventDispatcher\\EventDispatcher","type":"->","args":[[{"__class__":"Closure"},{"__class__":"Closure"},{"__class__":"Closure"},{"__class__":"Closure"},{"__class__":"Closure"},"And 2 more entries, set log level to debug to see all entries"],"OCP\\Files\\Events\\Node\\NodeWrittenEvent",{"__class__":"OCP\\Files\\Events\\Node\\NodeWrittenEvent"}]},{"file":"/var/www/html/lib/private/EventDispatcher/EventDispatcher.php","line":67,"function":"dispatch","class":"Symfony\\Component\\EventDispatcher\\EventDispatcher","type":"->","args":[{"__class__":"OCP\\Files\\Events\\Node\\NodeWrittenEvent"},"OCP\\Files\\Events\\Node\\NodeWrittenEvent"]},{"file":"/var/www/html/lib/private/EventDispatcher/EventDispatcher.php","line":79,"function":"dispatch","class":"OC\\EventDispatcher\\EventDispatcher","type":"->","args":["OCP\\Files\\Events\\Node\\NodeWrittenEvent",{"__class__":"OCP\\Files\\Events\\Node\\NodeWrittenEvent"}]},{"file":"/var/www/html/lib/private/Files/Node/HookConnector.php","line":83,"function":"dispatchTyped","class":"OC\\EventDispatcher\\EventDispatcher","type":"->","args":[{"__class__":"OCP\\Files\\Events\\Node\\NodeWrittenEvent"}]},{"file":"/var/www/html/lib/private/legacy/OC_Hook.php","line":85,"function":"postWrite","class":"OC\\Files\\Node\\HookConnector","type":"->","args":[{"path":"/mypath/myfile.txt"}]},{"file":"/var/www/html/apps/dav/lib/Connector/Sabre/File.php","line":452,"function":"emit","class":"OC_Hook","type":"::","args":["OC_Filesystem","post_write",{"path":"/mypath/myfile.txt"}]},{"file":"/var/www/html/apps/dav/lib/Connector/Sabre/File.php","line":387,"function":"emitPostHooks","class":"OCA\\DAV\\Connector\\Sabre\\File","type":"->","args":[true]},{"file":"/var/www/html/apps/dav/lib/Connector/Sabre/File.php","line":331,"function":"finalizeUpload","class":"OCA\\DAV\\Connector\\Sabre\\File","type":"->","args":[{"__class__":"OCA\\Files_Trashbin\\Storage","cache":{"__class__":"OC\\Files\\Cache\\Cache"},"scanner":"*** sensitive parameters replaced ***","watcher":"*** sensitive parameters replaced ***","propagator":{"__class__":"OC\\Files\\Cache\\Propagator"},"updater":{"__class__":"OC\\Files\\Cache\\Updater"}},"files/mypath/myfile.txt",true,{"__class__":"OC\\Files\\View"}]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":1137,"function":"put","class":"OCA\\DAV\\Connector\\Sabre\\File","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php","line":492,"function":"updateFile","class":"Sabre\\DAV\\Server","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"httpPut","class":"Sabre\\DAV\\CorePlugin","type":"->","args":[{"__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":472,"function":"emit","class":"Sabre\\DAV\\Server","type":"->","args":["method:PUT",[{"__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]]},{"file":"/var/www/html/apps/dav/lib/Connector/Sabre/Server.php","line":212,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->","args":[{"__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]},{"file":"/var/www/html/apps/dav/lib/Server.php","line":428,"function":"start","class":"OCA\\DAV\\Connector\\Sabre\\Server","type":"->","args":[]},{"file":"/var/www/html/apps/dav/appinfo/v2/remote.php","line":25,"function":"exec","class":"OCA\\DAV\\Server","type":"->","args":[]},{"file":"/var/www/html/remote.php","line":151,"args":["/var/www/html/apps/dav/appinfo/v2/remote.php"],"function":"require_once"}],"File":"/var/www/html/lib/public/AppFramework/Db/QBMapper.php","Line":284,"message":"Did expect one result but found none when executing: query \"SELECT * FROM `*PREFIX*files_versions` WHERE (`file_id` = :dcValue1) AND (`timestamp` = :dcValue2)\"; ","exception":"{\"class\":\"OCP\\AppFramework\\Db\\DoesNotExistException\",\"message\":\"Did expect one result but found none when executing: query \\\"SELECT * FROM `*PREFIX*files_versions` WHERE (`file_id` = :dcValue1) AND (`timestamp` = :dcValue2)\\\"; \",\"code\":0,\"file\":\"/var/www/html/lib/public/AppFramework/Db/QBMapper.php:284\",\"trace\":\"#0 /var/www/html/lib/public/AppFramework/Db/QBMapper.php(382): OCP\\AppFramework\\Db\\QBMapper->findOneQuery(Object(OC\\DB\\QueryBuilder\\QueryBuilder))\\n#1 /var/www/html/apps/files_versions/lib/Db/VersionsMapper.php(60): OCP\\AppFramework\\Db\\QBMapper->findEntity(Object(OC\\DB\\QueryBuilder\\QueryBuilder))\\n#2 /var/www/html/apps/files_versions/lib/Versions/LegacyVersionsBackend.php(316): OCA\\Files_Versions\\Db\\VersionsMapper->findVersionForFileId(1389581, 1783171748)\\n#3 /var/www/html/apps/files_versions/lib/Versions/VersionManager.php(164): OCA\\Files_Versions\\Versions\\LegacyVersionsBackend->setMetadataValue(Object(OC\\Files\\Node\\File), 1783171748, 'author', 'myuser')\\n#4 /var/www/html/apps/files_versions/lib/Listener/VersionAuthorListener.php(53): OCA\\Files_Versions\\Versions\\VersionManager->setMetadataValue(Object(OC\\Files\\Node\\File), 1783171748, 'author', 'myuser')\\n#5 /var/www/html/apps/files_versions/lib/Listener/VersionAuthorListener.php(35): OCA\\Files_Versions\\Listener\\VersionAuthorListener->post_write_hook(Object(OC\\Files\\Node\\File))\\n#6 /var/www/html/lib/private/EventDispatcher/ServiceEventListener.php(57): OCA\\Files_Versions\\Listener\\VersionAuthorListener->handle(Object(OCP\\Files\\Events\\Node\\NodeWrittenEvent))\\n#7 /var/www/html/3rdparty/symfony/event-dispatcher/EventDispatcher.php(220): OC\\EventDispatcher\\ServiceEventListener->__invoke(Object(OCP\\Files\\Events\\Node\\NodeWrittenEvent), 'OCP\\\\Files\\\\Event...', Object(Symfony\\Component\\EventDispatcher\\EventDispatcher))\\n#8 /var/www/html/3rdparty/symfony/event-dispatcher/EventDispatcher.php(56): Symfony\\Component\\EventDispatcher\\EventDispatcher->callListeners(Array, 'OCP\\\\Files\\\\Event...', Object(OCP\\Files\\Events\\Node\\NodeWrittenEvent))\\n#9 /var/www/html/lib/private/EventDispatcher/EventDispatcher.php(67): Symfony\\Component\\EventDispatcher\\EventDispatcher->dispatch(Object(OCP\\Files\\Events\\Node\\NodeWrittenEvent), 'OCP\\\\Files\\\\Event...')\\n#10 /var/www/html/lib/private/EventDispatcher/EventDispatcher.php(79): OC\\EventDispatcher\\EventDispatcher->dispatch('OCP\\\\Files\\\\Event...', Object(OCP\\Files\\Events\\Node\\NodeWrittenEvent))\\n#11 /var/www/html/lib/private/Files/Node/HookConnector.php(83): OC\\EventDispatcher\\EventDispatcher->dispatchTyped(Object(OCP\\Files\\Events\\Node\\NodeWrittenEvent))\\n#12 /var/www/html/lib/private/legacy/OC_Hook.php(85): OC\\Files\\Node\\HookConnector->postWrite(Array)\\n#13 /var/www/html/apps/dav/lib/Connector/Sabre/File.php(452): OC_Hook::emit('OC_Filesystem', 'post_write', Array)\\n#14 /var/www/html/apps/dav/lib/Connector/Sabre/File.php(387): OCA\\DAV\\Connector\\Sabre\\File->emitPostHooks(true)\\n#15 /var/www/html/apps/dav/lib/Connector/Sabre/File.php(331): OCA\\DAV\\Connector\\Sabre\\File->finalizeUpload(Object(OCA\\Files_Trashbin\\Storage), 'files/Serveur/s...', true, Object(OC\\Files\\View))\\n#16 /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php(1137): OCA\\DAV\\Connector\\Sabre\\File->put(Resource id #7)\\n#17 /var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php(492): Sabre\\DAV\\Server->updateFile('files/myuser/Se...', Resource id #7, NULL)\\n#18 /var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php(89): Sabre\\DAV\\CorePlugin->httpPut(Object(Sabre\\HTTP\\Request), Object(Sabre\\HTTP\\Response))\\n#19 /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php(472): Sabre\\DAV\\Server->emit('method:PUT', Array)\\n#20 /var/www/html/apps/dav/lib/Connector/Sabre/Server.php(212): Sabre\\DAV\\Server->invokeMethod(Object(Sabre\\HTTP\\Request), Object(Sabre\\HTTP\\Response))\\n#21 /var/www/html/apps/dav/lib/Server.php(428): OCA\\DAV\\Connector\\Sabre\\Server->start()\\n#22 /var/www/html/apps/dav/appinfo/v2/remote.php(25): OCA\\DAV\\Server->exec()\\n#23 /var/www/html/remote.php(151): require_once('/var/www/html/a...')\\n#24 {main}\"}","CustomMessage":"Did expect one result but found none when executing: query \"SELECT * FROM `*PREFIX*files_versions` WHERE (`file_id` = :dcValue1) AND (`timestamp` = :dcValue2)\"; "},"id":"6a493da1630f3"}

Additional info

This new issue might be related to #41174, but here, the root cause is the S3 issue.

By the way, in the log, I saw a mup_threshold (should be mpu_threshold) but did not investigate more (maybe a known issue).

Metadata

Metadata

Assignees

No one assigned

    Labels

    0. Needs triagePending check for reproducibility or if it fits our roadmap33-feedbackbug

    Type

    Fields

    No fields configured for Bug.

    Projects

    Status
    To triage

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions