Nextcloud fails to run after update to 33.0.0.16

So i updated my nextcloud docker to 33.0.0.16. this was done by simply pulling a new docker container, performed by nextcloud

The Basics

  • Nextcloud Server version (e.g., 29.x.x):

    • 7.2.0
  • Operating system and version (e.g., Ubuntu 24.04):

    • I don’t know how to find this

    Web server and version (e.g, Apache 2.4.25):

    • I don’t know how to find this, but it’s whatever is in the docker
  • Reverse proxy and version _(e.g. nginx 1.27.2)

    • nginx v2.12.6, but the problem is also present when connecting directly by IP and port
  • PHP version (e.g, 8.3):

    • I don’t know how to find this, but it’s whatever is in the docker
  • Is this the first time you’ve seen this error? (Yes / No):

    • yes
  • When did this problem seem to first start?

    • After the upgrade to version 33.0.0.16
      It was about 10 hours back when i instructed unraid to perform the update and i didn't really check it after and i noticed just now the whole interface is broken. no web, no desktop sync
  • Installation method (e.g. AlO, NCP, Bare Metal/Archive, etc.)

  • Are you using CloudfIare, mod_security, or similar? (Yes / No)

    • Yes, cloudflare, but the problem is also present when connecting directly by IP and port
  • Database

    • I’m using a mariadb docker for the database. registry URL https://hub.docker.com/\_/mariadb . this one is marked official as well. From the logs: Starting MariaDB 12.2.2-MariaDB-ubu240

Summary of the issue you are facing:

While I noticed the desktop synchronization was not working well, i opened the web interface, which was also not working. i went to the logs and found these errors. They seem like PHP source code exceptions to me. i think this excludes the mariadb, cloudflare, nginx and unraid aspects, but note i still included them, you never know.

Steps to replicate it (hint: details matter!):

  1. I was running just fine but i’m not sure which version i had.

  2. on the unraid UI, i clicked on the update button for mariadb. then i updated unraid in the same manner. this is a sequential process.

  3. While I never checked directly after the update, i think it produced these errors from the very first start after the update to 33.0.0.16

Log entries

Nextcloud

This is the tail of nextcloud.log - it should contain all logs since a startup of the docker, hopefully that is complete enough.
i have been unable to access the entire file, since it’s 1.7gb and i’m having trouble downloading it to my workstation.

AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.17.0.19. Set the 'ServerName' directive globally to suppress this message
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.17.0.19. Set the 'ServerName' directive globally to suppress this message
[Mon Mar 09 12:58:12.687290 2026] [mpm_prefork:notice] [pid 1:tid 1] AH00163: Apache/2.4.66 (Debian) PHP/8.4.18 configured -- resuming normal operations
[Mon Mar 09 12:58:12.687322 2026] [core:notice] [pid 1:tid 1] AH00094: Command line: 'apache2 -D FOREGROUND'
[Mon Mar 09 12:58:21.583338 2026] [php:error] [pid 55:tid 55] [client 192.168.0.1:0] PHP Fatal error:  Class OC\\Core\\Controller\\WhatsNewController cannot extend final class OC\\Core\\Controller\\OCSController in /var/www/html/core/Controller/WhatsNewController.php on line 24
[Mon Mar 09 12:58:21.583339 2026] [php:error] [pid 54:tid 54] [client 192.168.0.80:0] PHP Fatal error:  Class OC\\Core\\Controller\\WhatsNewController cannot extend final class OC\\Core\\Controller\\OCSController in /var/www/html/core/Controller/WhatsNewController.php on line 24
[Mon Mar 09 12:58:54.970032 2026] [php:error] [pid 56:tid 56] [client 192.168.4.51:0] PHP Fatal error:  Class OC\\Core\\Controller\\WhatsNewController cannot extend final class OC\\Core\\Controller\\OCSController in /var/www/html/core/Controller/WhatsNewController.php on line 24
[Mon Mar 09 12:59:22.984045 2026] [php:error] [pid 57:tid 57] [client 192.168.0.1:0] PHP Fatal error:  Class OC\\Core\\Controller\\WhatsNewController cannot extend final class OC\\Core\\Controller\\OCSController in /var/www/html/core/Controller/WhatsNewController.php on line 24
[Mon Mar 09 12:59:22.984116 2026] [php:error] [pid 58:tid 58] [client 192.168.0.80:0] PHP Fatal error:  Class OC\\Core\\Controller\\WhatsNewController cannot extend final class OC\\Core\\Controller\\OCSController in /var/www/html/core/Controller/WhatsNewController.php on line 24
[Mon Mar 09 12:59:56.549605 2026] [php:error] [pid 59:tid 59] [client 192.168.4.51:0] PHP Fatal error:  Class OC\\Core\\Controller\\WhatsNewController cannot extend final class OC\\Core\\Controller\\OCSController in /var/www/html/core/Controller/WhatsNewController.php on line 24
[Mon Mar 09 13:00:24.264575 2026] [php:error] [pid 54:tid 54] [client 192.168.0.1:0] PHP Fatal error:  Class OC\\Core\\Controller\\WhatsNewController cannot extend final class OC\\Core\\Controller\\OCSController in /var/www/html/core/Controller/WhatsNewController.php on line 24
[Mon Mar 09 13:00:24.264675 2026] [php:error] [pid 55:tid 55] [client 192.168.0.80:0] PHP Fatal error:  Class OC\\Core\\Controller\\WhatsNewController cannot extend final class OC\\Core\\Controller\\OCSController in /var/www/html/core/Controller/WhatsNewController.php on line 24
[Mon Mar 09 13:00:58.601076 2026] [php:error] [pid 56:tid 56] [client 192.168.4.51:0] PHP Fatal error:  Class OC\\Core\\Controller\\WhatsNewController cannot extend final class OC\\Core\\Controller\\OCSController in /var/www/html/core/Controller/WhatsNewController.php on line 24
[Mon Mar 09 13:01:25.535296 2026] [php:error] [pid 60:tid 60] [client 192.168.0.80:0] PHP Fatal error:  Class OC\\Core\\Controller\\WhatsNewController cannot extend final class OC\\Core\\Controller\\OCSController in /var/www/html/core/Controller/WhatsNewController.php on line 24
[Mon Mar 09 13:01:25.535643 2026] [php:error] [pid 57:tid 57] [client 192.168.0.1:0] PHP Fatal error:  Class OC\\Core\\Controller\\WhatsNewController cannot extend final class OC\\Core\\Controller\\OCSController in /var/www/html/core/Controller/WhatsNewController.php on line 24
Warning: /var/www/html/config/redis.config.php differs from the latest version of this image at /usr/src/nextcloud/config/redis.config.php
Warning: /var/www/html/config/s3.config.php differs from the latest version of this image at /usr/src/nextcloud/config/s3.config.php
=> Searching for hook scripts (*.sh) to run, located in the folder "/docker-entrypoint-hooks.d/before-starting"
==> Skipped: the "before-starting" folder is empty (or does not exist)
192.168.0.1 - - [09/Mar/2026:12:58:19 +0100] "GET / HTTP/1.1" 500 1414 "-" "Uptime-Kuma/1.23.16"
192.168.0.80 - - [09/Mar/2026:12:58:19 +0100] "GET / HTTP/1.1" 500 1412 "-" "Uptime-Kuma/1.23.16"
192.168.4.51 - Alex [09/Mar/2026:12:58:53 +0100] "GET /index.php/204 HTTP/1.1" 500 1048 "-" "Mozilla/5.0 (Windows) mirall/3.15.0stable-Win64 (build 20241125) (Nextcloud, windows-10.0.26200 ClientArchitecture: x86_64 OsArchitecture: x86_64)"
192.168.0.1 - - [09/Mar/2026:12:59:21 +0100] "GET / HTTP/1.1" 500 1414 "-" "Uptime-Kuma/1.23.16"
192.168.0.80 - - [09/Mar/2026:12:59:21 +0100] "GET / HTTP/1.1" 500 1410 "-" "Uptime-Kuma/1.23.16"
192.168.4.51 - Alex [09/Mar/2026:12:59:55 +0100] "GET /index.php/204 HTTP/1.1" 500 850 "-" "Mozilla/5.0 (Windows) mirall/3.15.0stable-Win64 (build 20241125) (Nextcloud, windows-10.0.26200 ClientArchitecture: x86_64 OsArchitecture: x86_64)"
192.168.0.80 - - [09/Mar/2026:13:00:23 +0100] "GET / HTTP/1.1" 500 1410 "-" "Uptime-Kuma/1.23.16"
192.168.0.1 - - [09/Mar/2026:13:00:23 +0100] "GET / HTTP/1.1" 500 1420 "-" "Uptime-Kuma/1.23.16"
192.168.4.51 - Alex [09/Mar/2026:13:00:57 +0100] "GET /index.php/204 HTTP/1.1" 500 850 "-" "Mozilla/5.0 (Windows) mirall/3.15.0stable-Win64 (build 20241125) (Nextcloud, windows-10.0.26200 ClientArchitecture: x86_64 OsArchitecture: x86_64)"
192.168.0.1 - - [09/Mar/2026:13:01:24 +0100] "GET / HTTP/1.1" 500 1422 "-" "Uptime-Kuma/1.23.16"
192.168.0.80 - - [09/Mar/2026:13:01:24 +0100] "GET / HTTP/1.1" 500 1412 "-" "Uptime-Kuma/1.23.16"
[Mon Mar 09 13:02:00.545054 2026] [php:error] [pid 58:tid 58] [client 192.168.4.51:0] PHP Fatal error:  Class OC\\Core\\Controller\\WhatsNewController cannot extend final class OC\\Core\\Controller\\OCSController in /var/www/html/core/Controller/WhatsNewController.php on line 24
192.168.4.51 - Alex [09/Mar/2026:13:01:59 +0100] "GET /index.php/204 HTTP/1.1" 500 850 "-" "Mozilla/5.0 (Windows) mirall/3.15.0stable-Win64 (build 20241125) (Nextcloud, windows-10.0.26200 ClientArchitecture: x86_64 OsArchitecture: x86_64)"
[Mon Mar 09 13:02:27.062797 2026] [php:error] [pid 55:tid 55] [client 192.168.0.80:0] PHP Fatal error:  Class OC\\Core\\Controller\\WhatsNewController cannot extend final class OC\\Core\\Controller\\OCSController in /var/www/html/core/Controller/WhatsNewController.php on line 24
[Mon Mar 09 13:02:27.063001 2026] [php:error] [pid 59:tid 59] [client 192.168.0.1:0] PHP Fatal error:  Class OC\\Core\\Controller\\WhatsNewController cannot extend final class OC\\Core\\Controller\\OCSController in /var/www/html/core/Controller/WhatsNewController.php on line 24
192.168.0.80 - - [09/Mar/2026:13:02:25 +0100] "GET / HTTP/1.1" 500 1418 "-" "Uptime-Kuma/1.23.16"
192.168.0.1 - - [09/Mar/2026:13:02:25 +0100] "GET / HTTP/1.1" 500 1410 "-" "Uptime-Kuma/1.23.16"

Web Browser

If the problem is related to the Web interface, open your browser inspector Console and Network tabs while refreshing (reloading) and reproducing the problem. Provide any relevant output/errors here that appear.

Nope, web access is unavailable: (failed)net::ERR_CONNECTION_REFUSED

Configuration

Nextcloud

The output of occ config:list system or similar is best, but, if not possible, the contents of your config.php file from /path/to/nextcloud is fine (make sure to remove any identifiable information!):

I cannot access this, it's not running

Sounds like you’re using an Unraid app. Underneath it does use one of the various Nextcloud images, but…

Anyhow, the WhatsNewController doesn’t exist in v33 so no idea how you’re even seeing that.

What’s your volume/mount configuration for the container? You may want to post on the Unraid forum for support, as Unraid lists on the support link for that app.

This is the tail of nextcloud.log - it should contain all logs since a startup of the docker,

That’s helpful, but it’s actually the container log, not the nextcloud.log (likely located in your data directory).

I cannot access this, it’s not running

Yes, you can by accessing config/config.php directly in the container.

Here is the config.php, with some redacting on the keys, secrets and urls

<?php
$CONFIG = array (
  'htaccess.RewriteBase' => '/',
  'memcache.local' => '\\OC\\Memcache\\APCu',
  'apps_paths' => 
  array (
    0 => 
    array (
      'path' => '/var/www/html/apps',
      'url' => '/apps',
      'writable' => false,
    ),
    1 => 
    array (
      'path' => '/var/www/html/custom_apps',
      'url' => '/custom_apps',
      'writable' => true,
    ),
  ),
  'upgrade.disable-web' => true,
  'instanceid' => 'REDACTED',
  'passwordsalt' => 'REDACTED',
  'secret' => 'REDACTED',
  'trusted_domains' => 
  array (
    0 => 'REDACTED',
  ),
  'datadirectory' => '/var/www/html/data',
  'dbtype' => 'mysql',
  'version' => '33.0.0.16',
  'overwrite.cli.url' => 'https://REDACTED',
  'overwriteprotocol' => 'https',
  'dbname' => 'REDACTED',
  'dbhost' => 'REDACTED:3309',
  'dbport' => '',
  'dbtableprefix' => 'oc_',
  'mysql.utf8mb4' => true,
  'dbuser' => 'nextcloud2',
  'dbpassword' => 'REDACTED',
  'installed' => true,
  'maintenance' => false,
  'post_max_size' => '5000M',
  'loglevel' => 2,
  'filelocking.enabled' => false,
);

When you say i’m using an Unraid app. yes i believe so. in my eyes an Unraid app was just a template to a preconfigured set of docker parameters. i don’t see the unraid apps list a link straight to the exact one app, but it this one:

Since you mention the WhatsNewController does not exist in version 33. i found that it was indeed removed. see the bottom of : Upgrade to Nextcloud 33 — Nextcloud latest Developer Manual latest documentation
so, my installation is still thinking it can use this. so, could the removal not have been performed completely by the migration script that ran on my installation? or could there be an nextcloud addon that is still trying to use it?

I performed a search and it does seem it’s still referenced in the code. in a core folder

grep -rnw ‘/mnt/user/appdata/nextcloud2’ -e ‘WhatsNewController’
/mnt/user/appdata/nextcloud2/nextcloud/core/Controller/WhatsNewController.php:24:class WhatsNewController extends OCSController

quick edit, you mentioned the volume mounts could help with troubleshooting:

Host Path 1:
/mnt/user/appdata/nextcloud2/nextcloud
Container Path: /var/www/html
This is where the user inteface files are stored to be served to the browser.

Host Path 2:
/mnt/user/appdata/nextcloud2/apps
Container Path: /var/www/html/custom_apps

Host Path 3:
/mnt/user/appdata/nextcloud2/config
Container Path: /var/www/html/config

Host Path 4:
/mnt/user/nextCloud/data
Container Path: /var/www/html/data
Thuis is where all user files get stored physically on the disk.

Host Path 5:
/mnt/user/Share/
Container Path: /mnt/Share

okay, solved it i guess

Since i found the file generating the error using grep -rnw ‘/mnt/user/appdata/nextcloud2’ -e ‘WhatsNewController’

Being this is a search that reads all file contents, I also noticed…. if this file was used anywhere, more results would be there, showing that file was imported. i’m not familiar with php at all, but there would have been something…. anything! so, i renamed WhatsNewController.php placed in /appdata/nextcloud2/nextcloud/core/Controller to WhatsNewController.php.OFF and restarted the docker.

Now i’m welcomed by a running web interface and everything that should be connecting with it is working again.

so, i can’t be sure if that file came from the unraid shell of nextcloud, or was a leftover from a migration, but i think it can be deleted safely.

Same here. It’s enaought top remove the word “final” form the file /core/Controller/OCSController.php at line 27.

I understand why that seems to work, but it’s not the appropriate solution. There seem to be a couple things going on here:

  • v33 does not have WhatsNewController (intentionally: it was removed)
  • If somehow you’re ending up with it, it’s loading the wrong OCSController (but this isn’t really a bug since it shouldn’t even exist in your environment)

@Paolo_Sala Are you using the Unraid app like @Alex5Five is? Trying to figure out what the common denominator is.

No I’m using the official docker container and I’ve updatednit chaining the image referral in the docker compose. So it’s probably a bug of the docker image…

I’m unable to reproduce the behavior upgrading the image from v32->v33. The core/lib/WhatsNewController.php is properly dropped.

Can you post your compose file, @Paolo_Sala?

And also the precise steps you followed to perform the update/upgrade?