Hello everyone,
I’m facing a very persistent and unusual fatal error and I’ve exhausted all possible troubleshooting steps, including a full re-installation. I’m hoping someone in the community has seen this before.
Environment:
- Nextcloud Version:
31.0.8.1(Reported by logs) - PHP Version:
8.3.24 - Database: MariaDB
10.6 - Installation Method: Official Docker Image (
nextcloud:latest-apache) - Setup: Running behind Nginx Proxy Manager
The Problem: My log is being spammed with a fatal error every few seconds: Exception: hash_hkdf(): Argument #2 ($key) cannot be empty in file '/var/www/html/lib/private/Security/Crypto.php' line 147.
Key Symptoms & Diagnosis:
- The log trace clearly shows the error is triggered by the Federation / Open Cloud Mesh (OCM) feature when the
/ocm-provider/endpoint is hit by theNextcloud Server Crawler. - The error also happens manually when I open the “Files” app.
- Server-Side Encryption is, and always has been, disabled.
- Crucially, the error continues to happen even after I disable the
federationandcloud_federation_apiapps via theocccommand. The system seems to be ignoring the fact that the app is disabled and continues to run its code.
What I Have Already Tried (Unsuccessfully):
- Verified that
secretandpasswordsaltare correctly set inconfig.php. - Corrected all file permissions with
chown -R www-data:www-data. - Ran
occ integrity:check-core(passed with no errors). - Ran
occ files:scan --all. - Manually deleted all federation-related entries from
oc_appconfigandoc_preferencesin the database. - Flushed the Redis cache with
FLUSHALL. - Restarted the containers multiple times.
- Performed a full re-installation: I backed up my
datafolder,config.php,custom_apps, and the database. I then completely destroyed the Docker environment (containers and volumes). I set up a fresh, clean installation and restored my backups. The error returned immediately after restoring the database.
This confirms the corruption is within my database backup. However, the system’s behavior of running code from a disabled app seems like a deeper issue.
Has anyone encountered a situation where a disabled app’s controllers and routes continue to run, leading to a fatal error? Is there any known bug in the 31.0.8.1 release related to this?
Thank you for any insights you can provide.