Upgrade 10.2.0 > 10.3.2 'OC_Mount_Config' not found

Steps to reproduce

  1. Install and configure 10.2.0
  2. Update to 10.3.2 per manual_upgrade.html
  3. Error encountered during occ upgrade command

Expected behaviour

Successful update

Actual behaviour

  1. Chatter in update log about “App [app name] is not know at the marketplace”
  2. Exception thrown after updating database:
    “An unhandled exception has been thrown:
    Error: Class ‘OC_Mount_Config’ not found in /var/www/html/owncloud/apps/files_external/appinfo/app.php:34”
  3. Unable to access owncloud web interface after disabling maintenance mode (webpage attempts to perform update and fails)

Server configuration

Operating system:
Ubuntu 18.04 LTS

Web server:
Apache2

Database:
Mariadb

PHP version:
7.1

ownCloud version: (see ownCloud admin page)
10.2.0

Updated from an older ownCloud or fresh install:
Updating from older version

Where did you install ownCloud from:
Manual install from download.owncloud.org/community

Signing status (ownCloud 9.0 and above):
Unable to log into web interface (see Actual Behavior)

The content of config/config.php:

{
“system”: {
“instanceid”: “oc48x9dsucr4”,
“passwordsalt”: “REMOVED SENSITIVE VALUE”,
“secret”: “REMOVED SENSITIVE VALUE”,
“trusted_domains”: [
“192.168.1.5”
],
“datadirectory”: “/mnt/Owncloud”,
“overwrite.cli.url”: “http://192.168.1.5/owncloud”,
“dbtype”: “mysql”,
“version”: “10.2.0.5”,
“dbname”: “owncloud”,
“dbhost”: “localhost”,
“dbtableprefix”: “oc_”,
“dbuser”: “REMOVED SENSITIVE VALUE”,
“dbpassword”: “REMOVED SENSITIVE VALUE”,
“logtimezone”: “UTC”,
“apps_paths”: [
{
“path”: “/var/www/html/owncloud/apps”,
“url”: “/apps”,
“writable”: false
},
{
“path”: “/var/www/html/owncloud/apps-external”,
“url”: “/apps-external”,
“writable”: true
}
],
“installed”: true,
“maintenance”: true,
“loglevel”: 0,
“theme”: “”
}
}

List of activated apps:
Enabled:

  • comments: 0.3.0
  • configreport: 0.2.0
  • dav: 0.4.0
  • federatedfilesharing: 0.4.0
  • federation: 0.1.0
  • files: 1.5.2
  • files_external: 0.7.1
  • files_sharing: 0.11.0
  • files_trashbin: 0.9.1
  • files_versions: 1.3.0
  • files_videoplayer: 0.10.1
  • firstrunwizard: 1.2.0
  • market: 0.5.0
  • notifications: 0.5.0
  • provisioning_api: 0.5.0
  • systemtags: 0.3.0
  • updatenotification: 0.2.1
    Disabled:
  • encryption
  • external
  • files_mediaviewer
  • user_external

Are you using external storage, if yes which one: local/smb/sftp/…
cifs

Are you using encryption:
No

Are you using an external user-backend, if yes which one: LDAP/ActiveDirectory/Webdav/…
No

Client configuration

Browser:
Firefox

Operating system:
Windows 10

Logs

Web server error log

[Sat Feb 15 00:07:27.125222 2020] [mpm_prefork:notice] [pid 22223] AH00163: Apache/2.4.29 (Ubuntu) configured – resuming normal operations
[Sat Feb 15 00:07:27.125254 2020] [core:notice] [pid 22223] AH00094: Command line: ‘/usr/sbin/apache2’
[unrelated messages from another process]
[Sat Feb 15 13:25:57.708730 2020] [mpm_prefork:notice] [pid 22223] AH00169: caught SIGTERM, shutting down
[Sat Feb 15 13:42:15.426852 2020] [mpm_prefork:notice] [pid 20720] AH00163: Apache/2.4.29 (Ubuntu) configured – resuming normal operations
[Sat Feb 15 13:42:15.427104 2020] [core:notice] [pid 20720] AH00094: Command line: ‘/usr/sbin/apache2’

ownCloud log (data/owncloud.log)

{“reqId”:“SPiQhkqsnbtZJKUqeFCL”,“level”:0,“time”:“2020-02-15T20:37:26+00:00”,“remoteAddr”:"",“user”:"–",“app”:“core”,“method”:"–",“url”:"–",“message”:“starting upgrade from 10.2.0.5 to 10.3.2.2”}
{“reqId”:“SPiQhkqsnbtZJKUqeFCL”,“level”:3,“time”:“2020-02-15T20:37:27+00:00”,“remoteAddr”:"",“user”:"–",“app”:“core”,“method”:"–",“url”:"–",“message”:“Exception: {“Exception”:“OC\\RepairException”,“Message”:“Upgrade is not possible”,“Code”:0,“Trace”:”#0 \/var\/www\/html\/owncloud\/lib\/private\/Repair.php(90): OC\\Repair\\Apps->run(Object(OC\\Repair))\n#1 \/var\/www\/html\/owncloud\/lib\/private\/Updater.php(219): OC\\Repair->run()\n#2 \/var\/www\/html\/owncloud\/lib\/private\/Updater.php(111): OC\\Updater->checkAppsCompatibility()\n#3 \/var\/www\/html\/owncloud\/core\/Command\/Upgrade.php(261): OC\\Updater->upgrade()\n#4 \/var\/www\/html\/owncloud\/lib\/composer\/symfony\/console\/Command\/Command.php(255): OC\\Core\\Command\\Upgrade->execute(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))\n#5 \/var\/www\/html\/owncloud\/lib\/composer\/symfony\/console\/Application.php(982): Symfony\\Component\\Console\\Command\\Command->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))\n#6 \/var\/www\/html\/owncloud\/lib\/composer\/symfony\/console\/Application.php(255): Symfony\\Component\\Console\\Application->doRunCommand(Object(OC\\Core\\Command\\Upgrade), Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))\n#7 \/var\/www\/html\/owncloud\/lib\/composer\/symfony\/console\/Application.php(148): Symfony\\Component\\Console\\Application->doRun(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))\n#8 \/var\/www\/html\/owncloud\/lib\/private\/Console\/Application.php(165): Symfony\\Component\\Console\\Application->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))\n#9 \/var\/www\/html\/owncloud\/console.php(106): OC\\Console\\Application->run()\n#10 \/var\/www\/html\/owncloud\/occ(11): require_once(’\/var\/www\/html\/o…’)\n#11 {main}",“File”:"\/var\/www\/html\/owncloud\/lib\/private\/Repair\/Apps.php",“Line”:219}"}
{“reqId”:“coP3TREVub7t7T0DD5Ml”,“level”:0,“time”:“2020-02-15T20:40:29+00:00”,“remoteAddr”:"",“user”:"–",“app”:“core”,“method”:"–",“url”:"–",“message”:“starting upgrade from 10.2.0.5 to 10.3.2.2”}
{“reqId”:“Zi43fQ689Hth1GlqkMeR”,“level”:3,“time”:“2020-02-15T20:42:19+00:00”,“remoteAddr”:“192.168.1.3”,“user”:"–",“app”:“index”,“method”:“GET”,“url”:"/owncloud/index.php/core/js/oc.js?v=5335bec3f4f30450e913610f3a9e607f",“message”:“Exception: {“Exception”:“Error”,“Message”:“Class ‘OC_Mount_Config’ not found”,“Code”:0,“Trace”:”#0 \/var\/www\/html\/owncloud\/lib\/private\/legacy\/app.php(239): require_once()\n#1 \/var\/www\/html\/owncloud\/lib\/private\/legacy\/app.php(190): OC_App::requireAppFile(‘files_external’)\n#2 \/var\/www\/html\/owncloud\/lib\/private\/legacy\/app.php(124): OC_App::loadApp(‘files_external’)\n#3 \/var\/www\/html\/owncloud\/lib\/private\/legacy\/util.php(147): OC_App::loadApps(Array)\n#4 \/var\/www\/html\/owncloud\/lib\/base.php(919): OC_Util::setupFS()\n#5 \/var\/www\/html\/owncloud\/index.php(54): OC::handleRequest()\n#6 {main}",“File”:"\/var\/www\/html\/owncloud\/apps\/files_external\/appinfo\/app.php",“Line”:34}"}
{“reqId”:“wLHF73VpsJIkY4NKFwsk”,“level”:0,“time”:“2020-02-15T20:42:35+00:00”,“remoteAddr”:“192.168.1.3”,“user”:"–",“app”:“core”,“method”:“GET”,“url”:"/owncloud/core/ajax/update.php?requesttoken=OiQ7IhwXAlY9Gz9cKQtRdFUiSR0WUzJqOys1JTY8MEY%3D%3AwaKaMnV9dPSikC938V8jc4zRsjeSOZf%2BF2Zvl755AZo%3D",“message”:“starting upgrade from 10.2.0.5 to 10.3.2.2”}
{“reqId”:“wLHF73VpsJIkY4NKFwsk”,“level”:3,“time”:“2020-02-15T20:42:39+00:00”,“remoteAddr”:“192.168.1.3”,“user”:"–",“app”:“PHP”,“method”:“GET”,“url”:"/owncloud/core/ajax/update.php?requesttoken=OiQ7IhwXAlY9Gz9cKQtRdFUiSR0WUzJqOys1JTY8MEY%3D%3AwaKaMnV9dPSikC938V8jc4zRsjeSOZf%2BF2Zvl755AZo%3D",“message”:“Error: Class ‘OC_Mount_Config’ not found at /var/www/html/owncloud/apps/files_external/appinfo/app.php#34”}
{“reqId”:“s1vw2KDvD0spaQ0Fkw8X”,“level”:0,“time”:“2020-02-15T20:45:40+00:00”,“remoteAddr”:"",“user”:"–",“app”:“core”,“method”:"–",“url”:"–",“message”:“starting upgrade from 10.2.0.5 to 10.3.2.2”}
{“reqId”:“7NuflGuMMtNNjjYLcIXg”,“level”:0,“time”:“2020-02-15T20:53:02+00:00”,“remoteAddr”:"",“user”:"–",“app”:“core”,“method”:"–",“url”:"–",“message”:“starting upgrade from 10.2.0.5 to 10.3.2.2”}
{“reqId”:“Mz0PiURChhegCxBM2v77”,“level”:0,“time”:“2020-02-15T20:57:37+00:00”,“remoteAddr”:"",“user”:"–",“app”:“core”,“method”:"–",“url”:"–",“message”:“starting upgrade from 10.2.0.5 to 10.3.2.2”}
{“reqId”:“GSNH9G0LhfJW3Z7HXztw”,“level”:0,“time”:“2020-02-15T21:03:14+00:00”,“remoteAddr”:"",“user”:"–",“app”:“core”,“method”:"–",“url”:"–",“message”:“starting upgrade from 10.2.0.5 to 10.3.2.2”}
{“reqId”:“L1kwsgjRTVU03JNo6e3h”,“level”:0,“time”:“2020-02-15T21:05:03+00:00”,“remoteAddr”:"",“user”:"–",“app”:“core”,“method”:"–",“url”:"–",“message”:“starting upgrade from 10.2.0.5 to 10.3.2.2”}
{“reqId”:“cILVr4XMkUXYfBQ4ZwwM”,“level”:3,“time”:“2020-02-15T21:09:29+00:00”,“remoteAddr”:“192.168.1.3”,“user”:"–",“app”:“index”,“method”:“GET”,“url”:"/owncloud/index.php/core/js/oc.js?v=5335bec3f4f30450e913610f3a9e607f",“message”:“Exception: {“Exception”:“Error”,“Message”:“Class ‘OC_Mount_Config’ not found”,“Code”:0,“Trace”:”#0 \/var\/www\/html\/owncloud\/lib\/private\/legacy\/app.php(239): require_once()\n#1 \/var\/www\/html\/owncloud\/lib\/private\/legacy\/app.php(190): OC_App::requireAppFile(‘files_external’)\n#2 \/var\/www\/html\/owncloud\/lib\/private\/legacy\/app.php(124): OC_App::loadApp(‘files_external’)\n#3 \/var\/www\/html\/owncloud\/lib\/private\/legacy\/util.php(147): OC_App::loadApps(Array)\n#4 \/var\/www\/html\/owncloud\/lib\/base.php(919): OC_Util::setupFS()\n#5 \/var\/www\/html\/owncloud\/index.php(54): OC::handleRequest()\n#6 {main}",“File”:"\/var\/www\/html\/owncloud\/apps\/files_external\/appinfo\/app.php",“Line”:34}"}
{“reqId”:“V7FnJB7B7jQPJaaqCmnu”,“level”:0,“time”:“2020-02-15T21:09:36+00:00”,“remoteAddr”:“192.168.1.3”,“user”:"–",“app”:“core”,“method”:“GET”,“url”:"/owncloud/core/ajax/update.php?requesttoken=KS01IDYfDi0IOSplDSsvFA9MJTEfLR1qenIXEjYeZwc%3D%3AdhEcgfZBQrFPOcGSb8TFjJUR23GdOx1jXgB4gL%2Fnexg%3D",“message”:“starting upgrade from 10.2.0.5 to 10.3.2.2”}
{“reqId”:“V7FnJB7B7jQPJaaqCmnu”,“level”:3,“time”:“2020-02-15T21:09:39+00:00”,“remoteAddr”:“192.168.1.3”,“user”:"–",“app”:“PHP”,“method”:“GET”,“url”:"/owncloud/core/ajax/update.php?requesttoken=KS01IDYfDi0IOSplDSsvFA9MJTEfLR1qenIXEjYeZwc%3D%3AdhEcgfZBQrFPOcGSb8TFjJUR23GdOx1jXgB4gL%2Fnexg%3D",“message”:“Error: Class ‘OC_Mount_Config’ not found at /var/www/html/owncloud/apps/files_external/appinfo/app.php#34”}
{“reqId”:“j9t8ePq6hvCufjpcwS2o”,“level”:3,“time”:“2020-02-15T21:17:05+00:00”,“remoteAddr”:“192.168.1.3”,“user”:"–",“app”:“index”,“method”:“GET”,“url”:"/owncloud/index.php/core/js/oc.js?v=5335bec3f4f30450e913610f3a9e607f",“message”:“Exception: {“Exception”:“Error”,“Message”:“Class ‘OC_Mount_Config’ not found”,“Code”:0,“Trace”:”#0 \/var\/www\/html\/owncloud\/lib\/private\/legacy\/app.php(239): require_once()\n#1 \/var\/www\/html\/owncloud\/lib\/private\/legacy\/app.php(190): OC_App::requireAppFile(‘files_external’)\n#2 \/var\/www\/html\/owncloud\/lib\/private\/legacy\/app.php(124): OC_App::loadApp(‘files_external’)\n#3 \/var\/www\/html\/owncloud\/lib\/private\/legacy\/util.php(147): OC_App::loadApps(Array)\n#4 \/var\/www\/html\/owncloud\/lib\/base.php(919): OC_Util::setupFS()\n#5 \/var\/www\/html\/owncloud\/index.php(54): OC::handleRequest()\n#6 {main}",“File”:"\/var\/www\/html\/owncloud\/apps\/files_external\/appinfo\/app.php",“Line”:34}"}
{“reqId”:“zo373fR3Dgb4nOJqBsiD”,“level”:3,“time”:“2020-02-15T21:17:05+00:00”,“remoteAddr”:“192.168.1.3”,“user”:"–",“app”:“index”,“method”:“GET”,“url”:"/owncloud/index.php/core/js/oc.js?v=5335bec3f4f30450e913610f3a9e607f",“message”:“Exception: {“Exception”:“Error”,“Message”:“Class ‘OC_Mount_Config’ not found”,“Code”:0,“Trace”:”#0 \/var\/www\/html\/owncloud\/lib\/private\/legacy\/app.php(239): require_once()\n#1 \/var\/www\/html\/owncloud\/lib\/private\/legacy\/app.php(190): OC_App::requireAppFile(‘files_external’)\n#2 \/var\/www\/html\/owncloud\/lib\/private\/legacy\/app.php(124): OC_App::loadApp(‘files_external’)\n#3 \/var\/www\/html\/owncloud\/lib\/private\/legacy\/util.php(147): OC_App::loadApps(Array)\n#4 \/var\/www\/html\/owncloud\/lib\/base.php(919): OC_Util::setupFS()\n#5 \/var\/www\/html\/owncloud\/index.php(54): OC::handleRequest()\n#6 {main}",“File”:"\/var\/www\/html\/owncloud\/apps\/files_external\/appinfo\/app.php",“Line”:34}"}
{“reqId”:“2tHGccrtEo4CpNnUgia7”,“level”:3,“time”:“2020-02-15T21:17:13+00:00”,“remoteAddr”:“192.168.1.3”,“user”:"–",“app”:“index”,“method”:“GET”,“url”:"/owncloud/index.php/core/js/oc.js?v=5335bec3f4f30450e913610f3a9e607f",“message”:“Exception: {“Exception”:“Error”,“Message”:“Class ‘OC_Mount_Config’ not found”,“Code”:0,“Trace”:”#0 \/var\/www\/html\/owncloud\/lib\/private\/legacy\/app.php(239): require_once()\n#1 \/var\/www\/html\/owncloud\/lib\/private\/legacy\/app.php(190): OC_App::requireAppFile(‘files_external’)\n#2 \/var\/www\/html\/owncloud\/lib\/private\/legacy\/app.php(124): OC_App::loadApp(‘files_external’)\n#3 \/var\/www\/html\/owncloud\/lib\/private\/legacy\/util.php(147): OC_App::loadApps(Array)\n#4 \/var\/www\/html\/owncloud\/lib\/base.php(919): OC_Util::setupFS()\n#5 \/var\/www\/html\/owncloud\/index.php(54): OC::handleRequest()\n#6 {main}",“File”:"\/var\/www\/html\/owncloud\/apps\/files_external\/appinfo\/app.php",“Line”:34}"}
{“reqId”:“6s2fiBDc6eXxk9dpJazB”,“level”:0,“time”:“2020-02-15T21:17:43+00:00”,“remoteAddr”:"",“user”:"–",“app”:“core”,“method”:"–",“url”:"–",“message”:“starting upgrade from 10.2.0.5 to 10.3.2.2”}

Browser log

No such log

For anyone who might run into this later I was able to fix this issue by the following -

  1. Rename the owncloud folder in /var/www/html/ to owncloud-10-3-2
  2. Download fresh copy of 10.3.2.zip and unzip
  3. Set file permissions (sudo chown -R www-data:www-data /var/www/html/owncloud and sudo chmod -R 755 /var/www/html/owncloud)
  4. Open owncloud in browser and setup the application
    a) Forced to create new admin user
    b) Use same storage location
    c) Used credentials for old database
  5. Allow Owncloud to update
    – At this point it barked about an app that couldn’t be found in the marketplace. I followed instructions to disable the app, refreshed the page, and ran the update again
  6. Resume normal Owncloud usage

I would strongly recommend against these steps and instead just copy your old config.php from /var/www/owncloud-10-3-2 to /var/www/html/owncloud/config/config.php

I’m pretty sure you’re breaking all user login with the steps.

Thanks for the tip, that’s a good point. Thankfully this was a fresh install so there weren’t any other users to break. Additionally, my previous login was still valid alongside the new admin account.