App no longer running after 29.0.10 upgrade on Infomaniak one click upgrade

The Basics

  • Nextcloud Server version (e.g., 29.x.x):
    • 29.0.10.1
  • Operating system and version (e.g., Ubuntu 24.04):
    • Linux 6.1.0-0.deb11.21-amd64 x86_64
  • Web server and version (e.g, Apache 2.4.25):
    • Apache version unknown
  • Reverse proxy and version _(e.g. nginx 1.27.2)
    • no
  • PHP version (e.g, 8.3):
    • 8.1.30
  • Is this the first time you’ve seen this error? (Yes / No):
    • yes
  • When did this problem seem to first start?
    • just after upgrade from 28.0.12 to 29.0.10
  • Installation method (e.g. AIO, NCP, Bare Metal/Archive, etc.)
    • Infomaniak automated app installation
  • Are you using Cloudflare, mod_security, or similar? (Yes / No)
    • no

Summary of the issue you are facing:

Can’t reach the application: internal server error on the URL of the Nextcould instance

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

Log entries

Nextcloud

Please provide the log entries from your Nextcloud log that are generated during the time of problem (via the Copy raw option from Administration settings->Logging screen or from your nextcloud.log located in your data directory). Feel free to use a pastebin/gist service if necessary.

Below is the error after a occ setupchecks

✗ HTTP headers: An exception occured while running the setup check:
ReflectionException: Class "OCA\Files\Controller\AjaxController" does not exist in /home/clients/1e97ccd1a02cfcd07d0c9469c19ba207/web/docs/lib/private/Route/Router.php:479
Stack trace:
#0 /home/clients/1e97ccd1a02cfcd07d0c9469c19ba207/web/docs/lib/private/Route/Router.php(479): ReflectionClass->__construct('OCA\\Files\\Contr...')
#1 /home/clients/1e97ccd1a02cfcd07d0c9469c19ba207/web/docs/lib/private/Route/Router.php(439): OC\Route\Router->getAttributeRoutes('files')
#2 /home/clients/1e97ccd1a02cfcd07d0c9469c19ba207/web/docs/lib/private/Route/Router.php(149): OC\Route\Router->loadAttributeRoutes('files')
#3 /home/clients/1e97ccd1a02cfcd07d0c9469c19ba207/web/docs/lib/private/Route/Router.php(401): OC\Route\Router->loadRoutes()
#4 /home/clients/1e97ccd1a02cfcd07d0c9469c19ba207/web/docs/lib/private/URLGenerator.php(103): OC\Route\Router->generate('heartbeat', Array)
#5 /home/clients/1e97ccd1a02cfcd07d0c9469c19ba207/web/docs/apps/settings/lib/SetupChecks/SecurityHeaders.php(60): OC\URLGenerator->linkToRoute('heartbeat')
#6 /home/clients/1e97ccd1a02cfcd07d0c9469c19ba207/web/docs/lib/private/SetupCheck/SetupCheckManager.php(51): OCA\Settings\SetupChecks\SecurityHeaders->run()
#7 /home/clients/1e97ccd1a02cfcd07d0c9469c19ba207/web/docs/core/Command/SetupChecks.php(72): OC\SetupCheck\SetupCheckManager->runAll()
#8 /home/clients/1e97ccd1a02cfcd07d0c9469c19ba207/web/docs/3rdparty/symfony/console/Command/Command.php(298): OC\Core\Command\SetupChecks->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#9 /home/clients/1e97ccd1a02cfcd07d0c9469c19ba207/web/docs/core/Command/Base.php(177): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#10 /home/clients/1e97ccd1a02cfcd07d0c9469c19ba207/web/docs/3rdparty/symfony/console/Application.php(1040): OC\Core\Command\Base->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#11 /home/clients/1e97ccd1a02cfcd07d0c9469c19ba207/web/docs/3rdparty/symfony/console/Application.php(301): Symfony\Component\Console\Application->doRunCommand(Object(OC\Core\Command\SetupChecks), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#12 /home/clients/1e97ccd1a02cfcd07d0c9469c19ba207/web/docs/3rdparty/symfony/console/Application.php(171): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#13 /home/clients/1e97ccd1a02cfcd07d0c9469c19ba207/web/docs/lib/private/Console/Application.php(213): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#14 /home/clients/1e97ccd1a02cfcd07d0c9469c19ba207/web/docs/console.php(102): OC\Console\Application->run()
#15 /home/clients/1e97ccd1a02cfcd07d0c9469c19ba207/web/docs/occ(11): require_once('/home/clients/1...')
#16 {main}

Web server / Reverse Proxy

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

Can’t find it.

PHP logs

[Fri Dec 06 20:47:42.655929 2024] [core:crit] [pid 2235825:tid 139759569594112] (13)Permission denied: [client 2001:1600:4:11::44e:0] AH00529: /home/clients/1e97ccd1a02c1a02cfcd07d0c9469c19ba207/web/docs/.htfjdv4agmucaw.data/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable and that '/home/clients/1e97ccd1a02cfcd07d0c9469c19ba207/web/docs/.htfjdv4agmucaw.data/' is executable 

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!):

"system": {
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "docs.mywebapp.fr",
            "8d8fdaeudr.preview.infomaniak.website"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "mysql",
        "version": "29.0.10.1",
        "overwrite.cli.url": "https:\/\/docs.mywebapp.fr",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "krrp_",
        "mysql.utf8mb4": true,
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "mail_smtpmode": "smtp",
        "mail_sendmailmode": "smtp",
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "maintenance": false,
        "theme": "",
        "loglevel": 0,
        "ldapIgnoreNamingRules": false,
        "updater.secret": "***REMOVED SENSITIVE VALUE***"
    }

Apps

The output of occ app:list (if possible).

Enabled:
  - activity: 2.21.1
  - admin_audit: 1.19.0
  - bruteforcesettings: 2.9.0
  - calendar: 4.7.16
  - circles: 29.0.0-dev
  - cloud_federation_api: 1.12.0
  - comments: 1.19.0
  - contacts: 6.0.1
  - contactsinteraction: 1.10.0
  - dashboard: 7.9.0
  - dav: 1.30.1
  - federatedfilesharing: 1.19.0
  - federation: 1.19.0
  - files: 2.1.1
  - files_downloadlimit: 2.0.0
  - files_lock: 29.0.1
  - files_pdfviewer: 2.10.0
  - files_reminders: 1.2.0
  - files_sharing: 1.21.0
  - files_trashbin: 1.19.0
  - files_versions: 1.22.0
  - firstrunwizard: 2.18.0
  - forms: 4.3.4
  - groupfolders: 17.0.7
  - logreader: 2.14.0
  - lookup_server_connector: 1.17.0
  - nextcloud_announcements: 1.18.0
  - notes: 4.11.0
  - notifications: 2.17.0
  - oauth2: 1.17.1
  - password_policy: 1.19.0
  - photos: 2.5.0
  - polls: 7.2.5
  - privacy: 1.13.0
  - provisioning_api: 1.19.0
  - recommendations: 2.1.0
  - registration: 2.5.0
  - related_resources: 1.4.0
  - serverinfo: 1.19.0
  - settings: 1.12.0
  - sharebymail: 1.19.0
  - support: 1.12.0
  - survey_client: 1.17.0
  - systemtags: 1.19.0
  - text: 3.10.1
  - theming: 2.4.0
  - twofactor_backupcodes: 1.18.0
  - updatenotification: 1.19.1
  - user_status: 1.9.0
  - viewer: 2.3.0
  - weather_status: 1.9.0
  - workflowengine: 2.11.0
Disabled:
  - accessibility: 1.10.0
  - apporder: 0.15.0 (installed 0.15.0)
  - deck: 1.12.6 (installed 1.12.6)
  - encryption: 2.17.0 (installed 2.10.0)
  - extract: 1.3.6 (installed 1.3.6)
  - files_external: 1.21.0
  - files_rightclick: 1.6.0 (installed 1.6.0)
  - files_videoplayer: 1.13.0
  - impersonate: 1.15.0 (installed 1.15.0)
  - richdocuments: 8.3.12 (installed 8.3.12)
  - spreed: 18.0.13 (installed 18.0.13)
  - suspicious_login: 7.0.0
  - twofactor_totp: 11.0.0-dev
  - user_ldap: 1.20.0

Thanks.
I haven’t contacted the hoster support yet.

Perhaps it might be best to reach out to their support as I seem to understand that the upgrade procedure was triggered by their portal.

1 Like

Yes, I’m about to open a ticket.
I opened a ticket Saturday, and I’m still waiting for an answer. :confused:

As I can’t get any answer from the hoster, can anyone tell me what I could do/test/check to fix this problem?

Tbh I don’t understand the problem, maybe you will more elaborate.

I run an automated upgrade from 28.0.12 to 29.0.10 on the Infomaniak Console, it completed quickly, and then, going back to the app, it was no longer available with this message written on the app public page.

Searching for the logs at that time, I found this:
logs-upgrade.odt (122,9 Ko)

Let me know if you need more info.

Sorry, I’m not keen on Infomaniak setup, if it would be my homelab instance I would reboot and redo update. Are you able to connect to your nextcloud instance via ssh?

Yes. I have access to occ commands.

I just had the support by phone, they can’t do anything… So I think I’ll roll back files + db from last week, crossing fingers it will run again smooth.
I just backed up and downloaded all data files.

occ upgrade

Maybe a try.

I did it already: “Nextcloud is already latest version”

Try:

occ setupchecks

There’s an error:

✗ HTTP headers: An exception occured while running the setup check:
ReflectionException: Class "OCA\Files\Controller\AjaxController" does not exist in /home/clients/1e97ccd1a02cfcd07d0c9469c19ba207/web/docs/lib/private/Route/Router.php:479
Stack trace:
#0 /home/clients/1e97ccd1a02cfcd07d0c9469c19ba207/web/docs/lib/private/Route/Router.php(479): ReflectionClass->__construct('OCA\\Files\\Contr...')
#1 /home/clients/1e97ccd1a02cfcd07d0c9469c19ba207/web/docs/lib/private/Route/Router.php(439): OC\Route\Router->getAttributeRoutes('files')
#2 /home/clients/1e97ccd1a02cfcd07d0c9469c19ba207/web/docs/lib/private/Route/Router.php(149): OC\Route\Router->loadAttributeRoutes('files')
#3 /home/clients/1e97ccd1a02cfcd07d0c9469c19ba207/web/docs/lib/private/Route/Router.php(401): OC\Route\Router->loadRoutes()
#4 /home/clients/1e97ccd1a02cfcd07d0c9469c19ba207/web/docs/lib/private/URLGenerator.php(103): OC\Route\Router->generate('heartbeat', Array)
#5 /home/clients/1e97ccd1a02cfcd07d0c9469c19ba207/web/docs/apps/settings/lib/SetupChecks/SecurityHeaders.php(60): OC\URLGenerator->linkToRoute('heartbeat')
#6 /home/clients/1e97ccd1a02cfcd07d0c9469c19ba207/web/docs/lib/private/SetupCheck/SetupCheckManager.php(51): OCA\Settings\SetupChecks\SecurityHeaders->run()
#7 /home/clients/1e97ccd1a02cfcd07d0c9469c19ba207/web/docs/core/Command/SetupChecks.php(72): OC\SetupCheck\SetupCheckManager->runAll()
#8 /home/clients/1e97ccd1a02cfcd07d0c9469c19ba207/web/docs/3rdparty/symfony/console/Command/Command.php(298): OC\Core\Command\SetupChecks->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#9 /home/clients/1e97ccd1a02cfcd07d0c9469c19ba207/web/docs/core/Command/Base.php(177): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#10 /home/clients/1e97ccd1a02cfcd07d0c9469c19ba207/web/docs/3rdparty/symfony/console/Application.php(1040): OC\Core\Command\Base->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#11 /home/clients/1e97ccd1a02cfcd07d0c9469c19ba207/web/docs/3rdparty/symfony/console/Application.php(301): Symfony\Component\Console\Application->doRunCommand(Object(OC\Core\Command\SetupChecks), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#12 /home/clients/1e97ccd1a02cfcd07d0c9469c19ba207/web/docs/3rdparty/symfony/console/Application.php(171): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#13 /home/clients/1e97ccd1a02cfcd07d0c9469c19ba207/web/docs/lib/private/Console/Application.php(213): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#14 /home/clients/1e97ccd1a02cfcd07d0c9469c19ba207/web/docs/console.php(102): OC\Console\Application->run()
#15 /home/clients/1e97ccd1a02cfcd07d0c9469c19ba207/web/docs/occ(11): require_once('/home/clients/1...')
#16 {main}

Sorry, I’m out.
Maybe something with reverse proxy configuration.

out of mine instance nextcloudpi

security:
✓ App directories owner: App directories have the correct owner “www-data”
✓ Old administration imported certificates
✓ Code integrity: No altered files
:information_source: Forwarded for headers: Your remote address could not be determined.
✓ HTTPS access and URLs: You are accessing your instance over a secure connection, and your instance is generating secure URLs.
✓ Old server-side-encryption: Disabled
✓ PHP version: You are currently running PHP 8.3.14.
✓ Random generator: Secure
✓ HTTP headers: Your server is correctly configured to send security headers.

No problem. Thanks anyway!

So I found the solution by tracking the non-deleted files in some folders, and deleting them manually.

1 Like