Steps to reproduce
- Create Dropbox external storage
- Share #1 with User
- Mount remote davfs2 folder with credentials to sync with #1
- Use Redis cache with file locking
- move 3GB file into remote davfs mount, where it then moves/copies the file to the davfs2_cache
- Small enough files will finish uploading to Dropbox without error or messages related to locked file
- (EDITED) Large files (over 2GB) being uploaded produce locked file error in owncloud.log.
Expected behaviour
No error message, and successful sync.
Actual behaviour
NGINX server log shows 423 response to remote davfs2 mount while other devices are getting 207 replies for calendar, etc.
Server configuration
Operating system: Ubuntu 18.04
Web server: NGINX
Database: MariaDB
PHP version: 7.2-fpm
ownCloud version: 10.3.2
Updated from an older ownCloud or fresh install: Updated from earlier 10.3 but not recently
Where did you install ownCloud from: Production tarball at https://owncloud.org/download/
Signing status (ownCloud 9.0 and above): no errors have been found
The content of config/config.php:
{
"system": {
"passwordsalt": "***REMOVED SENSITIVE VALUE***",
"secret": "***REMOVED SENSITIVE VALUE***",
"trusted_domains": [
"localhost",
"owncloud.gbtechlab.com"
],
"datadirectory": "\/usr\/share\/nginx\/html\/owncloud\/data",
"dbtype": "mysql",
"version": "10.3.0.4",
"dbname": "owncloud",
"dbhost": "localhost",
"dbuser": "***REMOVED SENSITIVE VALUE***",
"dbpassword": "***REMOVED SENSITIVE VALUE***",
"dbtableprefix": "oc_",
"logtimezone": "UTC",
"installed": true,
"instanceid": "oceec16j9824",
"loglevel": 2,
"maintenance": false,
"memcache.local": "\\OC\\Memcache\\APCu",
"filelocking.enabled": true,
"filelocking.ttl": 3600,
"memcache.locking": "\\OC\\Memcache\\Redis",
"redis": {
"host": "\/var\/run\/redis\/redis-server.sock",
"port": 0,
"password": "***REMOVED SENSITIVE VALUE***",
"timeout": 1.5
},
"debug": false,
"mail_domain": "***REMOVED SENSITIVE VALUE***",
"mail_from_address": "***REMOVED SENSITIVE VALUE***",
"mail_smtpname": "***REMOVED SENSITIVE VALUE***",
"mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
"mail_smtpmode": "smtp",
"mail_smtpsecure": "tls",
"mail_smtpauthtype": "LOGIN",
"mail_smtphost": "***REMOVED SENSITIVE VALUE***",
"mail_smtpport": "587",
"mail_smtpauth": 1,
"mail_smtptimeout": 10
},
"apps": {
"backgroundjob": {
"lastjob": "37"
},
"calendar": {
"enabled": "yes",
"installed_version": "1.6.3",
"signed": "true",
"types": ""
},
"comments": {
"enabled": "yes",
"installed_version": "0.3.0",
"types": "logging,dav"
},
"configreport": {
"enabled": "yes",
"installed_version": "0.2.0",
"types": "filesystem"
},
"contacts": {
"enabled": "yes",
"installed_version": "1.5.5",
"signed": "true",
"types": ""
},
"core": {
"allow_user_mount_sharing": "yes",
"backgroundjobs_mode": "cron",
"enable_external_storage": "yes",
"installedat": "1535817092.8919",
"lastcron": "1577811122",
"lastupdateResult": "{\"version\":\"10.3.2\",\"versionstring\":\"ownCloud 10.3.2\",\"url\":\"https:\\\/\\\/download.owncloud.org\\\/community\\\/owncloud-10.3.2.zip\",\"web\":\"https:\\\/\\\/doc.owncloud.org\\\/server\\\/10.3\\\/admin_manual\\\/maintenance\\\/upgrade.html\"}",
"lastupdatedat": "1577809426",
"oc.integritycheck.checker": "[]",
"public_files": "files_sharing\/public.php",
"public_webdav": "dav\/appinfo\/v1\/publicwebdav.php",
"shareapi_allow_links": "no",
"shareapi_allow_public_upload": "no",
"shareapi_allow_resharing": "no",
"shareapi_allow_social_share": "no",
"shareapi_enabled": "yes",
"umgmt_show_email": "true",
"updater.secret.created": "1562715072",
"vendor": "owncloud"
},
"dav": {
"enabled": "yes",
"installed_version": "0.5.0",
"types": "filesystem"
},
"federatedfilesharing": {
"enabled": "yes",
"installed_version": "0.5.0",
"types": "filesystem"
},
"federation": {
"enabled": "yes",
"installed_version": "0.1.0",
"types": "authentication"
},
"files": {
"cronjob_scan_files": "500",
"enabled": "yes",
"installed_version": "1.5.2",
"types": "filesystem"
},
"files_external": {
"allow_user_mounting": "yes",
"enabled": "yes",
"installed_version": "0.7.1",
"ocsid": "166048",
"types": "filesystem",
"user_mounting_backends": "owncloud"
},
"files_external_dropbox": {
"enabled": "yes",
"installed_version": "1.2.0",
"signed": "true",
"types": "filesystem"
},
"files_external_ftp": {
"enabled": "yes",
"installed_version": "0.2.1",
"signed": "true",
"types": "filesystem"
},
"files_mediaviewer": {
"enabled": "yes",
"installed_version": "1.0.1",
"signed": "true",
"types": ""
},
"files_sharing": {
"enabled": "yes",
"incoming_server2server_share_enabled": "no",
"installed_version": "0.12.0",
"outgoing_server2server_share_enabled": "no",
"types": "filesystem"
},
"files_trashbin": {
"enabled": "yes",
"installed_version": "0.9.1",
"types": "filesystem"
},
"files_versions": {
"enabled": "yes",
"installed_version": "1.3.0",
"types": "filesystem"
},
"files_videoplayer": {
"enabled": "no",
"installed_version": "0.10.1",
"types": ""
},
"firstrunwizard": {
"enabled": "yes",
"installed_version": "1.2.0",
"ocsid": "166055",
"types": ""
},
"market": {
"calendar": "1.6.3",
"enabled": "yes",
"files_external_dropbox": "1.2.0",
"files_external_ftp": "0.2.1",
"files_mediaviewer": "1.0.1",
"installed_version": "0.5.0",
"key": null,
"market": "0.4.0",
"signed": "true",
"twofactor_totp": "0.6.1",
"types": ""
},
"notifications": {
"enabled": "yes",
"installed_version": "0.5.0",
"types": "logging"
},
"provisioning_api": {
"enabled": "yes",
"installed_version": "0.5.0",
"types": "prevent_group_restriction"
},
"systemtags": {
"enabled": "yes",
"installed_version": "0.3.0",
"types": "logging"
},
"tasks": {
"enabled": "yes",
"installed_version": "0.9.7",
"signed": "true",
"types": ""
},
"twofactor_totp": {
"enabled": "yes",
"installed_version": "0.6.1",
"signed": "true",
"types": ""
},
"updatenotification": {
"core": "10.3.2",
"enabled": "yes",
"installed_version": "0.2.1",
"types": ""
}
}
}
List of activated apps:
Enabled:
- calendar: 1.6.3
- comments: 0.3.0
- configreport: 0.2.0
- contacts: 1.5.5
- dav: 0.5.0
- federatedfilesharing: 0.5.0
- federation: 0.1.0
- files: 1.5.2
- files_external: 0.7.1
- files_external_dropbox: 1.2.0
- files_external_ftp: 0.2.1
- files_mediaviewer: 1.0.1
- files_sharing: 0.12.0
- files_trashbin: 0.9.1
- files_versions: 1.3.0
- firstrunwizard: 1.2.0
- market: 0.5.0
- notifications: 0.5.0
- provisioning_api: 0.5.0
- systemtags: 0.3.0
- tasks: 0.9.7
- twofactor_totp: 0.6.1
- updatenotification: 0.2.1
Disabled:
- encryption
- external
- user_external
Are you using external storage, if yes which one: Dropbox
Are you using encryption: no
Are you using an external user-backend, if yes which one: no
Client configuration
Browser: NA
Operating system: Ubuntu 18.04
Logs
Web server error log
192.168.x.x - xxuserxx [31/Dec/2019:11:26:17 -0500] "PROPFIND /remote.php/dav/files/path/to/share/ HTTP/1.1" 207 3355 "-" "davfs2/1.5.5 neon/0.30.2"
192.168.x.x - xxuserxx [31/Dec/2019:11:35:08 -0500] "PUT /remote.php/dav/files/path/to/share/vzdump-qemu-xxxx.vma.lzo.gpg HTTP/1.1" 499 0 "-" "davfs2/1.5.5 neon/0.30.2"
192.168.x.x - xxuserxx [31/Dec/2019:11:38:35 -0500] "PUT /remote.php/dav/files/path/to/share/vzdump-qemu-xxxx.vma.lzo.gpg HTTP/1.1" 423 303 "-" "davfs2/1.5.5 neon/0.30.2
ownCloud log (data/owncloud.log)
{"reqId":"1N02jI7lhemOY6Yrvmdw","level":4,"time":"2019-12-31T16:39:37+00:00","remoteAddr":"192.168.x.x","user":"xxuserxx","app":"webdav","method":"PUT","url":"\/remote.php\/dav\/files\/path\/to\/share\/vzdump-qemu-xxxx.vma.lzo.gpg","message":"Exception: HTTP\/1.1 423 \"to\/share\/vzdump-qemu-xxxx.vma.lzo.gpg\" is locked: {\"Exception\":\"OCA\\\\DAV\\\\Connector\\\\Sabre\\\\Exception\\\\FileLocked\",\"Message\":\"\\\"to\\\/share\\\/vzdump-qemu-xxxx2.vma.lzo.gpg\\\" is locked\",\"Code\":0,\"Trace\":\"#0 \\\/usr\\\/share\\\/nginx\\\/html\\\/owncloud\\\/lib\\\/composer\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(1094): OCA\\\\DAV\\\\Connector\\\\Sabre\\\\Directory->createFile('vzdump-xxxx...', Resource id #13)\\n#1 \\\/usr\\\/share\\\/nginx\\\/html\\\/owncloud\\\/lib\\\/composer\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/CorePlugin.php(527): Sabre\\\\DAV\\\\Server->createFile('files\\\/path...', Resource id #13, NULL)\\n#2 \\\/usr\\\/share\\\/nginx\\\/html\\\/owncloud\\\/lib\\\/composer\\\/sabre\\\/event\\\/lib\\\/WildcardEmitterTrait.php(96): Sabre\\\\DAV\\\\CorePlugin->httpPut(Object(Sabre\\\\HTTP\\\\Request), Object(Sabre\\\\HTTP\\\\Response))\\n#3 \\\/usr\\\/share\\\/nginx\\\/html\\\/owncloud\\\/lib\\\/composer\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(464): Sabre\\\\DAV\\\\Server->emit('method:PUT', Array)\\n#4 \\\/usr\\\/share\\\/nginx\\\/html\\\/owncloud\\\/lib\\\/composer\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(241): Sabre\\\\DAV\\\\Server->invokeMethod(Object(Sabre\\\\HTTP\\\\Request), Object(Sabre\\\\HTTP\\\\Response))\\n#5 \\\/usr\\\/share\\\/nginx\\\/html\\\/owncloud\\\/apps\\\/dav\\\/lib\\\/Server.php(326): Sabre\\\\DAV\\\\Server->start()\\n#6 \\\/usr\\\/share\\\/nginx\\\/html\\\/owncloud\\\/apps\\\/dav\\\/appinfo\\\/v2\\\/remote.php(31): OCA\\\\DAV\\\\Server->exec()\\n#7 \\\/usr\\\/share\\\/nginx\\\/html\\\/owncloud\\\/remote.php(165): require_once('\\\/usr\\\/share\\\/ngin...')\\n#8 {main}\",\"File\":\"\\\/usr\\\/share\\\/nginx\\\/html\\\/owncloud\\\/apps\\\/dav\\\/lib\\\/Connector\\\/Sabre\\\/Directory.php\",\"Line\":184}"}
{"reqId":"1N02jI7lhemOY6Yrvmdw","level":3,"time":"2019-12-31T16:39:37+00:00","remoteAddr":"192.168.1.42","user":"xxuserxx","app":"webdav","method":"PUT","url":"\/remote.php\/dav\/files\/path\/to\/share\/vzdump-qemu-xxxx.vma.lzo.gpg","message":"Caused by: {\"Exception\":\"OCP\\\\Lock\\\\LockedException\",\"Message\":\"\\\"to\\\/share\\\/vzdump-qemu-xxxx.vma.lzo.gpg\\\" is locked\",\"Code\":0,\"Trace\":\"#0 \\\/usr\\\/share\\\/nginx\\\/html\\\/owncloud\\\/lib\\\/private\\\/Files\\\/View.php(2100): OC\\\\Files\\\\View->lockPath('\\\/to\\\/share...', 1, false)\\n#1 \\\/usr\\\/share\\\/nginx\\\/html\\\/owncloud\\\/apps\\\/dav\\\/lib\\\/Connector\\\/Sabre\\\/Node.php(364): OC\\\\Files\\\\View->lockFile('\\\/to\\\/share...', 1)\\n#2 \\\/usr\\\/share\\\/nginx\\\/html\\\/owncloud\\\/apps\\\/dav\\\/lib\\\/Connector\\\/Sabre\\\/Directory.php(171): OCA\\\\DAV\\\\Connector\\\\Sabre\\\\Node->acquireLock(1)\\n#3 \\\/usr\\\/share\\\/nginx\\\/html\\\/owncloud\\\/lib\\\/composer\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(1094): OCA\\\\DAV\\\\Connector\\\\Sabre\\\\Directory->createFile('vzdump-qemu-xxxx...', Resource id #13)\\n#4 \\\/usr\\\/share\\\/nginx\\\/html\\\/owncloud\\\/lib\\\/composer\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/CorePlugin.php(527): Sabre\\\\DAV\\\\Server->createFile('files\\\/path...', Resource id #13, NULL)\\n#5 \\\/usr\\\/share\\\/nginx\\\/html\\\/owncloud\\\/lib\\\/composer\\\/sabre\\\/event\\\/lib\\\/WildcardEmitterTrait.php(96): Sabre\\\\DAV\\\\CorePlugin->httpPut(Object(Sabre\\\\HTTP\\\\Request), Object(Sabre\\\\HTTP\\\\Response))\\n#6 \\\/usr\\\/share\\\/nginx\\\/html\\\/owncloud\\\/lib\\\/composer\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(464): Sabre\\\\DAV\\\\Server->emit('method:PUT', Array)\\n#7 \\\/usr\\\/share\\\/nginx\\\/html\\\/owncloud\\\/lib\\\/composer\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(241): Sabre\\\\DAV\\\\Server->invokeMethod(Object(Sabre\\\\HTTP\\\\Request), Object(Sabre\\\\HTTP\\\\Response))\\n#8 \\\/usr\\\/share\\\/nginx\\\/html\\\/owncloud\\\/apps\\\/dav\\\/lib\\\/Server.php(326): Sabre\\\\DAV\\\\Server->start()\\n#9 \\\/usr\\\/share\\\/nginx\\\/html\\\/owncloud\\\/apps\\\/dav\\\/appinfo\\\/v2\\\/remote.php(31): OCA\\\\DAV\\\\Server->exec()\\n#10 \\\/usr\\\/share\\\/nginx\\\/html\\\/owncloud\\\/remote.php(165): require_once('\\\/usr\\\/share\\\/ngin...')\\n#11 {main}\",\"File\":\"\\\/usr\\\/share\\\/nginx\\\/html\\\/owncloud\\\/lib\\\/private\\\/Files\\\/View.php\",\"Line\":2002}"}
{"reqId":"1N02jI7lhemOY6Yrvmdw","level":3,"time":"2019-12-31T16:39:37+00:00","remoteAddr":"192.168.x.x","user":"xxuserxx","app":"webdav","method":"PUT","url":"\/remote.php\/dav\/files\/path\/to\/share\/vzdump-qemu-xxxx.vma.lzo.gpg","message":"Caused by: {\"Exception\":\"OCP\\\\Lock\\\\LockedException\",\"Message\":\"\\\"files\\\/3167ba79ca460d4ee1e7e06351af457f\\\" is locked\",\"Code\":0,\"Trace\":\"#0 \\\/usr\\\/share\\\/nginx\\\/html\\\/owncloud\\\/lib\\\/private\\\/Files\\\/Storage\\\/Common.php(658): OC\\\\Lock\\\\MemcacheLockingProvider->acquireLock('files\\\/3167ba79c...', 1)\\n#1 \\\/usr\\\/share\\\/nginx\\\/html\\\/owncloud\\\/lib\\\/private\\\/Files\\\/Storage\\\/Wrapper\\\/Wrapper.php(592): OC\\\\Files\\\\Storage\\\\Common->acquireLock('share\\\/vzdu...', 1, Object(OC\\\\Lock\\\\MemcacheLockingProvider))\\n#2 \\\/usr\\\/share\\\/nginx\\\/html\\\/owncloud\\\/lib\\\/private\\\/Files\\\/Storage\\\/Wrapper\\\/Wrapper.php(592): OC\\\\Files\\\\Storage\\\\Wrapper\\\\Wrapper->acquireLock('PveBackups\\\/vzdu...', 1, Object(OC\\\\Lock\\\\MemcacheLockingProvider))\\n#3 \\\/usr\\\/share\\\/nginx\\\/html\\\/owncloud\\\/lib\\\/private\\\/Files\\\/Storage\\\/Wrapper\\\/Wrapper.php(592): OC\\\\Files\\\\Storage\\\\Wrapper\\\\Wrapper->acquireLock('PveBackups\\\/vzdu...', 1, Object(OC\\\\Lock\\\\MemcacheLockingProvider))\\n#4 \\\/usr\\\/share\\\/nginx\\\/html\\\/owncloud\\\/lib\\\/private\\\/Files\\\/Storage\\\/Wrapper\\\/Wrapper.php(592): OC\\\\Files\\\\Storage\\\\Wrapper\\\\Wrapper->acquireLock('PveBackups\\\/vzdu...', 1, Object(OC\\\\Lock\\\\MemcacheLockingProvider))\\n#5 \\\/usr\\\/share\\\/nginx\\\/html\\\/owncloud\\\/lib\\\/private\\\/Files\\\/View.php(1997): OC\\\\Files\\\\Storage\\\\Wrapper\\\\Wrapper->acquireLock('PveBackups\\\/vzdu...', 1, Object(OC\\\\Lock\\\\MemcacheLockingProvider))\\n#6 \\\/usr\\\/share\\\/nginx\\\/html\\\/owncloud\\\/lib\\\/private\\\/Files\\\/View.php(2100): OC\\\\Files\\\\View->lockPath('\\\/db_gbtechlab\\\/P...', 1, false)\\n#7 \\\/usr\\\/share\\\/nginx\\\/html\\\/owncloud\\\/apps\\\/dav\\\/lib\\\/Connector\\\/Sabre\\\/Node.php(364): OC\\\\Files\\\\View->lockFile('\\\/db_gbtechlab\\\/P...', 1)\\n#8 \\\/usr\\\/share\\\/nginx\\\/html\\\/owncloud\\\/apps\\\/dav\\\/lib\\\/Connector\\\/Sabre\\\/Directory.php(171): OCA\\\\DAV\\\\Connector\\\\Sabre\\\\Node->acquireLock(1)\\n#9 \\\/usr\\\/share\\\/nginx\\\/html\\\/owncloud\\\/lib\\\/composer\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(1094): OCA\\\\DAV\\\\Connector\\\\Sabre\\\\Directory->createFile('vzdump-qemu-xxxx...', Resource id #13)\\n#10 \\\/usr\\\/share\\\/nginx\\\/html\\\/owncloud\\\/lib\\\/composer\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/CorePlugin.php(527): Sabre\\\\DAV\\\\Server->createFile('files\\\/path...', Resource id #13, NULL)\\n#11 \\\/usr\\\/share\\\/nginx\\\/html\\\/owncloud\\\/lib\\\/composer\\\/sabre\\\/event\\\/lib\\\/WildcardEmitterTrait.php(96): Sabre\\\\DAV\\\\CorePlugin->httpPut(Object(Sabre\\\\HTTP\\\\Request), Object(Sabre\\\\HTTP\\\\Response))\\n#12 \\\/usr\\\/share\\\/nginx\\\/html\\\/owncloud\\\/lib\\\/composer\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(464): Sabre\\\\DAV\\\\Server->emit('method:PUT', Array)\\n#13 \\\/usr\\\/share\\\/nginx\\\/html\\\/owncloud\\\/lib\\\/composer\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(241): Sabre\\\\DAV\\\\Server->invokeMethod(Object(Sabre\\\\HTTP\\\\Request), Object(Sabre\\\\HTTP\\\\Response))\\n#14 \\\/usr\\\/share\\\/nginx\\\/html\\\/owncloud\\\/apps\\\/dav\\\/lib\\\/Server.php(326): Sabre\\\\DAV\\\\Server->start()\\n#15 \\\/usr\\\/share\\\/nginx\\\/html\\\/owncloud\\\/apps\\\/dav\\\/appinfo\\\/v2\\\/remote.php(31): OCA\\\\DAV\\\\Server->exec()\\n#16 \\\/usr\\\/share\\\/nginx\\\/html\\\/owncloud\\\/remote.php(165): require_once('\\\/usr\\\/share\\\/ngin...')\\n#17 {main}\",\"File\":\"\\\/usr\\\/share\\\/nginx\\\/html\\\/owncloud\\\/lib\\\/private\\\/Lock\\\/MemcacheLockingProvider.php\",\"Line\":80}"}
Also,
system:cron is running on every minute.
No other web log errors.
No Php errors.
No Admin page errors.
The file hash referenced in the owncloud.log error is confirmed to be the key from the redis-server.
I can unmount remote davfs2, restart nginx server on owncloud, clear redis keys, and remount remote davfs2 mount and the process repeats exactly. The client server davfs2 cache continues to maintain large files and hangs as if there is never a proper notice the file is done uploading (but it is because the size matches).
Any help is appreciated, thanks.