Nextcloud no longer functional after upgrade 13 -> 14

NethServer Version: 7.5.1804 (final)
Module: nextcloud

Last Friday I performed an update on my Nethserver server via the web UI. It was a pretty long list of updates with Nextcloud version 14 among them. After the update the webinterface of Nextcloud only shows a white screen, without any text. Also the DAV connections for calendar etc. don’t work anymore and the same goes for the desktop clientconnections.

Trying to work with the occ commands shows the output as shown below:

[root@server1 ~]# sudo -u apache /opt/rh/rh-php71/root/usr/bin/php /usr/share/nextcloud/occ
An unhandled exception has been thrown:
OCP\AppFramework\QueryException: Could not resolve defaultTokenProvider! Class defaultTokenProvider does not exist in /usr/share/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php:110
Stack trace:
#0 /usr/share/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(125): OC\AppFramework\Utility\SimpleContainer->resolve('defaultTokenPro...')
#1 /usr/share/nextcloud/lib/private/ServerContainer.php(132): OC\AppFramework\Utility\SimpleContainer->query('defaultTokenPro...')
#2 /usr/share/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(81): OC\ServerContainer->query('defaultTokenPro...')
#3 /usr/share/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(104): OC\AppFramework\Utility\SimpleContainer->buildClass(Object(ReflectionClass))
#4 /usr/share/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(125): OC\AppFramework\Utility\SimpleContainer->resolve('OC\\Authenticati...')
#5 /usr/share/nextcloud/lib/private/ServerContainer.php(132): OC\AppFramework\Utility\SimpleContainer->query('OC\\Authenticati...')
#6 /usr/share/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(171): OC\ServerContainer->query('OC\\Authenticati...')
#7 /usr/share/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(114): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}(Object(OC\Server))
#8 /usr/share/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(123): Pimple\Container->offsetGet('OC\\Authenticati...')
#9 /usr/share/nextcloud/lib/private/ServerContainer.php(132): OC\AppFramework\Utility\SimpleContainer->query('OC\\Authenticati...')
#10 /usr/share/nextcloud/lib/private/Server.php(364): OC\ServerContainer->query('OC\\Authenticati...')
#11 /usr/share/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(118): OC\Server->OC\{closure}(Object(OC\Server))
#12 /usr/share/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(123): Pimple\Container->offsetGet('OCP\\IUserSessio...')
#13 /usr/share/nextcloud/lib/private/ServerContainer.php(132): OC\AppFramework\Utility\SimpleContainer->query('OCP\\IUserSessio...')
#14 /usr/share/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(171): OC\ServerContainer->query('OCP\\IUserSessio...')
#15 /usr/share/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(114): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}(Object(OC\Server))
#16 /usr/share/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(123): Pimple\Container->offsetGet('UserSession')
#17 /usr/share/nextcloud/lib/private/ServerContainer.php(132): OC\AppFramework\Utility\SimpleContainer->query('UserSession')
#18 /usr/share/nextcloud/lib/private/Server.php(1408): OC\ServerContainer->query('UserSession')
#19 /usr/share/nextcloud/lib/private/Server.php(683): OC\Server->getUserSession()
#20 /usr/share/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(118): OC\Server->OC\{closure}(Object(OC\Server))
#21 /usr/share/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(123): Pimple\Container->offsetGet('OC\\App\\AppManag...')
#22 /usr/share/nextcloud/lib/private/ServerContainer.php(132): OC\AppFramework\Utility\SimpleContainer->query('OC\\App\\AppManag...')
#23 /usr/share/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(171): OC\ServerContainer->query('OC\\App\\AppManag...')
#24 /usr/share/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(114): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}(Object(OC\Server))
#25 /usr/share/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(123): Pimple\Container->offsetGet('AppManager')
#26 /usr/share/nextcloud/lib/private/ServerContainer.php(132): OC\AppFramework\Utility\SimpleContainer->query('AppManager')
#27 /usr/share/nextcloud/lib/private/Server.php(1703): OC\ServerContainer->query('AppManager')
#28 /usr/share/nextcloud/lib/private/legacy/app.php(342): OC\Server->getAppManager()
#29 /usr/share/nextcloud/lib/private/legacy/app.php(113): OC_App::getEnabledApps()
#30 /usr/share/nextcloud/lib/base.php(654): OC_App::loadApps(Array)
#31 /usr/share/nextcloud/lib/base.php(1068): OC::init()
#32 /usr/share/nextcloud/console.php(46): require_once('/usr/share/next...')
#33 /usr/share/nextcloud/occ(11): require_once('/usr/share/next...')
#34 {main}

What did I try so far to resolve it?

yum reinstall nextcloud
yum reinstall nethserver-nextcloud
signal-event nethserver-nextcloud-update

All without success.

Furthermore I searched the internet for possible clues, to no avail.
What steps could I further undertake to repair Nextcloud?

Thanks in advance, Wijnand.

Some reports points to a problem contacting the database.


14.0.1 is available, updated today without troubles.

3 Likes

White screen may be a problem with the database connection or database.

I found the following for php72, php71-php-mysqlnd was not installed in this case, usually it should be a requirement of nextcloud but maybe there was an update problem.

Another case:

EDIT:

For complete reinstall and if you accept loosing the database you have to drop it…

mysql -e "drop database nextcloud;"

…and in some scenarios remove/rename /usr/share/nextcloud/config/config.php before reinstalling nextcloud:

yum reinstall nethserver-nextcloud nextcloud

Thanks Marc and Markus for your tips! The PHP requisites are there, so that is not the problem. I suspect a problem with the nextcloud database. To get things going I tried to reinstall Nextcloud by doing the following:

yum remove nethserver-nextcloud nextcloud
in phpMyAdmin; rename the nextcloud database to nextcloud_20181001
yum install nethserver-nextcloud nextcloud

When I browse to nextcloud there is some blue again :slight_smile: but I am asked to create an admin account and it is mentioned that the database will be on SQlite. So it seems the Nethserver-specifics are not in place :frowning:

In Dutch we would say “van de regen in de drup” (literally from rain to drop) which translates to “from bad to worse”. What am I doing wrong or do I oversee?

1 Like

Does a signal-event nethserver-nextcloud-update help?

Did you rename/remove the config.php? I am afraid it’s not correctly recreated if it exists.

2 Likes

That did the trick! Why didn’t I think of this? Still got a lot to learn (and remember) on Nethserver i’m afraid…

Thanks again Markus!

2 Likes