nextcloud / server

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

server replied: Locked #9922

Closed bi4 closed 6 years ago

bi4 commented 6 years ago

Expected behaviour

File should sync. I tried to upload a folder with several files, 573 MB.. I can sync single files word etc. with no problems. I do not have crossed the upload limit for syncs in client settings.

Actual behaviour

sync error. server replied: Locked

level fatal app webdev

OCA\DAV\Connector\Sabre\Exception\FileLocked: "x/xy/yy" is locked

/snap/nextcloud/7658/htdocs/3rdparty/sabre/dav/lib/DAV/Tree.php - line 179: OCA\DAV\Connector\Sabre\Directory->delete()
/snap/nextcloud/7658/htdocs/3rdparty/sabre/dav/lib/DAV/CorePlugin.php - line 291: Sabre\DAV\Tree->delete('files/jma/MSc/2...')
[internal function] Sabre\DAV\CorePlugin->httpDelete(Object(Sabre\HTTP\Request), Object(Sabre\HTTP\Response))
/snap/nextcloud/7658/htdocs/3rdparty/sabre/event/lib/EventEmitterTrait.php - line 105: call_user_func_array(Array, Array)
/snap/nextcloud/7658/htdocs/3rdparty/sabre/dav/lib/DAV/Server.php - line 479: Sabre\Event\EventEmitter->emit('method DELETE', Array)
/snap/nextcloud/7658/htdocs/3rdparty/sabre/dav/lib/DAV/Server.php - line 254: Sabre\DAV\Server->invokeMethod(Object(Sabre\HTTP\Request), Object(Sabre\HTTP\Response))
/snap/nextcloud/7658/htdocs/apps/dav/lib/Server.php - line 287: Sabre\DAV\Server->exec()
/snap/nextcloud/7658/htdocs/apps/dav/appinfo/v2/remote.php - line 35: OCA\DAV\Server->exec()
/snap/nextcloud/7658/htdocs/remote.php - line 164: require_once('/snap/nextcloud...')
{main}

Server configuration

Operating system: linux

Nextcloud version: 13.04.

Where did you install Nextcloud from: snap

Login as admin user into your Nextcloud and access http://example.com/index.php/settings/integrity/failed paste the results here.

"No errors have been found."

brunt82 commented 6 years ago

What kind of database do you use? SQLLite only supports one access at the same time.

MorrisJobke commented 6 years ago

A possible workaround: use Redis as locking backend. Also using SQLite for example is not recommended for production use as it has limitations especially regarding concurrent requests.

There seem to be still some race conditions we are currently try to find regarding the locking:

SQL issue: #9305 Redis issue: #8239

Closing as duplicate of the two mentioned ones.