Fatal webdav error - Sabre\Exception\Forbidden No read permissions

Nextcloud version:16.0.7.1
macOS client version 2.6 (upgraded later today to 2.6.2)

We have an error that occurs frequently. Here is one example of what happened and what I did to triage the situation.

Problem - A folder was created and then deleted. However, the folder still shows up in the web version of Nextcloud and when I try to delete it using the web interface I see an "Error deleting file “folder name here”. X

On the server in the admin Logging option, there is a Fatal webdav error labeled:
“OCA\DAV\Connector\Sabre\Exception\Forbidden: No read permissions” . A detailed copy is below.

It appears to improve if I run this command below that things get better for a short time. What is causing this to happen and how can we prevent it?

sudo -u www-data php occ files:scan --all

Thank you for the help!

MORE DETAIL:

|Fatal|webdav|OCA\DAV\Connector\Sabre\Exception\Forbidden: No read permissions

Fatal webdav OCA\DAV\Connector\Sabre\Exception\Forbidden: No read permissions
/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Tree.php - line 195:
OCA\DAV\Connector\Sabre\Directory->getChildren()
/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php - line 899:
Sabre\DAV\Tree->getChildren(“files/ksp … d”)
/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php - line 978:
Sabre\DAV\Server->generatePathNodes(Sabre\DAV\PropFind {}, [ Sabre\DAV\ … }])
/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php - line 1666:
Sabre\DAV\Server->getPropertiesIteratorForPath(“files/ksp … d”, [ "{DAV:}res … "], 1)
/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/CorePlugin.php - line 355:
Sabre\DAV\Server->generateMultiStatus(Generator {}, false)
<>
Sabre\DAV\CorePlugin->httpPropFind(Sabre\HTTP\R … "}, Sabre\HTTP\Response {})
/var/www/html/nextcloud/3rdparty/sabre/event/lib/EventEmitterTrait.php - line 105:
call_user_func_array([ Sabre\DAV\ … “], [ Sabre\HTTP … }])
/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php - line 479:
Sabre\Event\EventEmitter->emit(“method:PROPFIND”, [ Sabre\HTTP … }])
/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php - line 254:
Sabre\DAV\Server->invokeMethod(Sabre\HTTP\R … “}, Sabre\HTTP\Response {})
/var/www/html/nextcloud/apps/dav/lib/Server.php - line 316:
Sabre\DAV\Server->exec()
/var/www/html/nextcloud/apps/dav/appinfo/v2/remote.php - line 35:
OCA\DAV\Server->exec()
/var/www/html/nextcloud/remote.php - line 163:
require_once(”/var/www/ht … p”)


nextcloud.log entry for this error:

{“reqId”:“Xh5VEwY7o1KJ7y0Xxs-1vAAAABI”,“level”:4,“time”:“2020-01-14T16:56:03-07:00”,“remoteAddr”:“ipaddress_here”,“user”:“ksp”,“app”:“webdav”,“method”:“PROPFIND”,“url”:"/remote.php/dav/files/ksp/FILE_PATH_HERE)“message”:{“Exception”:“OCA\DAV\Connector\Sabre\Exception\Forbidden”,“Message”:“No read permissions”,“Code”:0,“Trace”:[{“file”:"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Tree.php",“line”:195,“function”:“getChildren”,“class”:“OCA\DAV\Connector\Sabre\Directory”,“type”:"->",“args”:[]},{“file”:"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php",“line”:899,“function”:“getChildren”,“class”:“Sabre\DAV\Tree”,“type”:"->",“args”:[“files/ksp/FILE_PATH_HERE”]},{“file”:"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php",“line”:978,“function”:“generatePathNodes”,“class”:“Sabre\DAV\Server”,“type”:"->",“args”:[{“class”:“Sabre\DAV\PropFind”},[{“class”:“Sabre\DAV\PropFind”},{“class”:“OCA\DAV\Connector\Sabre\Directory”}]]},{“file”:"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php",“line”:1666,“function”:“getPropertiesIteratorForPath”,“class”:“Sabre\DAV\Server”,“type”:"->",“args”:[“files/ksp/FILE_PATH_HERE”,["{DAV:}resourcetype","{DAV:}getlastmodified","{DAV:}getcontentlength","{DAV:}getetag","{http://owncloud.org/ns}id","{http://owncloud.org/ns}downloadURL","{http://owncloud.org/ns}dDC","{http://owncloud.org/ns}permissions","{http://owncloud.org/ns}checksums","{http://owncloud.org/ns}share-types"],1]},{“file”:"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/CorePlugin.php",“line”:355,“function”:“generateMultiStatus”,“class”:“Sabre\DAV\Server”,“type”:"->",“args”:[{“class”:“Generator”},false]},{“function”:“httpPropFind”,“class”:“Sabre\DAV\CorePlugin”,“type”:"->",“args”:[{“absoluteUrl”:“https://pkdocs.ipubknow.com/remote.php/dav/files/ksp/FILE_PATH_HERE","class”:“Sabre\HTTP\Request”},{“class”:“Sabre\HTTP\Response”}]},{“file”:"/var/www/html/nextcloud/3rdparty/sabre/event/lib/EventEmitterTrait.php",“line”:105,“function”:“call_user_func_array”,“args”:[[{“class”:“Sabre\DAV\CorePlugin”},“httpPropFind”],[{“absoluteUrl”:“https://domainname.com/remote.php/dav/files/ksp/FILE_PATH_HERE","class”:“Sabre\HTTP\Request”},{“class”:“Sabre\HTTP\Response”}]]},{“file”:"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php",“line”:479,“function”:“emit”,“class”:“Sabre\Event\EventEmitter”,“type”:"->",“args”:[“method:PROPFIND”,[{“absoluteUrl”:“https://DOMAINNAME.com/remote.php/dav/files/ksp/FILE_PATH_HERE","class”:“Sabre\HTTP\Request”},{“class”:“Sabre\HTTP\Response”}]]},{“file”:"/var/www/html/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php",“line”:254,“function”:“invokeMethod”,“class”:“Sabre\DAV\Server”,“type”:"->",“args”:[{“absoluteUrl”:“https://DOMAINNAME.com/remote.php/dav/files/ksp/FILE_PATH_HERE","class”:“Sabre\HTTP\Request”},{“class”:“Sabre\HTTP\Response”}]},{“file”:"/var/www/html/nextcloud/apps/dav/lib/Server.php",“line”:316,“function”:“exec”,“class”:“Sabre\DAV\Server”,“type”:"->",“args”:[]},{“file”:"/var/www/html/nextcloud/apps/dav/appinfo/v2/remote.php",“line”:35,“function”:“exec”,“class”:“OCA\DAV\Server”,“type”:"->",“args”:[]},{“file”:"/var/www/html/nextcloud/remote.php",“line”:163,“args”:["/var/www/html/nextcloud/apps/dav/appinfo/v2/remote.php"],“function”:“require_once”}],“File”:"/var/www/html/nextcloud/apps/dav/lib/Connector/Sabre/Directory.php",“Line”:263,“CustomMessage”:"–"},“userAgent”:“Mozilla/5.0 (Macintosh) mirall/2.6.0stable (build 20190927) (Nextcloud)”,“version”:“16.0.7.1”}


OTHER NOTES:

We do not have File Access Permissions enabled like this ticket - [Solved] Exception DAV Forbidden No read permissions

It looks like Tree.php is returning this exception regulary if there are no child objects. In Server.php there is an iteration over the result of this call, without checking, if there is an exception. Maybe adding a try / catch in Server.php (around the foreach line 899, in “generatePathNodes”) may fix the logging issue. AFAIK this message has no serious effect except spamming the log.

1 Like