nextcloud / nextcloud/server

[Bug]: PROPFIND request returns 207 with empty directory on storage exception

Open
#63,117 3 comments 0 reactions 1 assignee View on GitHub

@CarlSchwan is already working on this.

Since Aug 20, 2026.

0. Needs triage 32-feedback bug feature: dav feature: external storage feature: files
Dominant language
PHP
Stars
36.9k
Forks
5.2k
Avg merge
2d 3h
Merged PRs (30d)
713

Description

⚠️ This issue respects the following points: ⚠️
Bug description

If storage (e.g. external) fails during operation, exception is captured but ignored. Server response still comes with status 207

https://github.com/nextcloud/server/blob/cbbbe5ac140ffaf6976a757620490584f4769435/lib/private/Files/View.php#L1589-L1600

Clients can't tell the difference between no children in folder and failed to reach children and might wrongly interpret the signal (e.g. a desktop client can read this as 'child deleted on server' and drop local files, then send signal to clean server folder on next sync

Steps to reproduce

Basic reproduction with hardcoded logic to throw an exception:

  1. Create and mount external storage inside a parent folder, confirm PROPFIND returns 207 with all children listed.
  2. Clear the file cache root entry for mount, to force inside if (!$rootEntry) branch.
  3. Hardcode to throw StorageNotAvailableException inside that branch for this mount.
  4. Confirm PROPFIND returns 207, without failed mount listed.
Expected behavior

Request should either:

  • return different status, e.g. 503 Service Unavailable
  • pass attribute, to inform clients of incomplete response

Depending on client expectation/readyness for the breaking change, it can be opt-in for backported versions, and default with coming major releases

Nextcloud Server version

32

Operating system

None

PHP engine version

PHP 8.3

Web server

None

Database engine version

None

Is this bug present after an update or on a fresh install?

None

Are you using the Nextcloud Server Encryption module?

None

What user-backends are you using?
  • Default user-backend (database)
  • LDAP/ Active Directory
  • SSO - SAML
  • Other
Configuration report
-
List of activated Apps
-
Nextcloud Signing status
-
Nextcloud Logs
-
Additional info

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.