Server error when moving folders

Hi folks,

just installed Nextcloud 13 on my Debian Jessie sever @home. Seemed to be running fine until I bumped into this fatal error (see below). Basically, using nextcloud to sync linux machines in my home. It refuses to move a specific folder as it says its locked.
I moved several folders into a newly created directory on one machine. Most of the folders were moved except one (error below). I can’t work out why this is the case. Maybe its down to permissions but not exactly intuitive log. Provided all the relevant info below.


[/details]

Nextcloud version: 13.0.7.2
Operating system and version : Debian Jessie (fully updated)
Apache version : 2.4.10
PHP version: 5.6.38

The issue you are facing:

Is this the first time you’ve seen this error? (Y/N): YES

Steps to replicate it:

  1. Move folder on one machine
  2. Check on the other machine and notice folder not moved
  3. Error log “FATAL ERROR” as above when logging into server plus error on the sync clients on both machines

The output of your Nextcloud log in Admin > Logging:

	OCA\DAV\Connector\Sabre\Exception\FileLocked: "Documenti/Accounting/01-Attività/06-Bank" is locked

    /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Tree.php - line 158: OCA\DAV\Connector\Sabre\Directory->moveInto('06-Bank...', 'Documenti/Accou...', Object(OCA\DAV\Connector\Sabre\Directory))
    /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/CorePlugin.php - line 646: Sabre\DAV\Tree->move('Documenti/Accou...', 'Documenti/Accou...')
    [internal function] Sabre\DAV\CorePlugin->httpMove(Object(Sabre\HTTP\Request), Object(Sabre\HTTP\Response))
    /var/www/nextcloud/3rdparty/sabre/event/lib/EventEmitterTrait.php - line 105: call_user_func_array(Array, Array)
    /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php - line 479: Sabre\Event\EventEmitter->emit('method MOVE', Array)
    /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php - line 254: Sabre\DAV\Server->invokeMethod(Object(Sabre\HTTP\Request), Object(Sabre\HTTP\Response))
    /var/www/nextcloud/apps/dav/appinfo/v1/webdav.php - line 80: Sabre\DAV\Server->exec()
    /var/www/nextcloud/remote.php - line 164: require_once('/var/www/nextcl...')
    {main}

The output of your config.php file in /path/to/nextcloud (make sure you remove any identifiable information!):

<?php
$CONFIG = array (
  'instanceid' => 'deleted',
  'passwordsalt' => 'deleted',
  'secret' => 'deleted',
  'trusted_domains' => 
  array (
    0 => '192.168.2.X:XXX',
  ),
  'datadirectory' => '/home/zeus/nextcloud/data',
  'overwrite.cli.url' => 'http://192.168.2.X:XXX/nextcloud',
  'dbtype' => 'pgsql',
  'version' => '13.0.7.2',
  'dbname' => 'nextcloud',
  'dbhost' => '127.0.0.1:5432',
  'dbport' => '',
  'dbtableprefix' => 'oc_',
  'dbuser' => 'nextuser',
  'dbpassword' => 'XXXXXX',
  'installed' => true,
);

I’ve filtered the access.log for the folder name with the error which is below:

192.168.1.X - antonio [01/Nov/2018:10:09:56 +0000] "MOVE /nextcloud/remote.php/dav/files/antonio/Documenti/Accounting/01-Attivit%C3%A0/06-Bank HTTP/1.1" 423 874 "-" "Mozilla/5.0 (Linux) mirall/2.3.3 (Nextcloud)"
192.168.1.X - antonio [01/Nov/2018:10:10:04 +0000] "MOVE /nextcloud/remote.php/dav/files/antonio/Documenti/Accounting/01-Attivit%C3%A0/06-Bank HTTP/1.1" 423 874 "-" "Mozilla/5.0 (Linux) mirall/2.3.3 (Nextcloud)"
192.168.1.X - antonio [01/Nov/2018:10:11:04 +0000] "MOVE /nextcloud/remote.php/dav/files/antonio/Documenti/Accounting/01-Attivit%C3%A0/06-Bank HTTP/1.1" 423 874 "-" "Mozilla/5.0 (Linux) mirall/2.3.3 (Nextcloud)"
192.168.2.X - antonio [01/Nov/2018:10:15:30 +0000] "MOVE /nextcloud/remote.php/dav/files/antonio/Documenti/Accounting/01-Attivit%C3%A0/06-Bank HTTP/1.1" 423 874 "-" "Mozilla/5.0 (Linux) mirall/2.3.3 (Nextcloud)"
192.168.2.X - antonio [01/Nov/2018:10:15:35 +0000] "MOVE /nextcloud/remote.php/dav/files/antonio/Documenti/Accounting/01-Attivit%C3%A0/06-Bank HTTP/1.1" 423 874 "-" "Mozilla/5.0 (Linux) mirall/2.3.3 (Nextcloud)"
192.168.2.X - antonio [01/Nov/2018:10:15:39 +0000] "MOVE /nextcloud/remote.php/dav/files/antonio/Documenti/Accounting/01-Attivit%C3%A0/06-Bank HTTP/1.1" 423 874 "-" "Mozilla/5.0 (Linux) mirall/2.3.3 (Nextcloud)"
192.168.2.X - antonio [01/Nov/2018:10:15:43 +0000] "MOVE /nextcloud/remote.php/dav/files/antonio/Documenti/Accounting/01-Attivit%C3%A0/06-Bank HTTP/1.1" 423 874 "-" "Mozilla/5.0 (Linux) mirall/2.3.3 (Nextcloud)"
192.168.2.X - - [01/Nov/2018:10:17:43 +0000] "MOVE /nextcloud/remote.php/webdav/Documenti/Accounting/01-Attivit%C3%A0/06-Bank HTTP/1.1" 423 874 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0"
192.168.2.X - - [01/Nov/2018:10:18:16 +0000] "GET /nextcloud/index.php/apps/files/?dir=/Documenti/Accounting/01-Attivit%C3%A0/06-Bank HTTP/1.1" 200 7612 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0"
192.168.2.X - - [01/Nov/2018:10:18:17 +0000] "PROPFIND /nextcloud/remote.php/webdav/Documenti/Accounting/01-Attivit%C3%A0/06-Bank HTTP/1.1" 207 18342 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0"
192.168.2.X - - [01/Nov/2018:10:18:17 +0000] "GET /nextcloud/index.php/apps/files/ajax/getstoragestats.php?dir=%2FDocumenti%2FAccounting%2F01-Attivit%C3%A0%2F06-Bank HTTP/1.1" 200 1141 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0"

It seems that after a bit of searching on the web the problem seems to be associated with the cron.php. By selecting “Cron” under settings (admin account) rather than “AJAX” and then adding a cron job for the www-data user, the lock on the folder was released.

This was widely discussed here but I suspect its now been better resolved with more recent versions of Nextcloud.