nextcloud / nextcloud/ios

Auto-upload errors for the past year

Open
#692 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Swift
Stars
2.5k
Forks
1k
Avg merge
2d 18h
Merged PRs (30d)
13

Description

Expected behaviour

When performing auto-upload, I expect no errors to occur and the data to be transferred without issue.

Actual behaviour

Various errors are reported in the ios client during the auto-upload of several files (images). The errors vary and are not consistent from my perspective. Things like "the server is unavailable", "accessing a locked webdav resource", etc.

Steps to reproduce

In a folder with hundreds of other files, try to upload (auto-upload) 10-20 images which are each 5+Mb

Watch errors roll in and uploads fail with different errors. The app appears to retry some on its own better now, but no errors should be happening.

Even if this is a server side error (which no other client reports BTW) I think it is getting triggered by aggressive uploading. Not sure what tuning can be done to prevent these errors.

But I've not seen the client errors (nor server errors!) on my android devices nor my linux client.

There are no apache logs indicating any errors. I've found some nextcloud log entries, but I'm not certain they mirror when the issue occurs all the time (because it happens a lot).

I'd be fine if the IOS client performed a slower upload without errors.

iOS version

12.0.0 (and many previous versions)

App version

Latest (and many previous versions)

Server configuration

Operating system:
QNAP NAS (many versions previously tested) OS with x86-64 Intel processor

Web server:
Apache 2.4.34 (many versions previously tested)

Database:
MariaDB 5.5.57

PHP version:
7.2.11 (many versions previously tested)

Nextcloud version: (see Nextcloud admin page)
13.0.5 (many versions previously tested)

This nextcloud.log error set MAY be related, but I cannot be certain.

{"reqId":"2zbSX1p2xdxSXiYkxl1P","level":3,"time":"2018-10-11T15:11:18-04:00","remoteAddr":"192.168.1.1","user":"user","app":"no app in context","method":"PUT","url":"\/remote.php\/webdav\/Photos\/ios%20photos\/2018-10-11%2015-09-54-4098.png","message":"Exception: {\"Exception\":\"OCP\\\\Lock\\\\LockedException\",\"Message\":\"\\\"files\\\/a1fe2c2c7f57b52083bbabeb1efaf6de\\\" is locked\",\"Code\":0,\"Trace\":\"#0 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/lib\\\/private\\\/Files\\\/Storage\\\/Common.php(773): OC\\\\Lock\\\\DBLockingProvider->changeLock('files\\\/a1fe2c2c7...', 2)\\n#1 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/lib\\\/private\\\/Files\\\/Storage\\\/Wrapper\\\/Wrapper.php(614): OC\\\\Files\\\\Storage\\\\Common->changeLock('files\\\/Photos\\\/io...', 2, Object(OC\\\\Lock\\\\DBLockingProvider))\\n#2 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/lib\\\/private\\\/Files\\\/View.php(1965): OC\\\\Files\\\\Storage\\\\Wrapper\\\\Wrapper->changeLock('files\\\/Photos\\\/io...', 2, Object(OC\\\\Lock\\\\DBLockingProvider))\\n#3 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/apps\\\/dav\\\/lib\\\/Connector\\\/Sabre\\\/Node.php(356): OC\\\\Files\\\\View->changeLock('\\\/Photos\\\/ios pho...', 2)\\n#4 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/apps\\\/dav\\\/lib\\\/Connector\\\/Sabre\\\/File.php(207): OCA\\\\DAV\\\\Connector\\\\Sabre\\\\Node->changeLock(2)\\n#5 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(1130): OCA\\\\DAV\\\\Connector\\\\Sabre\\\\File->put(Resource id #12)\\n#6 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/CorePlugin.php(517): Sabre\\\\DAV\\\\Server->updateFile('Photos\\\/ios phot...', Resource id #12, NULL)\\n#7 [internal function]: Sabre\\\\DAV\\\\CorePlugin->httpPut(Object(Sabre\\\\HTTP\\\\Request), Object(Sabre\\\\HTTP\\\\Response))\\n#8 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/3rdparty\\\/sabre\\\/event\\\/lib\\\/EventEmitterTrait.php(105): call_user_func_array(Array, Array)\\n#9 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(479): Sabre\\\\Event\\\\EventEmitter->emit('method:PUT', Array)\\n#10 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(254): Sabre\\\\DAV\\\\Server->invokeMethod(Object(Sabre\\\\HTTP\\\\Request), Object(Sabre\\\\HTTP\\\\Response))\\n#11 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/apps\\\/dav\\\/appinfo\\\/v1\\\/webdav.php(80): Sabre\\\\DAV\\\\Server->exec()\\n#12 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/remote.php(164): require_once('\\\/share\\\/CACHEDEV...')\\n#13 {main}\",\"File\":\"\\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/lib\\\/private\\\/Lock\\\/DBLockingProvider.php\",\"Line\":234}","userAgent":"Mozilla\/5.0 (iOS) Nextcloud-iOS\/2.22.4","version":"13.0.5.2"}
{"reqId":"2zbSX1p2xdxSXiYkxl1P","level":4,"time":"2018-10-11T15:11:19-04:00","remoteAddr":"192.168.1.1","user":"user","app":"webdav","method":"PUT","url":"\/remote.php\/webdav\/Photos\/ios%20photos\/2018-10-11%2015-09-54-4098.png","message":"Exception: {\"Exception\":\"OCA\\\\DAV\\\\Connector\\\\Sabre\\\\Exception\\\\FileLocked\",\"Message\":\"\\\"Photos\\\/ios photos\\\/2018-10-11 15-09-54-4098.png\\\" is locked\",\"Code\":0,\"Trace\":\"#0 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(1130): OCA\\\\DAV\\\\Connector\\\\Sabre\\\\File->put(Resource id #12)\\n#1 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/CorePlugin.php(517): Sabre\\\\DAV\\\\Server->updateFile('Photos\\\/ios phot...', Resource id #12, NULL)\\n#2 [internal function]: Sabre\\\\DAV\\\\CorePlugin->httpPut(Object(Sabre\\\\HTTP\\\\Request), Object(Sabre\\\\HTTP\\\\Response))\\n#3 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/3rdparty\\\/sabre\\\/event\\\/lib\\\/EventEmitterTrait.php(105): call_user_func_array(Array, Array)\\n#4 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(479): Sabre\\\\Event\\\\EventEmitter->emit('method:PUT', Array)\\n#5 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(254): Sabre\\\\DAV\\\\Server->invokeMethod(Object(Sabre\\\\HTTP\\\\Request), Object(Sabre\\\\HTTP\\\\Response))\\n#6 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/apps\\\/dav\\\/appinfo\\\/v1\\\/webdav.php(80): Sabre\\\\DAV\\\\Server->exec()\\n#7 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/remote.php(164): require_once('\\\/share\\\/CACHEDEV...')\\n#8 {main}\",\"File\":\"\\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/apps\\\/dav\\\/lib\\\/Connector\\\/Sabre\\\/File.php\",\"Line\":212}","userAgent":"Mozilla\/5.0 (iOS) Nextcloud-iOS\/2.22.4","version":"13.0.5.2"}
{"reqId":"L4YaAFJ3fRPMNdUqi4zx","level":3,"time":"2018-10-11T15:11:35-04:00","remoteAddr":"192.168.1.1","user":"user","app":"no app in context","method":"PUT","url":"\/remote.php\/webdav\/Photos\/ios%20photos\/2018-10-11%2015-09-54-4098.png","message":"Exception: {\"Exception\":\"OCP\\\\Lock\\\\LockedException\",\"Message\":\"\\\"files\\\/a1fe2c2c7f57b52083bbabeb1efaf6de\\\" is locked\",\"Code\":0,\"Trace\":\"#0 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/lib\\\/private\\\/Files\\\/Storage\\\/Common.php(773): OC\\\\Lock\\\\DBLockingProvider->changeLock('files\\\/a1fe2c2c7...', 2)\\n#1 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/lib\\\/private\\\/Files\\\/Storage\\\/Wrapper\\\/Wrapper.php(614): OC\\\\Files\\\\Storage\\\\Common->changeLock('files\\\/Photos\\\/io...', 2, Object(OC\\\\Lock\\\\DBLockingProvider))\\n#2 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/lib\\\/private\\\/Files\\\/View.php(1965): OC\\\\Files\\\\Storage\\\\Wrapper\\\\Wrapper->changeLock('files\\\/Photos\\\/io...', 2, Object(OC\\\\Lock\\\\DBLockingProvider))\\n#3 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/apps\\\/dav\\\/lib\\\/Connector\\\/Sabre\\\/Node.php(356): OC\\\\Files\\\\View->changeLock('\\\/Photos\\\/ios pho...', 2)\\n#4 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/apps\\\/dav\\\/lib\\\/Connector\\\/Sabre\\\/File.php(207): OCA\\\\DAV\\\\Connector\\\\Sabre\\\\Node->changeLock(2)\\n#5 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(1130): OCA\\\\DAV\\\\Connector\\\\Sabre\\\\File->put(Resource id #12)\\n#6 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/CorePlugin.php(517): Sabre\\\\DAV\\\\Server->updateFile('Photos\\\/ios phot...', Resource id #12, NULL)\\n#7 [internal function]: Sabre\\\\DAV\\\\CorePlugin->httpPut(Object(Sabre\\\\HTTP\\\\Request), Object(Sabre\\\\HTTP\\\\Response))\\n#8 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/3rdparty\\\/sabre\\\/event\\\/lib\\\/EventEmitterTrait.php(105): call_user_func_array(Array, Array)\\n#9 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(479): Sabre\\\\Event\\\\EventEmitter->emit('method:PUT', Array)\\n#10 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(254): Sabre\\\\DAV\\\\Server->invokeMethod(Object(Sabre\\\\HTTP\\\\Request), Object(Sabre\\\\HTTP\\\\Response))\\n#11 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/apps\\\/dav\\\/appinfo\\\/v1\\\/webdav.php(80): Sabre\\\\DAV\\\\Server->exec()\\n#12 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/remote.php(164): require_once('\\\/share\\\/CACHEDEV...')\\n#13 {main}\",\"File\":\"\\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/lib\\\/private\\\/Lock\\\/DBLockingProvider.php\",\"Line\":234}","userAgent":"Mozilla\/5.0 (iOS) Nextcloud-iOS\/2.22.4","version":"13.0.5.2"}
{"reqId":"h99W9ZwNLgBaUd7LkaDl","level":4,"time":"2018-10-11T15:12:01-04:00","remoteAddr":"192.168.1.1","user":"user","app":"webdav","method":"PUT","url":"\/remote.php\/webdav\/Photos\/ios%20photos\/2018-10-11%2015-09-54-4098.png","message":"Exception: {\"Exception\":\"OCA\\\\DAV\\\\Connector\\\\Sabre\\\\Exception\\\\FileLocked\",\"Message\":\"\\\"Photos\\\/ios photos\\\/2018-10-11 15-09-54-4098.png\\\" is locked\",\"Code\":0,\"Trace\":\"#0 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(1130): OCA\\\\DAV\\\\Connector\\\\Sabre\\\\File->put(Resource id #12)\\n#1 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/CorePlugin.php(517): Sabre\\\\DAV\\\\Server->updateFile('Photos\\\/ios phot...', Resource id #12, NULL)\\n#2 [internal function]: Sabre\\\\DAV\\\\CorePlugin->httpPut(Object(Sabre\\\\HTTP\\\\Request), Object(Sabre\\\\HTTP\\\\Response))\\n#3 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/3rdparty\\\/sabre\\\/event\\\/lib\\\/EventEmitterTrait.php(105): call_user_func_array(Array, Array)\\n#4 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(479): Sabre\\\\Event\\\\EventEmitter->emit('method:PUT', Array)\\n#5 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(254): Sabre\\\\DAV\\\\Server->invokeMethod(Object(Sabre\\\\HTTP\\\\Request), Object(Sabre\\\\HTTP\\\\Response))\\n#6 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/apps\\\/dav\\\/appinfo\\\/v1\\\/webdav.php(80): Sabre\\\\DAV\\\\Server->exec()\\n#7 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/remote.php(164): require_once('\\\/share\\\/CACHEDEV...')\\n#8 {main}\",\"File\":\"\\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/apps\\\/dav\\\/lib\\\/Connector\\\/Sabre\\\/File.php\",\"Line\":212}","userAgent":"Mozilla\/5.0 (iOS) Nextcloud-iOS\/2.22.4","version":"13.0.5.2"}
{"reqId":"dbnEJY1Zcg2krNB7g0RI","level":3,"time":"2018-10-11T15:12:13-04:00","remoteAddr":"192.168.1.1","user":"user","app":"no app in context","method":"PUT","url":"\/remote.php\/webdav\/Photos\/ios%20photos\/2018-10-11%2015-09-54-4098.png","message":"Exception: {\"Exception\":\"OCP\\\\Lock\\\\LockedException\",\"Message\":\"\\\"files\\\/a1fe2c2c7f57b52083bbabeb1efaf6de\\\" is locked\",\"Code\":0,\"Trace\":\"#0 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/lib\\\/private\\\/Files\\\/Storage\\\/Common.php(773): OC\\\\Lock\\\\DBLockingProvider->changeLock('files\\\/a1fe2c2c7...', 2)\\n#1 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/lib\\\/private\\\/Files\\\/Storage\\\/Wrapper\\\/Wrapper.php(614): OC\\\\Files\\\\Storage\\\\Common->changeLock('files\\\/Photos\\\/io...', 2, Object(OC\\\\Lock\\\\DBLockingProvider))\\n#2 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/lib\\\/private\\\/Files\\\/View.php(1965): OC\\\\Files\\\\Storage\\\\Wrapper\\\\Wrapper->changeLock('files\\\/Photos\\\/io...', 2, Object(OC\\\\Lock\\\\DBLockingProvider))\\n#3 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/apps\\\/dav\\\/lib\\\/Connector\\\/Sabre\\\/Node.php(356): OC\\\\Files\\\\View->changeLock('\\\/Photos\\\/ios pho...', 2)\\n#4 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/apps\\\/dav\\\/lib\\\/Connector\\\/Sabre\\\/File.php(207): OCA\\\\DAV\\\\Connector\\\\Sabre\\\\Node->changeLock(2)\\n#5 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(1130): OCA\\\\DAV\\\\Connector\\\\Sabre\\\\File->put(Resource id #12)\\n#6 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/CorePlugin.php(517): Sabre\\\\DAV\\\\Server->updateFile('Photos\\\/ios phot...', Resource id #12, NULL)\\n#7 [internal function]: Sabre\\\\DAV\\\\CorePlugin->httpPut(Object(Sabre\\\\HTTP\\\\Request), Object(Sabre\\\\HTTP\\\\Response))\\n#8 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/3rdparty\\\/sabre\\\/event\\\/lib\\\/EventEmitterTrait.php(105): call_user_func_array(Array, Array)\\n#9 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(479): Sabre\\\\Event\\\\EventEmitter->emit('method:PUT', Array)\\n#10 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(254): Sabre\\\\DAV\\\\Server->invokeMethod(Object(Sabre\\\\HTTP\\\\Request), Object(Sabre\\\\HTTP\\\\Response))\\n#11 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/apps\\\/dav\\\/appinfo\\\/v1\\\/webdav.php(80): Sabre\\\\DAV\\\\Server->exec()\\n#12 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/remote.php(164): require_once('\\\/share\\\/CACHEDEV...')\\n#13 {main}\",\"File\":\"\\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/lib\\\/private\\\/Lock\\\/DBLockingProvider.php\",\"Line\":234}","userAgent":"Mozilla\/5.0 (iOS) Nextcloud-iOS\/2.22.4","version":"13.0.5.2"}
{"reqId":"dbnEJY1Zcg2krNB7g0RI","level":4,"time":"2018-10-11T15:12:14-04:00","remoteAddr":"192.168.1.1","user":"user","app":"webdav","method":"PUT","url":"\/remote.php\/webdav\/Photos\/ios%20photos\/2018-10-11%2015-09-54-4098.png","message":"Exception: {\"Exception\":\"OCA\\\\DAV\\\\Connector\\\\Sabre\\\\Exception\\\\FileLocked\",\"Message\":\"\\\"Photos\\\/ios photos\\\/2018-10-11 15-09-54-4098.png\\\" is locked\",\"Code\":0,\"Trace\":\"#0 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(1130): OCA\\\\DAV\\\\Connector\\\\Sabre\\\\File->put(Resource id #12)\\n#1 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/CorePlugin.php(517): Sabre\\\\DAV\\\\Server->updateFile('Photos\\\/ios phot...', Resource id #12, NULL)\\n#2 [internal function]: Sabre\\\\DAV\\\\CorePlugin->httpPut(Object(Sabre\\\\HTTP\\\\Request), Object(Sabre\\\\HTTP\\\\Response))\\n#3 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/3rdparty\\\/sabre\\\/event\\\/lib\\\/EventEmitterTrait.php(105): call_user_func_array(Array, Array)\\n#4 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(479): Sabre\\\\Event\\\\EventEmitter->emit('method:PUT', Array)\\n#5 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(254): Sabre\\\\DAV\\\\Server->invokeMethod(Object(Sabre\\\\HTTP\\\\Request), Object(Sabre\\\\HTTP\\\\Response))\\n#6 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/apps\\\/dav\\\/appinfo\\\/v1\\\/webdav.php(80): Sabre\\\\DAV\\\\Server->exec()\\n#7 \\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/remote.php(164): require_once('\\\/share\\\/CACHEDEV...')\\n#8 {main}\",\"File\":\"\\\/share\\\/CACHEDEV1_DATA\\\/.qpkg\\\/NextCloud\\\/nextcloud\\\/apps\\\/dav\\\/lib\\\/Connector\\\/Sabre\\\/File.php\",\"Line\":212}","userAgent":"Mozilla\/5.0 (iOS) Nextcloud-iOS\/2.22.4","version":"13.0.5.2"}


Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the iOS client's auto-upload path and its WebDAV PUT requests, using the reported reproduction of 10–20 images larger than 5 MB. Compare the client errors with the provided Nextcloud lock logs; done means uploads complete without the reported failures or the failure conditions are clearly identified.

Written by the indexing model from the issue text.

Assessment

Tech stack
swift
Domain
mobile
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.