Problem with folder sharing (Storage is temporarily not available)

Nextcloud version: 20.0.3 from the official docker image
Operating system and version: Debian GNU/Linux 10
Apache version: Apache/2.4.38
PHP version: 7.4.13

Lately I’m having a problem with a shared folder Recepty I use for recipes in Cookbook.
The folder can be accessed by the owner without problems. However, other users are getting Storage is temporarily not available very often when they try to access the folder. I think it started happening with Nextcloud 20, but I’m not sure.

I think it might be related to the cookbook application, but I don’t know how to tell that for sure. I just tried sharing a different folder with a few images and that one works so far with the testing users, while the problematic folder always breaks after a while.

What may be the cause or how to debug the issue further?

The event log for the admin users shows the following when the problem happens:

[webdav] Fatal: Sabre\DAV\Exception\ServiceUnavailable:  at <<closure>>

 0. /var/www/html/3rdparty/sabre/dav/lib/DAV/Tree.php line 80
    OCA\DAV\Connector\Sabre\Directory->getChild("Recepty")
 1. /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php line 976
    Sabre\DAV\Tree->getNodeForPath("files/gplaytryout/Recepty")
 2. /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php line 1678
    Sabre\DAV\Server->getPropertiesIteratorForPath("files/gplaytryout/Recepty", ["{DAV:}getlastm ... "], 1)
 3. /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php line 1661
    Sabre\DAV\Server->writeMultiStatus(Sabre\Xml\Writer ... ]}, Generator {}, false)
 4. /var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php line 363
    Sabre\DAV\Server->generateMultiStatus(Generator {}, false)
 5. /var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php line 89
    Sabre\DAV\CorePlugin->httpPropFind(Sabre\HTTP\Request {}, Sabre\HTTP\Response {})
 6. /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php line 474
    Sabre\DAV\Server->emit("method:PROPFIND", [Sabre\HTTP\Requ ... }])
 7. /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php line 251
    Sabre\DAV\Server->invokeMethod(Sabre\HTTP\Request {}, Sabre\HTTP\Response {})
 8. /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php line 319
    Sabre\DAV\Server->start()
 9. /var/www/html/apps/dav/lib/Server.php line 332
    Sabre\DAV\Server->exec()
10. /var/www/html/apps/dav/appinfo/v2/remote.php line 35
    OCA\DAV\Server->exec()
11. /var/www/html/remote.php line 167
    require_once("/var/www/html/a ... p")

PROPFIND /remote.php/dav/files/gplaytryout/Recepty
from 94.142.238.126 by gplaytryout at 2020-12-20T20:03:28+00:00

The config.php is unchanged.

The relevant part of the docker (apache) log when the folder is accessed:

nextcloud_1              | 2020-12-20T20:13:30.893338013Z 127.0.0.1 - - [20/Dec/2020:20:13:30 +0000] "OPTIONS * HTTP/1.0" 200 126 "-" "Apache/2.4.38 (Debian) PHP/7.4.13 (internal dummy connection)"
nextcloud_1              | 2020-12-20T20:13:31.894313460Z 127.0.0.1 - - [20/Dec/2020:20:13:31 +0000] "OPTIONS * HTTP/1.0" 200 126 "-" "Apache/2.4.38 (Debian) PHP/7.4.13 (internal dummy connection)"
nextcloud_1              | 2020-12-20T20:13:32.895538050Z 127.0.0.1 - - [20/Dec/2020:20:13:32 +0000] "OPTIONS * HTTP/1.0" 200 126 "-" "Apache/2.4.38 (Debian) PHP/7.4.13 (internal dummy connection)"
nextcloud_1              | 2020-12-20T20:13:33.896832381Z 127.0.0.1 - - [20/Dec/2020:20:13:33 +0000] "OPTIONS * HTTP/1.0" 200 126 "-" "Apache/2.4.38 (Debian) PHP/7.4.13 (internal dummy connection)"
nextcloud_1              | 2020-12-20T20:13:34.348895552Z 172.21.0.2 - - [20/Dec/2020:20:13:34 +0000] "GET /ocs/v2.php/apps/notifications/api/v2/notifications HTTP/1.1" 304 249 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:84.0) Gecko/20100101 Firefox/84.0"
nextcloud_1              | 2020-12-20T20:13:34.898048346Z 127.0.0.1 - - [20/Dec/2020:20:13:34 +0000] "OPTIONS * HTTP/1.0" 200 126 "-" "Apache/2.4.38 (Debian) PHP/7.4.13 (internal dummy connection)"
nextcloud_1              | 2020-12-20T20:13:35.899350398Z 127.0.0.1 - - [20/Dec/2020:20:13:35 +0000] "OPTIONS * HTTP/1.0" 200 126 "-" "Apache/2.4.38 (Debian) PHP/7.4.13 (internal dummy connection)"
nextcloud_1              | 2020-12-20T20:13:36.648617083Z 172.21.0.2 - - [20/Dec/2020:20:13:36 +0000] "PROPFIND /remote.php/dav/files/gplaytryout/Recepty HTTP/1.1" 503 932 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:84.0) Gecko/20100101 Firefox/84.0"
nextcloud_1              | 2020-12-20T20:13:36.900091348Z 127.0.0.1 - - [20/Dec/2020:20:13:36 +0000] "OPTIONS * HTTP/1.0" 200 126 "-" "Apache/2.4.38 (Debian) PHP/7.4.13 (internal dummy connection)"
nextcloud_1              | 2020-12-20T20:13:37.135007378Z 172.21.0.2 - - [20/Dec/2020:20:13:37 +0000] "PROPFIND /public.php/webdav/ HTTP/1.1" 401 1913 "-" "sabre-dav/4.0.3 (http://sabre.io/)"
nextcloud_1              | 2020-12-20T20:13:37.200850618Z 172.21.0.2 - LwPI46dH8PxKsmF [20/Dec/2020:20:13:37 +0000] "PROPFIND /public.php/webdav/ HTTP/1.1" 207 2331 "-" "sabre-dav/4.0.3 (http://sabre.io/)"
nextcloud_1              | 2020-12-20T20:13:37.256439020Z 172.21.0.2 - - [20/Dec/2020:20:13:37 +0000] "PROPFIND /public.php/webdav/ HTTP/1.1" 401 1911 "-" "sabre-dav/4.0.3 (http://sabre.io/)"
nextcloud_1              | 2020-12-20T20:13:37.326600496Z 172.21.0.2 - LwPI46dH8PxKsmF [20/Dec/2020:20:13:37 +0000] "PROPFIND /public.php/webdav/ HTTP/1.1" 207 1960 "-" "sabre-dav/4.0.3 (http://sabre.io/)"
nextcloud_1              | 2020-12-20T20:13:37.338381637Z 172.21.0.2 - - [20/Dec/2020:20:13:36 +0000] "PROPFIND /remote.php/dav/files/gplaytryout/ HTTP/1.1" 207 1880 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:84.0) Gecko/20100101 Firefox/84.0"
nextcloud_1              | 2020-12-20T20:13:37.606325243Z 172.21.0.2 - - [20/Dec/2020:20:13:37 +0000] "GET /index.php/apps/files/ajax/getstoragestats.php?dir=%2F HTTP/1.1" 200 975 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:84.0) Gecko/20100101 Firefox/84.0"
nextcloud_1              | 2020-12-20T20:13:37.802633909Z 172.21.0.2 - - [20/Dec/2020:20:13:37 +0000] "GET /index.php/avatar/Luk%C3%A1%C5%A1%20Jirkovsk%C3%BD@https://nextcloud.example.com//32 HTTP/1.1" 302 939 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:84.0) Gecko/20100101 Firefox/84.0"
nextcloud_1              | 2020-12-20T20:13:37.901668763Z 127.0.0.1 - - [20/Dec/2020:20:13:37 +0000] "OPTIONS * HTTP/1.0" 200 126 "-" "Apache/2.4.38 (Debian) PHP/7.4.13 (internal dummy connection)"
nextcloud_1              | 2020-12-20T20:13:38.033161489Z 172.21.0.2 - - [20/Dec/2020:20:13:37 +0000] "GET /index.php/core/preview?fileId=8832&c=002401aba12d660c54ae0b41c149a52d&x=250&y=250&forceIcon=0 HTTP/1.1" 404 753 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:84.0) Gecko/20100101 Firefox/84.0"
nextcloud_1              | 2020-12-20T20:13:38.144129220Z 172.21.0.2 - - [20/Dec/2020:20:13:37 +0000] "GET /index.php/apps/dashboard/ HTTP/1.1" 200 9483 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:84.0) Gecko/20100101 Firefox/84.0"
nextcloud_1              | 2020-12-20T20:13:38.167507536Z 172.21.0.2 - - [20/Dec/2020:20:13:37 +0000] "GET /index.php/core/preview?fileId=8733&c=30c09436ef08fc3f801ecb99f0880879&x=250&y=250&forceIcon=0 HTTP/1.1" 404 753 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:84.0) Gecko/20100101 Firefox/84.0"
nextcloud_1              | 2020-12-20T20:13:38.902862135Z 127.0.0.1 - - [20/Dec/2020:20:13:38 +0000] "OPTIONS * HTTP/1.0" 200 126 "-" "Apache/2.4.38 (Debian) PHP/7.4.13 (internal dummy connection)"

Here is a trimmed-down docker-compose.yml I use (including HTTPS proxy if that’s related):

version: '3.1'

services:
  db:
    image: postgres:12
    restart: unless-stopped
    volumes:
      - db:/var/lib/postgresql/data
    environment:
      - POSTGRES_USER=${NEXTCLOUD_POSTGRES_USER}
      - POSTGRES_PASSWORD=${NEXTCLOUD_POSTGRES_PASSWORD}

  nextcloud:
    image: nextcloud:apache
    restart: unless-stopped
    volumes:
      - nextcloud-config:/var/www/html/config
      - nextcloud-data:/var/www/html/data
    environment:
      # autoconfiguration
      - POSTGRES_DB=${NEXTCLOUD_POSTGRES_USER}
      - POSTGRES_USER=${NEXTCLOUD_POSTGRES_USER}
      - POSTGRES_PASSWORD=${NEXTCLOUD_POSTGRES_PASSWORD}
      - POSTGRES_HOST=db
      - NEXTCLOUD_DATA_DIR=/var/www/html/data
      # required for work behind https proxy
      - OVERWRITEPROTOCOL=https
      # proxy configuration
      - VIRTUAL_HOST=nextcloud.example.com
      - LETSENCRYPT_HOST=nextcloud.example.com
      - LETSENCRYPT_EMAIL=john.doe@example.com
    depends_on:
      - db
    networks:
      - proxy-tier
      - default
    ports:
      - 8080:80

  proxy:
    image: jwilder/nginx-proxy:alpine
    restart: unless-stopped
    ports:
      - 80:80
      - 443:443
    # this is required for the letsencrypt-companion to detect the proxy
    labels:
      com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy: "true"
    volumes:
      - certs:/etc/nginx/certs:ro
      - vhost.d:/etc/nginx/vhost.d
      - html:/usr/share/nginx/html
      - /var/run/docker.sock:/tmp/docker.sock:ro
      # custom settings increasing the file upload size
      - "./nginx_local_settings.conf:/etc/nginx/conf.d/nginx_local_settings.conf"
    environment:
      - ENABLE_IPV6=true
    networks:
      - proxy-tier

  letsencrypt-companion:
    image: jrcs/letsencrypt-nginx-proxy-companion
    restart: unless-stopped
    volumes:
      - certs:/etc/nginx/certs
      - vhost.d:/etc/nginx/vhost.d
      - html:/usr/share/nginx/html
      - /var/run/docker.sock:/var/run/docker.sock:ro
    networks:
      - proxy-tier
    depends_on:
      - proxy

volumes:
  #
  # PERSISTENT VOLUMES
  #
  # postgres database data
  db:
  # nextcloud data than make sense to backup
  nextcloud-config:
  nextcloud-data:
  #
  # VOLATILE VOLUMES
  #
  # volumes to share data between proxy and letsencrypt-companion
  certs:
  vhost.d:
  html:

networks:
  proxy-tier:

After more testing I can confirm that the problem appears only with shared folders that are set as a recipe folder for the Nextcloud Cookbook.

Update to 20.0.5 with Cookbook 0.7.10 fixed the problem for me.

It seems I jinxed it. Today the problem appeared again, this time outside the cookbook but with an ordinary shared folder. It seems that the problem is not related to the cookbook itself, but rather to the size of the share. Coincidentally the cookbook share is quite large, so it was the first one to cause issues.

1 Like

Similar issue here. Shared folder worked fine for a while, while it still grew in size, then I started getting this error.

Is there an issue open on github?