Nextcloud version (eg, 29.0.5): 29.0.2
Operating system and version (eg, Ubuntu 29.04): Ubuntu 22.04.4
Apache or nginx version (eg, Apache 2.4.25): Nginx 1.18.0
PHP version (eg, 8.3): 8.2.20
The issue you are facing:
Trying to upgrade from 29.0.2 to 29.0.3 fails with a crash of occ upgrade and Nextcloud is not usable afterwards.
Is this the first time you’ve seen this error? (Y/N): N
I first tried the update via the web Updater, restored my backup after the failure and tried the same from CLI. There was no error shown in the web updater until maintenance mode was disabled and it returned to the main web page. Only with the CLI updater I then saw the below stacktrace.
Steps to replicate it:
- sudo -u www-data php /var/www/nextcloud/updater/updater.phar
- Start update? [y/N] y
- Should the “occ upgrade” command be executed? [Y/n] y
CLI output of the occ upgrade
:
An unhandled exception has been thrown:
InvalidArgumentException: app cannot be an empty string in /var/www/nextcloud/lib/private/AppConfig.php:1189
Stack trace:
#0 /var/www/nextcloud/lib/private/AppConfig.php(516): OC\AppConfig->assertParams()
#1 /var/www/nextcloud/lib/private/AppConfig.php(276): OC\AppConfig->getValueType()
#2 /var/www/nextcloud/lib/private/legacy/OC_App.php(736): OC\AppConfig->searchValues()
#3 /var/www/nextcloud/lib/private/Server.php(694): OC_App::getAppVersions()
#4 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(175): OC\Server->OC\{closure}()
#5 /var/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(122): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}()
#6 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(142): Pimple\Container->offsetGet()
#7 /var/www/nextcloud/lib/private/ServerContainer.php(173): OC\AppFramework\Utility\SimpleContainer->query()
#8 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(64): OC\ServerContainer->query()
#9 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(197): OC\AppFramework\Utility\SimpleContainer->get()
#10 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(175): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}()
#11 /var/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(118): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}()
#12 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(142): Pimple\Container->offsetGet()
#13 /var/www/nextcloud/lib/private/ServerContainer.php(173): OC\AppFramework\Utility\SimpleContainer->query()
#14 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(64): OC\ServerContainer->query()
#15 /var/www/nextcloud/lib/private/Server.php(1094): OC\AppFramework\Utility\SimpleContainer->get()
#16 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(175): OC\Server->OC\{closure}()
#17 /var/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(122): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}()
#18 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(142): Pimple\Container->offsetGet()
#19 /var/www/nextcloud/lib/private/ServerContainer.php(173): OC\AppFramework\Utility\SimpleContainer->query()
#20 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(64): OC\ServerContainer->query()
#21 /var/www/nextcloud/lib/private/Files/View.php(110): OC\AppFramework\Utility\SimpleContainer->get()
#22 /var/www/nextcloud/lib/private/Server.php(482): OC\Files\View->__construct()
#23 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(175): OC\Server->OC\{closure}()
#24 /var/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(122): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}()
#25 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(142): Pimple\Container->offsetGet()
#26 /var/www/nextcloud/lib/private/ServerContainer.php(173): OC\AppFramework\Utility\SimpleContainer->query()
#27 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(64): OC\ServerContainer->query()
#28 /var/www/nextcloud/lib/private/Server.php(1445): OC\AppFramework\Utility\SimpleContainer->get()
#29 /var/www/nextcloud/lib/base.php(641): OC\Server->boot()
#30 /var/www/nextcloud/lib/base.php(1181): OC::init()
#31 /var/www/nextcloud/console.php(48): require_once('...')
#32 /var/www/nextcloud/occ(11): require_once('...')
#33 {main}
After disabling the maintenance mode, the Nextcloud webpage is shoing below error message:
Internal Server Error
The server encountered an internal error and was unable to complete your request.
Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report.
More details can be found in the server log.
The output of your config.php file in /path/to/nextcloud
(make sure you remove any identifiable information!):
<?php
$CONFIG = array (
'instanceid' => '**********',
'passwordsalt' => '**********',
'secret' => '**********',
'trusted_domains' =>
array (
0 => 'my.sever.domain',
),
'trusted_proxies' =>
array (
0 => '127.0.0.1/8',
1 => '::1/128',
2 => '192.168.178.15',
),
'datadirectory' => '/cloud/data',
'overwrite.cli.url' => 'https://my.server.domain',
'dbtype' => 'mysql',
'version' => '29.0.2.2',
'dbname' => 'nextcloud',
'dbhost' => 'localhost',
'dbtableprefix' => 'oc_',
'dbuser' => 'nextcloud',
'dbpassword' => '**********',
'logtimezone' => 'UTC',
'installed' => true,
'memcache.local' => '\\OC\\Memcache\\APCu',
'filelocking.enabled' => 'true',
'memcache.locking' => '\\OC\\Memcache\\Redis',
'redis' =>
array (
'host' => '/var/run/redis/redis-server.sock',
'port' => 0,
'dbindex' => 0,
'password' => '**********',
'timeout' => 1.5,
),
'enable_previews' => true,
'preview_max_x' => 1024,
'preview_max_y' => 1024,
'preview_max_scale_factor' => 10,
'preview_max_filesize_image' => 50,
'enabledPreviewProviders' =>
array (
0 => 'OC\\Preview\\PNG',
1 => 'OC\\Preview\\JPEG',
2 => 'OC\\Preview\\GIF',
3 => 'OC\\Preview\\HEIC',
4 => 'OC\\Preview\\BMP',
5 => 'OC\\Preview\\XBitmap',
6 => 'OC\\Preview\\MP3',
7 => 'OC\\Preview\\TXT',
8 => 'OC\\Preview\\MarkDown',
9 => 'OC\\Preview\\Image',
10 => 'OC\\Preview\\TIFF',
),
'debug' => false,
'logfile' => '/var/log/nextcloud/nextcloud.log',
'loglevel' => 2,
'mail_from_address' => 'admin',
'mail_smtpmode' => 'smtp',
'mail_domain' => 'mail.server',
'mail_smtpauthtype' => 'LOGIN',
'mail_smtphost' => 'smtp.mail.server',
'theme' => '',
'maintenance' => false,
'appstore.experimental.enabled' => true,
'htaccess.RewriteBase' => '/',
'updater.release.channel' => 'stable',
'remember_login_cookie_lifetime' => 1296000,
'mysql.utf8mb4' => true,
'trashbin_retention_obligation' => 'auto, 90',
'encryption.key_storage_migrated' => false,
'app_install_overwrite' =>
array (
0 => 'twofactor_nextcloud_notification',
1 => 'previewgenerator',
2 => 'breezedark',
3 => 'files_retention',
),
'mail_sendmailmode' => 'smtp',
'default_phone_region' => 'DE',
'mail_smtpauth' => 1,
'mail_smtpname' => 'admin@mail.server',
'mail_smtppassword' => '**********',
'mail_smtpport' => '465',
'mail_smtpsecure' => 'ssl',
'maintenance_window_start' => 1,
'memories.db.triggers.fcu' => true,
'memories.exiftool' => '/var/www/nextcloud/apps/memories/bin-ext/exiftool-amd64-glibc',
'memories.vod.path' => '/var/www/nextcloud/apps/memories/bin-ext/go-vod-amd64',
'memories.gis_type' => 1,
);
/var/www/nextcloud/apps
activity dav files_sharing notes recommendations text
admin_audit encryption files_trashbin notifications related_resources theming
bookmarks federatedfilesharing files_versions notify_push richdocuments twofactor_backupcodes
bruteforcesettings federation firstrunwizard oauth2 serverinfo twofactor_nextcloud_notification
calendar files groupfolders password_policy settings twofactor_totp
circles files_automatedtagging logreader phonetrack sharebymail updatenotification
cloud_federation_api files_downloadlimit lookup_server_connector photos support user_ldap
comments files_external mail previewgenerator survey_client user_status
contacts files_pdfviewer maps privacy suspicious_login viewer
contactsinteraction files_reminders memories provisioning_api systemtags weather_status
dashboard files_retention nextcloud_announcements recognize tasks workflowengine