"Update needed" although up to date

Steps to reproduce

  1. open URL of our oc instance

Expected behaviour

display login screen

Actual behaviour

displaying message “Update needed”

Server configuration

Operating system: CentOS Linux release 7.9.2009 (Core)
Web server: Apache (on Managed Cloud Service)
Database: MySQL
PHP version: 7.4.13
ownCloud version: 10.5.0 (stable)
Updated from an older ownCloud or fresh install: updated
Where did you install ownCloud from: not sure
Signing status (ownCloud 9.0 and above): No errors have been found.

The content of config/config.php:

{
    "system": {
        "instanceid": "ocfg7qy4nuy3",
        "passwordsalt": "*REMOVED SENSITIVE VALUE*",
        "secret": "*REMOVED SENSITIVE VALUE*",
        "trusted_domains": [
            "xyz.de",
            "xyz.mymanaged.host"
        ],
        "datadirectory": "\/var\/www\/vhosts\/xyz\/owncloud_data\/"                                                                                                             ,
        "overwrite.cli.url": "https:\/\/xyz.de",
        "dbtype": "mysql",
        "version": "10.5.0.10",
        "dbname": "ownclouddb",
        "dbhost": "localhost",
        "dbtableprefix": "oc_",
        "dbuser": "*REMOVED SENSITIVE VALUE*",
        "dbpassword": "*REMOVED SENSITIVE VALUE*",
        "logtimezone": "UTC",
        "default_language": "de_DE",
        "installed": true,
        "preview_libreoffice_path": "\/usr\/bin\/libreoffice",
        "theme": "abc",
        "mail_from_address": "*REMOVED SENSITIVE VALUE*",
        "mail_smtpmode": "php",
        "mail_domain": "*REMOVED SENSITIVE VALUE*",
        "loglevel": 2,
        "maintenance": false,
        "htaccess.RewriteBase": "\/",
        "memcache.local": "\\OC\\Memcache\\Redis",
        "redis": {
            "host": "localhost",
            "port": 1234
        },
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "singleuser": false,
        "skeletondirectory": "\/var\/www\/vhosts\/dms.henkel-pm.de\/htdocs\/themes\/abc\/skeleton",
        "trashbin_retention_obligation": "auto",
        "integrity.ignore.missing.app.signature": [
            "theme-abc"
        ],
        "apps_paths": [
            {
                "path": "\/var\/www\/vhosts\/xyz.de\/htdocs\/apps",
                "url": "\/apps",
                "writable": false
            },
            {
                "path": "\/var\/www\/vhosts\/xyz.de\/htdocs\/apps-external",
                "url": "\/apps-external",
                "writable": true
            }
        ]
    }
}

List of activated apps:

Enabled:
  - activity: 2.5.4
  - comments: 0.3.0
  - configreport: 0.2.0
  - dav: 0.6.0
  - encryption: 1.4.0
  - federatedfilesharing: 0.5.0
  - federation: 0.1.0
  - files: 1.5.2
  - files_external: 0.7.1
  - files_mediaviewer: 1.0.3
  - files_pdfviewer: 0.11.2
  - files_sharing: 0.13.0
  - files_trashbin: 0.9.1
  - files_versions: 1.3.0
  - firstrunwizard: 1.2.0
  - notifications: 0.5.2
  - provisioning_api: 0.5.0
  - systemtags: 0.3.0
  - updatenotification: 0.2.1
Disabled:
  - external
  - market
  - onlyoffice
  - user_external

Are you using external storage, if yes which one: no
Are you using encryption: yes
Are you using an external user-backend, if yes which one: Webdav

Client configuration

Browser: latest Chrome, same in latest Firefox
Operating system: Win 10
Web server error log: not even sure if I have access, I will ask for it, if necessary

ownCloud log (data/owncloud.log)

timestamp and “NeedsUpdateException” seems related:

{"reqId":"X9I8xY00p6vR1LNHZU5DNQAAABs","level":3,"time":"2020-12-10T15:20:37+00:00","remoteAddr":"123.456.789.0","user":"--","app":"no app in context","method":"GET","url":"\/core\/js\/oc.js?v=f103a480de1d616222c48ad3fa15ef04","message":"Exception: {\"Exception\":\"OC\\\\NeedsUpdateException\",\"Message\":\"\",\"Code\":0,\"Trace\":\"#0 \\\/var\\\/www\\\/vhosts\\\/xyz.de\\\/htdocs\\\/lib\\\/private\\\/legacy\\\/app.php(124): OC_App::loadApp('onlyoffice')\\n#1 \\\/var\\\/www\\\/vhosts\\\/xyz.de\\\/htdocs\\\/lib\\\/private\\\/legacy\\\/util.php(148): OC_App::loadApps(Array)\\n#2 \\\/var\\\/www\\\/vhosts\\\/xyz.de\\\/htdocs\\\/lib\\\/private\\\/Files\\\/Filesystem.php(352): OC_Util::setupFS()\\n#3 \\\/var\\\/www\\\/vhosts\\\/xyz.de\\\/htdocs\\\/lib\\\/private\\\/Files\\\/View.php(1213): OC\\\\Files\\\\Filesystem::resolvePath('\\\/files_encrypti...')\\n#4 \\\/var\\\/www\\\/vhosts\\\/xyz.de\\\/htdocs\\\/lib\\\/private\\\/Files\\\/View.php(572): OC\\\\Files\\\\View->basicOperation('file_exists', '\\\/files_encrypti...')\\n#5 \\\/var\\\/www\\\/vhosts\\\/xyz.de\\\/htdocs\\\/lib\\\/private\\\/Encryption\\\/Keys\\\/Storage.php(234): OC\\\\Files\\\\View->file_exists('\\\/files_encrypti...')\\n#6 \\\/var\\\/www\\\/vhosts\\\/xyz.de\\\/htdocs\\\/lib\\\/private\\\/Encryption\\\/Keys\\\/Storage.php(112): OC\\\\Encryption\\\\Keys\\\\Storage->getKey('\\\/files_encrypti...')\\n#7 \\\/var\\\/www\\\/vhosts\\\/xyz.de\\\/htdocs\\\/apps\\\/encryption\\\/lib\\\/KeyManager.php(552): OC\\\\Encryption\\\\Keys\\\\Storage->getSystemUserKey('pubShare_9aeb81...', 'OC_DEFAULT_MODU...')\\n#8 \\\/var\\\/www\\\/vhosts\\\/xyz.de\\\/htdocs\\\/apps\\\/encryption\\\/lib\\\/KeyManager.php(143): OCA\\\\Encryption\\\\KeyManager->getPublicShareKey()\\n#9 \\\/var\\\/www\\\/vhosts\\\/xyz.de\\\/htdocs\\\/apps\\\/encryption\\\/lib\\\/Users\\\/Setup.php(83): OCA\\\\Encryption\\\\KeyManager->validateShareKey()\\n#10 \\\/var\\\/www\\\/vhosts\\\/xyz.de\\\/htdocs\\\/apps\\\/encryption\\\/lib\\\/AppInfo\\\/Application.php(71): OCA\\\\Encryption\\\\Users\\\\Setup->setupSystem()\\n#11 \\\/var\\\/www\\\/vhosts\\\/xyz.de\\\/htdocs\\\/apps\\\/encryption\\\/appinfo\\\/app.php(30): OCA\\\\Encryption\\\\AppInfo\\\\Application->__construct(Array, true)\\n#12 \\\/var\\\/www\\\/vhosts\\\/xyz.de\\\/htdocs\\\/lib\\\/private\\\/legacy\\\/app.php(239): require_once('\\\/var\\\/www\\\/vhosts...')\\n#13 \\\/var\\\/www\\\/vhosts\\\/xyz.de\\\/htdocs\\\/lib\\\/private\\\/legacy\\\/app.php(190): OC_App::requireAppFile('encryption')\\n#14 \\\/var\\\/www\\\/vhosts\\\/xyz.de\\\/htdocs\\\/lib\\\/private\\\/legacy\\\/app.php(124): OC_App::loadApp('encryption')\\n#15 \\\/var\\\/www\\\/vhosts\\\/xyz.de\\\/htdocs\\\/lib\\\/private\\\/legacy\\\/util.php(148): OC_App::loadApps(Array)\\n#16 \\\/var\\\/www\\\/vhosts\\\/xyz.de\\\/htdocs\\\/lib\\\/base.php(915): OC_Util::setupFS()\\n#17 \\\/var\\\/www\\\/vhosts\\\/xyz.de\\\/htdocs\\\/index.php(54): OC::handleRequest()\\n#18 {main}\",\"File\":\"\\\/var\\\/www\\\/vhosts\\\/xyz.de\\\/htdocs\\\/lib\\\/private\\\/legacy\\\/app.php\",\"Line\":188}"}
{"reqId":"X9I8xY00p6vR1LNHZU5DNQAAABs","level":2,"time":"2020-12-10T15:20:37+00:00","remoteAddr":"123.456.789.0","user":"--","app":"core","method":"GET","url":"\/core\/js\/oc.js?v=f103a480de1d616222c48ad3fa15ef04","message":"Could not load app \"encryption\", see exception above"}
{"reqId":"X9I8xY00p6vR1LNHZU5DNQAAABs","level":3,"time":"2020-12-10T15:20:37+00:00","remoteAddr":"123.456.789.0","user":"--","app":"index","method":"GET","url":"\/core\/js\/oc.js?v=f103a480de1d616222c48ad3fa15ef04","message":"Exception: {\"Exception\":\"OC\\\\NeedsUpdateException\",\"Message\":\"\",\"Code\":0,\"Trace\":\"#0 \\\/var\\\/www\\\/vhosts\\\/xyz.de\\\/htdocs\\\/lib\\\/private\\\/legacy\\\/app.php(124): OC_App::loadApp('onlyoffice')\\n#1 \\\/var\\\/www\\\/vhosts\\\/xyz.de\\\/htdocs\\\/lib\\\/private\\\/legacy\\\/util.php(148): OC_App::loadApps(Array)\\n#2 \\\/var\\\/www\\\/vhosts\\\/xyz.de\\\/htdocs\\\/lib\\\/private\\\/Files\\\/Filesystem.php(352): OC_Util::setupFS()\\n#3 \\\/var\\\/www\\\/vhosts\\\/xyz.de\\\/htdocs\\\/lib\\\/private\\\/Files\\\/View.php(1213): OC\\\\Files\\\\Filesystem::resolvePath('\\\/files_encrypti...')\\n#4 \\\/var\\\/www\\\/vhosts\\\/xyz.de\\\/htdocs\\\/lib\\\/private\\\/Files\\\/View.php(572): OC\\\\Files\\\\View->basicOperation('file_exists', '\\\/files_encrypti...')\\n#5 \\\/var\\\/www\\\/vhosts\\\/xyz.de\\\/htdocs\\\/lib\\\/private\\\/Encryption\\\/Keys\\\/Storage.php(234): OC\\\\Files\\\\View->file_exists('\\\/files_encrypti...')\\n#6 \\\/var\\\/www\\\/vhosts\\\/xyz.de\\\/htdocs\\\/lib\\\/private\\\/Encryption\\\/Keys\\\/Storage.php(112): OC\\\\Encryption\\\\Keys\\\\Storage->getKey('\\\/files_encrypti...')\\n#7 \\\/var\\\/www\\\/vhosts\\\/xyz.de\\\/htdocs\\\/apps\\\/encryption\\\/lib\\\/KeyManager.php(552): OC\\\\Encryption\\\\Keys\\\\Storage->getSystemUserKey('pubShare_9aeb81...', 'OC_DEFAULT_MODU...')\\n#8 \\\/var\\\/www\\\/vhosts\\\/xyz.de\\\/htdocs\\\/apps\\\/encryption\\\/lib\\\/KeyManager.php(143): OCA\\\\Encryption\\\\KeyManager->getPublicShareKey()\\n#9 \\\/var\\\/www\\\/vhosts\\\/xyz.de\\\/htdocs\\\/apps\\\/encryption\\\/lib\\\/Users\\\/Setup.php(83): OCA\\\\Encryption\\\\KeyManager->validateShareKey()\\n#10 \\\/var\\\/www\\\/vhosts\\\/xyz.de\\\/htdocs\\\/apps\\\/encryption\\\/lib\\\/AppInfo\\\/Application.php(71): OCA\\\\Encryption\\\\Users\\\\Setup->setupSystem()\\n#11 \\\/var\\\/www\\\/vhosts\\\/xyz.de\\\/htdocs\\\/apps\\\/encryption\\\/appinfo\\\/app.php(30): OCA\\\\Encryption\\\\AppInfo\\\\Application->__construct(Array, true)\\n#12 \\\/var\\\/www\\\/vhosts\\\/xyz.de\\\/htdocs\\\/lib\\\/private\\\/legacy\\\/app.php(239): require_once('\\\/var\\\/www\\\/vhosts...')\\n#13 \\\/var\\\/www\\\/vhosts\\\/xyz.de\\\/htdocs\\\/lib\\\/private\\\/legacy\\\/app.php(190): OC_App::requireAppFile('encryption')\\n#14 \\\/var\\\/www\\\/vhosts\\\/xyz.de\\\/htdocs\\\/lib\\\/private\\\/legacy\\\/app.php(124): OC_App::loadApp('encryption')\\n#15 \\\/var\\\/www\\\/vhosts\\\/xyz.de\\\/htdocs\\\/lib\\\/private\\\/legacy\\\/util.php(148): OC_App::loadApps(Array)\\n#16 \\\/var\\\/www\\\/vhosts\\\/xyz.de\\\/htdocs\\\/lib\\\/base.php(915): OC_Util::setupFS()\\n#17 \\\/var\\\/www\\\/vhosts\\\/xyz.de\\\/htdocs\\\/index.php(54): OC::handleRequest()\\n#18 {main}\",\"File\":\"\\\/var\\\/www\\\/vhosts\\\/xyz.de\\\/htdocs\\\/lib\\\/private\\\/legacy\\\/app.php\",\"Line\":188}"}

Browser log: let me know if necessary

Additional Info

Yes, we have many users (>300) and much data (>120GB). Yes, I tried to update via web interface. But there were no error messages, this one came up weeks later. Next, with help of our hoster, we manually updated the core once again like described here and also manually updated all apps. Thus the (one and only) instance workes, but only as long as I don’t enable the market app.

Subsequently I forgot to update some apps, especially onlyoffice. Today we got error messages and updated the connector app manually. Now enabling onlyoffice results in the same error message.

Hi Jan,

The “update required” message also appears, when the ownCloud version did not change but there is an app which needs to be updated.

So when you replace an app with a newer version, be sure to run occ upgrade.

From the docs https://doc.owncloud.com/server/admin_manual/configuration/server/occ_command.html#command-line-upgrade

ownCloud or one of the apps require upgrade

3 Likes

Also if you are using the writable true & false apps_paths construct, like you do in your instance, it is possible that you have two differing versions of the same app installed. When running occ upgrade it might tell you everything is fine, however the website keeps telling you an app needs an update, because they prioritize these folders differently… :confused:
Solution: check both your apps folders for same apps, and make sure to keep the folder with the up to date app by checking the <version> tag in appinfo/info.xml

2 Likes

Thank you both very much. I made sure that no apps are duplicated.

And actually, I’m pretty sure I did upgrade, but possibly before I enabled the updated app. That was the solution, thank you very much.

2 Likes