Skip to content

[Bug]: Desktop syncing creates conflict file and locking miscountings #6570

@smarinier

Description

@smarinier

⚠️ Before submitting, please verify the following: ⚠️

Bug description

If i'm modifying a file from a synced folder, saving it, while there is an update (sync) coming from the server, then the save is broken. A conflict file is created and the sync has troubles, as the temporary InDesign file (wich is in the same folder syncs indefinitively)
Problem was pointed on using Adobe Indesign, as it saves quite important files (~40Mb), and its temporary file in same time (maybe linked to the problem or not).

Steps to reproduce

  1. Save a huge file on a synced folder
  2. In same time, push a file by an external way (through web interface by example) in the same folder
  3. Not happen every time, but often

Expected behavior

File should be synced in background, and no conflict file should be created

Which files are affected by this bug

09193319_002-064.indd

Operating system

Mac OS

Which version of the operating system you are running.

Mac OS Sonoma 14.1.2

Package

Compiled it myself

Nextcloud Server version

28.0.3.2

Nextcloud Desktop Client version

3.12.50

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

Fresh desktop client install

Are you using the Nextcloud Server Encryption module?

Encryption is Disabled

Are you using an external user-backend?

  • Default internal user-backend
  • LDAP/ Active Directory
  • SSO - SAML
  • Other

Nextcloud Server logs

{"reqId":"apIMDM9PxjMD1gpayi4v","level":3,"time":"2024-03-22T09:40:25+00:00","remoteAddr":"82.64.134.49","user":"smarinier","app":"webdav","method":"PROPFIND","url":"/remote.php/dav/uploads/smarinier/1507517002","message":"Error executing \"ListParts\" on \"https://s3.fr-par.scw.cloud/com.cgi37.recette.partage/urn%3Aoid%3A4688052?uploadId=OTFmZTQwYjMtNWU0NS00YTJiLWI2ZjktMmRiOWRkM2RlMWJm&max-parts=1000&part-number-marker=0\"; AWS HTTP error: Client error: `GET https://s3.fr-par.scw.cloud/com.cgi37.recette.partage/urn%3Aoid%3A4688052?uploadId=OTFmZTQwYjMtNWU0NS00YTJiLWI2ZjktMmRiOWRkM2RlMWJm&max-parts=1000&part-number-marker=0` resulted in a `404 Not Found` response:\n<Error><Code>NoSuchUpload</Code><Message>The specified upload does not exist. The upload ID may be invalid, or the uploa (truncated...)\n NoSuchUpload (client): The specified upload does not exist. The upload ID may be invalid, or the upload may have been aborted or completed. - <Error><Code>NoSuchUpload</Code><Message>The specified upload does not exist. The upload ID may be invalid, or the upload may have been aborted or completed.</Message><RequestId>txg65c851b81f164ca5bf17-0065fd5209</RequestId><HostId>txg65c851b81f164ca5bf17-0065fd5209</HostId><Resource>/com.cgi37.recette.partage/urn%3Aoid%3A4688052</Resource></Error>","userAgent":"Mozilla/5.0 (Macintosh) mirall/3.12.50git (Nextcloud, osx-23.1.0 ClientArchitecture: x86_64 OsArchitecture: x86_64)","version":"28.0.3.2","exception":{"Exception":"Aws\\S3\\Exception\\S3Exception","Message":"Error executing \"ListParts\" on \"https://s3.fr-par.scw.cloud/com.cgi37.recette.partage/urn%3Aoid%3A4688052?uploadId=OTFmZTQwYjMtNWU0NS00YTJiLWI2ZjktMmRiOWRkM2RlMWJm&max-parts=1000&part-number-marker=0\"; AWS HTTP error: Client error: `GET https://s3.fr-par.scw.cloud/com.cgi37.recette.partage/urn%3Aoid%3A4688052?uploadId=OTFmZTQwYjMtNWU0NS00YTJiLWI2ZjktMmRiOWRkM2RlMWJm&max-parts=1000&part-number-marker=0` resulted in a `404 Not Found` response:\n<Error><Code>NoSuchUpload</Code><Message>The specified upload does not exist. The upload ID may be invalid, or the uploa (truncated...)\n NoSuchUpload (client): The specified upload does not exist. The upload ID may be invalid, or the upload may have been aborted or completed. - <Error><Code>NoSuchUpload</Code><Message>The specified upload does not exist. The upload ID may be invalid, or the upload may have been aborted or completed.</Message><RequestId>txg65c851b81f164ca5bf17-0065fd5209</RequestId><HostId>txg65c851b81f164ca5bf17-0065fd5209</HostId><Resource>/com.cgi37.recette.partage/urn%3Aoid%3A4688052</Resource></Error>","Code":0,"Trace":[{"file":"/var/www/html/3rdparty/aws/aws-sdk-php/src/WrappedHttpHandler.php","line":96,"function":"parseError","class":"Aws\\WrappedHttpHandler","type":"->","args":["*** sensitive parameters replaced ***",["GuzzleHttp\\Psr7\\Request"],["Aws\\Command"],[]]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":204,"function":"Aws\\{closure}","class":"Aws\\WrappedHttpHandler","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":169,"function":"callHandler","class":"GuzzleHttp\\Promise\\Promise","type":"::","args":[2,"*** sensitive parameters replaced ***",null]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/RejectedPromise.php","line":42,"function":"GuzzleHttp\\Promise\\{closure}","class":"GuzzleHttp\\Promise\\Promise","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/TaskQueue.php","line":48,"function":"GuzzleHttp\\Promise\\{closure}","class":"GuzzleHttp\\Promise\\RejectedPromise","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php","line":159,"function":"run","class":"GuzzleHttp\\Promise\\TaskQueue","type":"->","args":[]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php","line":184,"function":"tick","class":"GuzzleHttp\\Handler\\CurlMultiHandler","type":"->","args":[]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":248,"function":"execute","class":"GuzzleHttp\\Handler\\CurlMultiHandler","type":"->","args":[true]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":224,"function":"invokeWaitFn","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":269,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":226,"function":"invokeWaitList","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":269,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":226,"function":"invokeWaitList","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":62,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/var/www/html/3rdparty/aws/aws-sdk-php/src/AwsClientTrait.php","line":58,"function":"wait","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/var/www/html/3rdparty/aws/aws-sdk-php/src/AwsClientTrait.php","line":86,"function":"execute","class":"Aws\\AwsClient","type":"->","args":[["Aws\\Command"]]},{"file":"/var/www/html/lib/private/Files/ObjectStore/S3.php","line":77,"function":"__call","class":"Aws\\AwsClient","type":"->","args":["listParts",[["com.cgi37.recette.partage","urn:oid:4688052","OTFmZTQwYjMtNWU0NS00YTJiLWI2ZjktMmRiOWRkM2RlMWJm",1000,0]]]},{"file":"/var/www/html/apps/dav/lib/Upload/UploadFolder.php","line":91,"function":"getMultipartUploads","class":"OC\\Files\\ObjectStore\\S3","type":"->","args":["urn:oid:4688052","OTFmZTQwYjMtNWU0NS00YTJiLWI2ZjktMmRiOWRkM2RlMWJm"]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Tree.php","line":218,"function":"getChildren","class":"OCA\\DAV\\Upload\\UploadFolder","type":"->","args":[]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":900,"function":"getChildren","class":"Sabre\\DAV\\Tree","type":"->","args":["uploads/smarinier/1507517002"]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":982,"function":"generatePathNodes","class":"Sabre\\DAV\\Server","type":"->","args":[["Sabre\\DAV\\PropFind"],[["Sabre\\DAV\\PropFind"],["OCA\\DAV\\Upload\\UploadFolder"]]]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":1662,"function":"getPropertiesIteratorForPath","class":"Sabre\\DAV\\Server","type":"->","args":["uploads/smarinier/1507517002",["{DAV:}resourcetype","{DAV:}getcontentlength"],1]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":1647,"function":"writeMultiStatus","class":"Sabre\\DAV\\Server","type":"->","args":[["Sabre\\Xml\\Writer",[],"/remote.php/dav/",["d","s","oc","nc"],[]],["Generator"],false]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php","line":346,"function":"generateMultiStatus","class":"Sabre\\DAV\\Server","type":"->","args":[["Generator"],false]},{"file":"/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"httpPropFind","class":"Sabre\\DAV\\CorePlugin","type":"->","args":[["Sabre\\HTTP\\Request"],["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:PROPFIND",[["Sabre\\HTTP\\Request"],["Sabre\\HTTP\\Response"]]]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":253,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->","args":[["Sabre\\HTTP\\Request"],["Sabre\\HTTP\\Response"]]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":321,"function":"start","class":"Sabre\\DAV\\Server","type":"->","args":[]},{"file":"/var/www/html/apps/dav/lib/Server.php","line":373,"function":"exec","class":"Sabre\\DAV\\Server","type":"->","args":[]},{"file":"/var/www/html/apps/dav/appinfo/v2/remote.php","line":35,"function":"exec","class":"OCA\\DAV\\Server","type":"->","args":[]},{"file":"/var/www/html/remote.php","line":172,"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":195,"Previous":{"Exception":"GuzzleHttp\\Exception\\ClientException","Message":"Client error: `GET https://s3.fr-par.scw.cloud/com.cgi37.recette.partage/urn%3Aoid%3A4688052?uploadId=OTFmZTQwYjMtNWU0NS00YTJiLWI2ZjktMmRiOWRkM2RlMWJm&max-parts=1000&part-number-marker=0` resulted in a `404 Not Found` response:\n<Error><Code>NoSuchUpload</Code><Message>The specified upload does not exist. The upload ID may be invalid, or the uploa (truncated...)\n","Code":404,"Trace":[{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Middleware.php","line":69,"function":"create","class":"GuzzleHttp\\Exception\\RequestException","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":204,"function":"GuzzleHttp\\{closure}","class":"GuzzleHttp\\Middleware","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":153,"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":48,"function":"GuzzleHttp\\Promise\\{closure}","class":"GuzzleHttp\\Promise\\Promise","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php","line":159,"function":"run","class":"GuzzleHttp\\Promise\\TaskQueue","type":"->","args":[]},{"file":"/var/www/html/3rdparty/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php","line":184,"function":"tick","class":"GuzzleHttp\\Handler\\CurlMultiHandler","type":"->","args":[]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":248,"function":"execute","class":"GuzzleHttp\\Handler\\CurlMultiHandler","type":"->","args":[true]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":224,"function":"invokeWaitFn","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":269,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":226,"function":"invokeWaitList","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":269,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":226,"function":"invokeWaitList","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/var/www/html/3rdparty/guzzlehttp/promises/src/Promise.php","line":62,"function":"waitIfPending","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/var/www/html/3rdparty/aws/aws-sdk-php/src/AwsClientTrait.php","line":58,"function":"wait","class":"GuzzleHttp\\Promise\\Promise","type":"->","args":[]},{"file":"/var/www/html/3rdparty/aws/aws-sdk-php/src/AwsClientTrait.php","line":86,"function":"execute","class":"Aws\\AwsClient","type":"->","args":[["Aws\\Command"]]},{"file":"/var/www/html/lib/private/Files/ObjectStore/S3.php","line":77,"function":"__call","class":"Aws\\AwsClient","type":"->","args":["listParts",[["com.cgi37.recette.partage","urn:oid:4688052","OTFmZTQwYjMtNWU0NS00YTJiLWI2ZjktMmRiOWRkM2RlMWJm",1000,0]]]},{"file":"/var/www/html/apps/dav/lib/Upload/UploadFolder.php","line":91,"function":"getMultipartUploads","class":"OC\\Files\\ObjectStore\\S3","type":"->","args":["urn:oid:4688052","OTFmZTQwYjMtNWU0NS00YTJiLWI2ZjktMmRiOWRkM2RlMWJm"]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Tree.php","line":218,"function":"getChildren","class":"OCA\\DAV\\Upload\\UploadFolder","type":"->","args":[]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":900,"function":"getChildren","class":"Sabre\\DAV\\Tree","type":"->","args":["uploads/smarinier/1507517002"]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":982,"function":"generatePathNodes","class":"Sabre\\DAV\\Server","type":"->","args":[["Sabre\\DAV\\PropFind"],[["Sabre\\DAV\\PropFind"],["OCA\\DAV\\Upload\\UploadFolder"]]]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":1662,"function":"getPropertiesIteratorForPath","class":"Sabre\\DAV\\Server","type":"->","args":["uploads/smarinier/1507517002",["{DAV:}resourcetype","{DAV:}getcontentlength"],1]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":1647,"function":"writeMultiStatus","class":"Sabre\\DAV\\Server","type":"->","args":[["Sabre\\Xml\\Writer","*** sensitive parameters replaced ***","/remote.php/dav/",["d","s","oc","nc"],"*** sensitive parameters replaced ***"],["Generator"],false]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php","line":346,"function":"generateMultiStatus","class":"Sabre\\DAV\\Server","type":"->","args":[["Generator"],false]},{"file":"/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"httpPropFind","class":"Sabre\\DAV\\CorePlugin","type":"->","args":[["Sabre\\HTTP\\Request"],["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:PROPFIND",[["Sabre\\HTTP\\Request"],["Sabre\\HTTP\\Response"]]]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":253,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->","args":[["Sabre\\HTTP\\Request"],["Sabre\\HTTP\\Response"]]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":321,"function":"start","class":"Sabre\\DAV\\Server","type":"->","args":[]},{"file":"/var/www/html/apps/dav/lib/Server.php","line":373,"function":"exec","class":"Sabre\\DAV\\Server","type":"->","args":[]},{"file":"/var/www/html/apps/dav/appinfo/v2/remote.php","line":35,"function":"exec","class":"OCA\\DAV\\Server","type":"->","args":[]},{"file":"/var/www/html/remote.php","line":172,"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":113},"message":"Error executing \"ListParts\" on \"https://s3.fr-par.scw.cloud/com.cgi37.recette.partage/urn%3Aoid%3A4688052?uploadId=OTFmZTQwYjMtNWU0NS00YTJiLWI2ZjktMmRiOWRkM2RlMWJm&max-parts=1000&part-number-marker=0\"; AWS HTTP error: Client error: `GET https://s3.fr-par.scw.cloud/com.cgi37.recette.partage/urn%3Aoid%3A4688052?uploadId=OTFmZTQwYjMtNWU0NS00YTJiLWI2ZjktMmRiOWRkM2RlMWJm&max-parts=1000&part-number-marker=0` resulted in a `404 Not Found` response:\n<Error><Code>NoSuchUpload</Code><Message>The specified upload does not exist. The upload ID may be invalid, or the uploa (truncated...)\n NoSuchUpload (client): The specified upload does not exist. The upload ID may be invalid, or the upload may have been aborted or completed. - <Error><Code>NoSuchUpload</Code><Message>The specified upload does not exist. The upload ID may be invalid, or the upload may have been aborted or completed.</Message><RequestId>txg65c851b81f164ca5bf17-0065fd5209</RequestId><HostId>txg65c851b81f164ca5bf17-0065fd5209</HostId><Resource>/com.cgi37.recette.partage/urn%3Aoid%3A4688052</Resource></Error>","exception":{},"CustomMessage":"Error executing \"ListParts\" on \"https://s3.fr-par.scw.cloud/com.cgi37.recette.partage/urn%3Aoid%3A4688052?uploadId=OTFmZTQwYjMtNWU0NS00YTJiLWI2ZjktMmRiOWRkM2RlMWJm&max-parts=1000&part-number-marker=0\"; AWS HTTP error: Client error: `GET https://s3.fr-par.scw.cloud/com.cgi37.recette.partage/urn%3Aoid%3A4688052?uploadId=OTFmZTQwYjMtNWU0NS00YTJiLWI2ZjktMmRiOWRkM2RlMWJm&max-parts=1000&part-number-marker=0` resulted in a `404 Not Found` response:\n<Error><Code>NoSuchUpload</Code><Message>The specified upload does not exist. The upload ID may be invalid, or the uploa (truncated...)\n NoSuchUpload (client): The specified upload does not exist. The upload ID may be invalid, or the upload may have been aborted or completed. - <Error><Code>NoSuchUpload</Code><Message>The specified upload does not exist. The upload ID may be invalid, or the upload may have been aborted or completed.</Message><RequestId>txg65c851b81f164ca5bf17-0065fd5209</RequestId><HostId>txg65c851b81f164ca5bf17-0065fd5209</HostId><Resource>/com.cgi37.recette.partage/urn%3Aoid%3A4688052</Resource></Error>"}}
{"reqId":"3GxhdoefnDFgfOZ4EHcB","level":3,"time":"2024-03-22T09:40:40+00:00","remoteAddr":"82.64.134.49","user":"smarinier","app":"webdav","method":"MOVE","url":"/remote.php/dav/uploads/smarinier/581487567/.file","message":"\"Fashion2021.indd\" is locked, existing lock on file: 3 shared locks","userAgent":"Mozilla/5.0 (Macintosh) mirall/3.12.50git (Nextcloud, osx-23.1.0 ClientArchitecture: x86_64 OsArchitecture: x86_64)","version":"28.0.3.2","exception":{"Exception":"OCP\\Lock\\LockedException","Message":"\"Fashion2021.indd\" is locked, existing lock on file: 3 shared locks","Code":0,"Trace":[{"file":"/var/www/html/lib/private/Files/View.php","line":912,"function":"changeLock","class":"OC\\Files\\View","type":"->","args":["/smarinier/files/Fashion2021.indd",2]},{"file":"/var/www/html/lib/private/Files/Node/Node.php","line":434,"function":"copy","class":"OC\\Files\\View","type":"->","args":["/smarinier/files/Fashion2021.indd","/smarinier/files/Fashion2021.indd"]},{"file":"/var/www/html/apps/dav/lib/Upload/ChunkingV2Plugin.php","line":351,"function":"copy","class":"OC\\Files\\Node\\Node","type":"->","args":["/smarinier/files/Fashion2021.indd"]},{"file":"/var/www/html/apps/dav/lib/Upload/ChunkingV2Plugin.php","line":238,"function":"completeChunkedWrite","class":"OCA\\DAV\\Upload\\ChunkingV2Plugin","type":"->","args":["/smarinier/files/Fashion2021.indd"]},{"file":"/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"beforeMove","class":"OCA\\DAV\\Upload\\ChunkingV2Plugin","type":"->","args":["uploads/smarinier/581487567/.file","files/smarinier/Fashion2021.indd"]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php","line":603,"function":"emit","class":"Sabre\\DAV\\Server","type":"->","args":["beforeMove",["uploads/smarinier/581487567/.file","files/smarinier/Fashion2021.indd"]]},{"file":"/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"httpMove","class":"Sabre\\DAV\\CorePlugin","type":"->","args":[["Sabre\\HTTP\\Request"],["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:MOVE",[["Sabre\\HTTP\\Request"],["Sabre\\HTTP\\Response"]]]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":253,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->","args":[["Sabre\\HTTP\\Request"],["Sabre\\HTTP\\Response"]]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":321,"function":"start","class":"Sabre\\DAV\\Server","type":"->","args":[]},{"file":"/var/www/html/apps/dav/lib/Server.php","line":373,"function":"exec","class":"Sabre\\DAV\\Server","type":"->","args":[]},{"file":"/var/www/html/apps/dav/appinfo/v2/remote.php","line":35,"function":"exec","class":"OCA\\DAV\\Server","type":"->","args":[]},{"file":"/var/www/html/remote.php","line":172,"args":["/var/www/html/apps/dav/appinfo/v2/remote.php"],"function":"require_once"}],"File":"/var/www/html/lib/private/Files/View.php","Line":1984,"Previous":{"Exception":"OCP\\Lock\\LockedException","Message":"\"files/1b1d1f43d6b3e1974db58b0296233e9e\"(\"files/Fashion2021.indd\") is locked, existing lock on file: 3 shared locks","Code":0,"Trace":[{"file":"/var/www/html/lib/private/Files/Storage/Wrapper/Wrapper.php","line":629,"function":"changeLock","class":"OC\\Files\\Storage\\Common","type":"->","args":["files/Fashion2021.indd",2,["OC\\Lock\\MemcacheLockingProvider"]]},{"file":"/var/www/html/lib/private/Files/Storage/Wrapper/Wrapper.php","line":629,"function":"changeLock","class":"OC\\Files\\Storage\\Wrapper\\Wrapper","type":"->","args":["files/Fashion2021.indd",2,["OC\\Lock\\MemcacheLockingProvider"]]},{"file":"/var/www/html/lib/private/Files/View.php","line":1975,"function":"changeLock","class":"OC\\Files\\Storage\\Wrapper\\Wrapper","type":"->","args":["files/Fashion2021.indd",2,["OC\\Lock\\MemcacheLockingProvider"]]},{"file":"/var/www/html/lib/private/Files/View.php","line":912,"function":"changeLock","class":"OC\\Files\\View","type":"->","args":["/smarinier/files/Fashion2021.indd",2]},{"file":"/var/www/html/lib/private/Files/Node/Node.php","line":434,"function":"copy","class":"OC\\Files\\View","type":"->","args":["/smarinier/files/Fashion2021.indd","/smarinier/files/Fashion2021.indd"]},{"file":"/var/www/html/apps/dav/lib/Upload/ChunkingV2Plugin.php","line":351,"function":"copy","class":"OC\\Files\\Node\\Node","type":"->","args":["/smarinier/files/Fashion2021.indd"]},{"file":"/var/www/html/apps/dav/lib/Upload/ChunkingV2Plugin.php","line":238,"function":"completeChunkedWrite","class":"OCA\\DAV\\Upload\\ChunkingV2Plugin","type":"->","args":["/smarinier/files/Fashion2021.indd"]},{"file":"/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"beforeMove","class":"OCA\\DAV\\Upload\\ChunkingV2Plugin","type":"->","args":["uploads/smarinier/581487567/.file","files/smarinier/Fashion2021.indd"]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php","line":603,"function":"emit","class":"Sabre\\DAV\\Server","type":"->","args":["beforeMove",["uploads/smarinier/581487567/.file","files/smarinier/Fashion2021.indd"]]},{"file":"/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"httpMove","class":"Sabre\\DAV\\CorePlugin","type":"->","args":[["Sabre\\HTTP\\Request"],["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:MOVE",[["Sabre\\HTTP\\Request"],["Sabre\\HTTP\\Response"]]]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":253,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->","args":[["Sabre\\HTTP\\Request"],["Sabre\\HTTP\\Response"]]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":321,"function":"start","class":"Sabre\\DAV\\Server","type":"->","args":[]},{"file":"/var/www/html/apps/dav/lib/Server.php","line":373,"function":"exec","class":"Sabre\\DAV\\Server","type":"->","args":[]},{"file":"/var/www/html/apps/dav/appinfo/v2/remote.php","line":35,"function":"exec","class":"OCA\\DAV\\Server","type":"->","args":[]},{"file":"/var/www/html/remote.php","line":172,"args":["/var/www/html/apps/dav/appinfo/v2/remote.php"],"function":"require_once"}],"File":"/var/www/html/lib/private/Files/Storage/Common.php","Line":833,"Previous":{"Exception":"OCP\\Lock\\LockedException","Message":"\"files/1b1d1f43d6b3e1974db58b0296233e9e\" is locked, existing lock on file: 3 shared locks","Code":0,"Trace":[{"file":"/var/www/html/lib/private/Files/Storage/Common.php","line":831,"function":"changeLock","class":"OC\\Lock\\MemcacheLockingProvider","type":"->","args":["files/1b1d1f43d6b3e1974db58b0296233e9e",2]},{"file":"/var/www/html/lib/private/Files/Storage/Wrapper/Wrapper.php","line":629,"function":"changeLock","class":"OC\\Files\\Storage\\Common","type":"->","args":["files/Fashion2021.indd",2,["OC\\Lock\\MemcacheLockingProvider"]]},{"file":"/var/www/html/lib/private/Files/Storage/Wrapper/Wrapper.php","line":629,"function":"changeLock","class":"OC\\Files\\Storage\\Wrapper\\Wrapper","type":"->","args":["files/Fashion2021.indd",2,["OC\\Lock\\MemcacheLockingProvider"]]},{"file":"/var/www/html/lib/private/Files/View.php","line":1975,"function":"changeLock","class":"OC\\Files\\Storage\\Wrapper\\Wrapper","type":"->","args":["files/Fashion2021.indd",2,["OC\\Lock\\MemcacheLockingProvider"]]},{"file":"/var/www/html/lib/private/Files/View.php","line":912,"function":"changeLock","class":"OC\\Files\\View","type":"->","args":["/smarinier/files/Fashion2021.indd",2]},{"file":"/var/www/html/lib/private/Files/Node/Node.php","line":434,"function":"copy","class":"OC\\Files\\View","type":"->","args":["/smarinier/files/Fashion2021.indd","/smarinier/files/Fashion2021.indd"]},{"file":"/var/www/html/apps/dav/lib/Upload/ChunkingV2Plugin.php","line":351,"function":"copy","class":"OC\\Files\\Node\\Node","type":"->","args":["/smarinier/files/Fashion2021.indd"]},{"file":"/var/www/html/apps/dav/lib/Upload/ChunkingV2Plugin.php","line":238,"function":"completeChunkedWrite","class":"OCA\\DAV\\Upload\\ChunkingV2Plugin","type":"->","args":["/smarinier/files/Fashion2021.indd"]},{"file":"/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"beforeMove","class":"OCA\\DAV\\Upload\\ChunkingV2Plugin","type":"->","args":["uploads/smarinier/581487567/.file","files/smarinier/Fashion2021.indd"]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php","line":603,"function":"emit","class":"Sabre\\DAV\\Server","type":"->","args":["beforeMove",["uploads/smarinier/581487567/.file","files/smarinier/Fashion2021.indd"]]},{"file":"/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"httpMove","class":"Sabre\\DAV\\CorePlugin","type":"->","args":[["Sabre\\HTTP\\Request"],["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:MOVE",[["Sabre\\HTTP\\Request"],["Sabre\\HTTP\\Response"]]]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":253,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->","args":[["Sabre\\HTTP\\Request"],["Sabre\\HTTP\\Response"]]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":321,"function":"start","class":"Sabre\\DAV\\Server","type":"->","args":[]},{"file":"/var/www/html/apps/dav/lib/Server.php","line":373,"function":"exec","class":"Sabre\\DAV\\Server","type":"->","args":[]},{"file":"/var/www/html/apps/dav/appinfo/v2/remote.php","line":35,"function":"exec","class":"OCA\\DAV\\Server","type":"->","args":[]},{"file":"/var/www/html/remote.php","line":172,"args":["/var/www/html/apps/dav/appinfo/v2/remote.php"],"function":"require_once"}],"File":"/var/www/html/lib/private/Lock/MemcacheLockingProvider.php","Line":145}},"message":"\"Fashion2021.indd\" is locked, existing lock on file: 3 shared locks","exception":{},"CustomMessage":"\"Fashion2021.indd\" is locked, existing lock on file: 3 shared locks"}}

Additional info

It worked fine before (3.9.4 client, NC Server 26).

First occurrence of this bug was pointed by my client after moving to ~3.10 and higher.

Note: this was reproduced on a Windows client too

See the movie of what is happening (better i think than screenshots) (if i can join it)

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions