Blank screen after update to NC 25

Nextcloud version (eg, 20.0.5): 24.latest, upgrading to 25.0
Operating system and version (eg, Ubuntu 20.04): Ubuntu 20.04
Apache or nginx version (eg, Apache 2.4.25): Apache 2.4.54 running behind nginx 1.23.1 reverse proxy
PHP version (eg, 7.4): 8.0

The issue you are facing:
I’ve had no issues upgrading nextcloud for the last 20 or 30 times, so I’m fairly used to the process. This is the first time I’ve had a major issue.

Is this the first time you’ve seen this error? (Y/N): Y

Steps to replicate it:

  1. Run upgrade using upgrader.phar
  2. Visit login page. No login box is displayed.
  3. Visit dashboard on a browser already logged in: nothing to see. One letter on top right for user account. No menu, no text, no images on the normal dashboard.

The output of your Nextcloud log in Admin > Logging:

Nothing unusual in here. Normal upgrade messages only. 
And then nothing after upgrade had completed. 

The output of your config.php file in /path/to/nextcloud (make sure you remove any identifiable information!):

<?php
$CONFIG = array (
  'instanceid' => 'sdfasdfasdf',
  'passwordsalt' => 'asdafasdf3QnjAq6P',
  'secret' => 'shhhhhhhhhh+ll6Rmnexj+YB',
  'trusted_domains' => 
  array (
    0 => 'nc.domain.com',
  ),
  'datadirectory' => '/home/user/web/nc.domain.com/public_html/data',
  'dbtype' => 'mysql',
  'version' => '25.0.0.18',
  'overwrite.cli.url' => 'https://nc.domain.com',
  'dbname' => 'db_nextcloud',
  'dbhost' => 'localhost',
  'dbport' => '',
  'dbtableprefix' => 'oc_',
  'mysql.utf8mb4' => true,
  'dbuser' => 'db_nextcloudu',
  'dbpassword' => '8ddddddddYU',
  'installed' => true,
  'mail_from_address' => 'nextcloud',
  'mail_smtpmode' => 'sendmail',
  'mail_sendmailmode' => 'smtp',
  'mail_domain' => 'domain.com',
  'maintenance' => false,
  'theme' => '',
  'loglevel' => 2,
  'memcache.local' => '\\OC\\Memcache\\Redis',
  'memcache.distributed' => '\\OC\\Memcache\\Redis',
  'memcache.locking' => '\\OC\\Memcache\\Redis',
  'redis' => 
  array (
    'host' => '127.0.0.1',
    'port' => 6379,
    'dbindex' => 1,
  ),
  'default_phone_region' => 'TH',
);

The output of your Apache/nginx/system log in /var/log/____:

Nothing in here. No 404s, no problems in error log. 

Output errors in nextcloud.log in /var/www/ or as admin user in top right menu, filtering for errors. Use a pastebin service if necessary.

Nothing in nextcloud.log after upgrade has completed. 

Symptoms. No text, images, menus appear on web login. CalDAV sync with Thunderbird is still working. File sync with Nextcloud Desktop is still working.
Have checked file permissions and ownership. All dirs are chmod 755. All files are chmod 644. Have even tried 664.
Redis is working: have checked with redis-cli
Nothing changed on the server between before and after upgrade. Same PHP, APache, config.
Have cleared browser caches, used alternate browser. Rebooted server.
Now have run out of ideas.

I rolled back to last 24 backup. That works (except images missing from contacts – probably unrelated issue). I re-tried the upgrade. Breaks again. Nothing useful in logs.

Tried adding localhost to the trusted domains array. No change.
Tried changing overwrite.cli.url to http://localhost but no change.
Tried using square bracket array format. No change.

Managed to go to the admin interface by pasting the URL directly into the browser (no menu links to follow). In the admin interface, I can see the left menu (plain text only, suggesting css/theme problem), but still no top menu.
Some occ commands were suggested. Ran them, without improvement. Now just left with the admin screen telling me I don’t have cache enabled, when I do, as per config above. But anyway, even with cache disabled, I’d still be able to see the menus. So … theme problem perhaps?

Is the theming app enabled on your instance?

It was. Disabled it with
php occ app:disable theming
Now I can see a nasty bright cloud background. But still no menus, text, or icons. Dashboard is blank.

OK, disabled a few more apps (photos, files_external) that I wasn’t using. Cleared browser cache. Got a bit of css formatting back. Switched to browser which has never accessed that URL before and now login box is back, and menu icons at the top.
OK, so it seems the themeing app was to blame. Thanks for that.

Could you please tell me how to execute this command?

I get this error:
Console has to be executed with the user that owns the file config/config.php
Current user id: 0
Owner id of config.php: 99
Try adding ‘sudo -u #99’ to the beginning of the command (without the single quotes)
If running with ‘docker exec’ try adding the option ‘-u 99’ to the docker command (without the single quotes)

Sadly adding “-u 99” does not help :frowning: