nextcloud / nextcloud/desktop

[Mac VFS] Large file batch upload causes unrecoverable Finder file locks and orphaned placeholders

Open
#10,579 3 comments 0 reactions 1 assignee Claimed by @Rello View on GitHub
0. Needs triage bug feature: :file_folder: file provider os: :apple: macOS
Dominant language
C++
Stars
3.9k
Forks
1k
Avg merge
1d 21h
Merged PRs (30d)
127

Description

### ⚠️ Before submitting, please verify the following: ⚠️

- [x] This is a **bug**, not a question or a configuration issue.
- [x] This issue is **not** already reported on Github (I have searched for it).
- [x] Nextcloud Server and Desktop Client are **up to date**. See [Server Maintenance and Release Schedule](https://github.com/nextcloud/server/wiki/Maintenance-and-Release-Schedule) and [Desktop Releases](https://nextcloud.com/install/#install-clients) for supported versions.
- [x] I agree to follow Nextcloud's [Code of Conduct](https://nextcloud.com/contribute/code-of-conduct/)

### Bug description

When copying a large batch of big video files (e.g., 15 files totaling around 24 GB, with individual file sizes between 1 GB and 5 GB) into the Nextcloud local directory using Virtual Files (VFS) mode on macOS, the macOS File Provider framework becomes completely unresponsive and desynchronized from the Nextcloud Desktop Client.

While the Nextcloud Desktop Client interface reports a successful state (green checkmark), the macOS Finder continues to display "dotted cloud" icons (indicating pending metadata processing) or "cloud with exclamation mark" icons (indicating interrupted transfer).

During this state:
1. Files become completely locked by the macOS kernel. It is impossible to delete or move the stuck files via the native Finder GUI.
2. The context menu for Nextcloud operations completely disappears on these stuck files or throws a macOS system authentication error ("You need to authenticate before you can access this item.").
3. The file provider eventually unregisters the client on system level, showing the Finder banner "Nextcloud is logged out", despite the desktop app running perfectly fine in the background.

The only way to resolve this severe file lock and clean up the corrupted state is via the macOS Command Line Interface (CLI) by executing `sudo rm ~/Library/CloudStorage/Nextcloud/` to forcefully delete the orphaned placeholder files/hardlinks.

Server-side optimizations (such as adjusting `php.ini` with high `max_execution_time`, `upload_max_filesize`, and using active `php-fpm`) improved the initial throughput, but the underlying macOS File Provider integration still chokes on sequential large file operations and causes unrecoverable local database/link corruption.

### Steps to reproduce

1. Enable Virtual Files (VFS) mode on the Nextcloud macOS Desktop Client.
2. Copy a large batch of large binary files (e.g., 15x MP4 video files, each 1–5 GB) into a Nextcloud directory in Finder.
3. Observe the client processing chunks while macOS starts generating system metadata/thumbnails in the background.
4. If a network fluctuation or temporary webserver timeout occurs during this heavy IO load, the sync pipeline breaks.
5. Notice that the client recovers natively, but the macOS Finder gets stuck permanently with dotted/exclamation-mark clouds. Try to delete the stuck file via Finder – it will fail due to a persistent lock.

### Expected behavior

The macOS File Provider extension should handle transfer interruptions gracefully. If a file fails to sync or times out, it should be queued for a clean automatic retry without corrupting the local file provider database, freezing the Finder GUI, or locking the file system structure to a point where only `sudo rm` via CLI can remove the placeholder.

### Which files are affected by this bug

Multiple large MP4 video files (ranging from 1 GB to 5 GB)

### Operating system

macOS

### Which version of the operating system you are running.

Tahoe (Version 26.6.1)

### Installation method

Official Installer for macOS 13 and later

### Nextcloud Server version

33.0.7

### Nextcloud Desktop Client version

34.0.1

### Did this occur after an update or on a clean installation?

Clean desktop client installation

### Are you using the Nextcloud Server Encryption module?

No

### Are you using an external user-backend?

- [x] Default internal user-backend
- [ ] LDAP or Active Directory
- [ ] SSO - SAML
- [ ] Other

### Nextcloud Server logs

```shell

```

### Additional info

### Environment
* **Operating System:** macOS Tahoe (Version 26.6.1), Architecture: arm64
* **Nextcloud Desktop Client Version:** 34.0.1 (VFS Mode active)
* *Git Revision:* 364596d2caca387c5027a4694890fb79c4177a0f
* *Libraries:* Qt 6.10.2 (built against Qt 6.10.2), OpenSSL 3.6.3 (9 Jun 2026)
* *Platform Plugin:* cocoa
* **Nextcloud Server Version:** 33.0.7 (Production)
* **PHP Version:** 8.4.24 (fpm-fcgi)
* **Webserver:** Apache2

### PHP-FPM Configuration Updates (`/etc/php/8.4/fpm/php.ini`)
The following high-capacity values were applied and the `php8.4-fpm` daemon restarted before initiating the transfer:

* `max_execution_time = 3600`
* `max_input_time = 3600`
* `upload_max_filesize = 16G`
* `post_max_size = 16G`
* `memory_limit = 512M`

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.