Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade 9.0.3.2 -> 9.1.1.3 (CentOS) - DiscoverManager not found #26297

Closed
stephan-l opened this issue Oct 7, 2016 · 64 comments · Fixed by #28004
Closed

Upgrade 9.0.3.2 -> 9.1.1.3 (CentOS) - DiscoverManager not found #26297

stephan-l opened this issue Oct 7, 2016 · 64 comments · Fixed by #28004
Assignees
Labels
blue-ticket feature:update p1-urgent Critical issue, need to consider hotfix with just that issue sev3-medium status/STALE Type:Bug
Milestone

Comments

@stephan-l
Copy link

stephan-l commented Oct 7, 2016

Steps to reproduce

  1. yum upgrade to current version 9.1.1.3 from repository
  2. sudo -u apache php occ upgrade

Expected behaviour
Get usable current version

Actual behaviour

ownCloud or one of the apps require upgrade - only a limited number of commands are available
You may use your browser or the occ upgrade command to do the upgrade
Set log level to debug
Checking whether the database schema can be updated (this can take a long time depending on the database size)
 Done
 24/24 [============================] 100%
Checked database schema update
Checking updates of apps
Checked database schema update for apps
Updating database schema
Updated database
Drop old database tables
 Done
 28/28 [============================] 100%
Remove old (< 9.0) calendar/contact shares
 Done
 4/4 [============================] 100%
Fix permissions so avatars can be stored again
 Done
 2/2 [============================] 100%
Remove shares of a users root folder
 Starting ...
   16/1286 [>---------------------------]   1%   An unhandled exception has been thrown:
Error: Class 'OCA\FederatedFileSharing\DiscoveryManager' not found in /var/www/html/owncloud/apps/files_sharing/lib/AppInfo/Application.php:83
Stack trace:
#0 /var/www/html/owncloud/3rdparty/pimple/pimple/src/Pimple/Container.php(113): OCA\Files_Sharing\AppInfo\Application->OCA\Files_Sharing\AppInfo{closure}(Object(OC\AppFramework\DependencyInjection\DIContainer))
#1 /var/www/html/owncloud/lib/private/AppFramework/Utility/SimpleContainer.php(102): Pimple\Container->offsetGet('ExternalManager')
#2 /var/www/html/owncloud/apps/files_sharing/lib/AppInfo/Application.php(129): OC\AppFramework\Utility\SimpleContainer->query('ExternalManager')
#3 /var/www/html/owncloud/apps/files_sharing/lib/External/MountProvider.php(53): OCA\Files_Sharing\AppInfo\Application->OCA\Files_Sharing\AppInfo{closure}()
#4 /var/www/html/owncloud/apps/files_sharing/lib/External/MountProvider.php(72): OCA\Files_Sharing\External\MountProvider->getMount(Object(OC\User\User), Array, Object(OC\Files\Storage\StorageFactory))
#5 /var/www/html/owncloud/lib/private/Files/Config/MountProviderCollection.php(76): OCA\Files_Sharing\External\MountProvider->getMountsForUser(Object(OC\User\User), Object(OC\Files\Storage\StorageFactory))
#6 [internal function]: OC\Files\Config\MountProviderCollection->OC\Files\Config{closure}(Object(OCA\Files_Sharing\External\MountProvider))
#7 /var/www/html/owncloud/lib/private/Files/Config/MountProviderCollection.php(77): array_map(Object(Closure), Array)
#8 /var/www/html/owncloud/lib/private/Files/Filesystem.php(422): OC\Files\Config\MountProviderCollection->getMountsForUser(Object(OC\User\User))
#9 /var/www/html/owncloud/apps/files_sharing/lib/sharedstorage.php(99): OC\Files\Filesystem::initMountPoints('1B5F76F8-14BB-4...')
#10 /var/www/html/owncloud/apps/files_sharing/lib/sharedstorage.php(448): OC\Files\Storage\Shared->init()
#11 /var/www/html/owncloud/lib/private/Files/Storage/Wrapper/Wrapper.php(485): OC\Files\Storage\Shared->getWrapperStorage()
#12 /var/www/html/owncloud/apps/files_sharing/lib/sharedstorage.php(122): OC\Files\Storage\Wrapper\Wrapper->instanceOfStorage('\OC\Files\Stora...')
#13 /var/www/html/owncloud/lib/private/legacy/util.php(148): OC\Files\Storage\Shared->instanceOfStorage('\OC\Files\Stora...')
#14 /var/www/html/owncloud/lib/private/Files/Storage/StorageFactory.php(100): OC_Util::{closure}('/C71A1E70-A414-...', Object(OC\Files\Storage\Shared), Object(OCA\Files_Sharing\SharedMount))
#15 /var/www/html/owncloud/lib/private/Files/Storage/StorageFactory.php(82): OC\Files\Storage\StorageFactory->wrap(Object(OCA\Files_Sharing\SharedMount), Object(OC\Files\Storage\Shared))
#16 /var/www/html/owncloud/lib/private/Files/Mount/MountPoint.php(137): OC\Files\Storage\StorageFactory->getInstance(Object(OCA\Files_Sharing\SharedMount), '\OC\Files\Stora...', Array)
#17 /var/www/html/owncloud/lib/private/Files/Mount/MountPoint.php(160): OC\Files\Mount\MountPoint->createStorage()
#18 /var/www/html/owncloud/lib/private/Files/View.php(1356): OC\Files\Mount\MountPoint->getStorage()
#19 /var/www/html/owncloud/lib/private/Files/Node/Root.php(180): OC\Files\View->getFileInfo('/C71A1E70-A414-...')
#20 /var/www/html/owncloud/lib/private/Files/Node/Root.php(342): OC\Files\Node\Root->get('/C71A1E70-A414-...')
#21 [internal function]: OC\Files\Node\Root->getUserFolder('C71A1E70-A414-4...')
#22 /var/www/html/owncloud/lib/private/Files/Node/LazyRoot.php(64): call_user_func_array(Array, Array)
#23 /var/www/html/owncloud/lib/private/Files/Node/LazyRoot.php(281): OC\Files\Node\LazyRoot->__call('getUserFolder', Array)
#24 /var/www/html/owncloud/lib/private/Repair/RemoveRootShares.php(82): OC\Files\Node\LazyRoot->getUserFolder('C71A1E70-A414-4...')
#25 /var/www/html/owncloud/lib/private/User/Manager.php(359): OC\Repair\RemoveRootShares->OC\Repair{closure}(Object(OC\User\User))
#26 /var/www/html/owncloud/lib/private/Repair/RemoveRootShares.php(101): OC\User\Manager->callForAllUsers(Object(Closure))
#27 /var/www/html/owncloud/lib/private/Repair/RemoveRootShares.php(73): OC\Repair\RemoveRootShares->removeRootShares(Object(OC\Repair))
#28 /var/www/html/owncloud/lib/private/Repair.php(88): OC\Repair\RemoveRootShares->run(Object(OC\Repair))
#29 /var/www/html/owncloud/lib/private/Updater.php(267): OC\Repair->run()
#30 /var/www/html/owncloud/lib/private/Updater.php(150): OC\Updater->doUpgrade('9.1.1.3', '9.0.3.2')
#31 /var/www/html/owncloud/core/Command/Upgrade.php(290): OC\Updater->upgrade()
#32 /var/www/html/owncloud/3rdparty/symfony/console/Command/Command.php(259): OC\Core\Command\Upgrade->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#33 /var/www/html/owncloud/3rdparty/symfony/console/Application.php(844): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#34 /var/www/html/owncloud/3rdparty/symfony/console/Application.php(192): Symfony\Component\Console\Application->doRunCommand(Object(OC\Core\Command\Upgrade), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#35 /var/www/html/owncloud/3rdparty/symfony/console/Application.php(123): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#36 /var/www/html/owncloud/lib/private/Console/Application.php(146): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#37 /var/www/html/owncloud/console.php(94): OC\Console\Application->run()
#38 /var/www/html/owncloud/occ(11): require_once('/var/www/html/o...')
#39 {main}[

Server configuration
Operating system: CentOS Linux release 7.2.1511
Web server: Apache/2.4.6 (CentOS)
Database: mysql Ver 15.1 Distrib 5.5.50-MariaDB, for Linux (x86_64) using readline 5.1
PHP version: PHP 7.0.11
ownCloud version (see ownCloud admin page): 9.0.3.2 -> 9.1.1.3
Updated from an older ownCloud or fresh install: upgrade
ownCloud log (data/owncloud.log, see https://central.owncloud.org/t/how-to-find-webserver-or-oc-logfile-enable-php-logfile/808): no information provided

Special configuration (external storage, external authentication, reverse proxy, server-side-encryption): LDAP

@PVince81 PVince81 changed the title Upgrade 9.0.3.2 -> 9.1.1.3 (CentOS) Upgrade 9.0.3.2 -> 9.1.1.3 (CentOS) - DiscoverManager not found Oct 7, 2016
@PVince81
Copy link
Contributor

PVince81 commented Oct 7, 2016

@stephan-l can you check whether the file "apps/federatedfilesharing/lib/DiscoveryManager.php" exists after the update ? From what I can see it exists in the tarball.

@stephan-l
Copy link
Author

stephan-l commented Oct 7, 2016

Yes it is present after the upgrade:

[root@xyz-1234 owncloud]# ls -alh apps/federatedfilesharing/lib/
insgesamt 88K
drwxrwxr-x. 4 apache apache 4,0K  7. Okt 16:12 .
drwxrwxr-x. 9 apache apache 4,0K  7. Okt 16:12 ..
-rwxrwxr-x. 1 apache apache 4,7K 19. Sep 19:04 AddressHandler.php
drwxrwxr-x. 2 apache apache   36  7. Okt 16:12 AppInfo
drwxrwxr-x. 2 apache apache   33  7. Okt 16:12 BackgroundJob
-rwxrwxr-x. 1 apache apache 3,9K 19. Sep 19:04 DiscoveryManager.php
-rwxrwxr-x. 1 apache apache  25K 19. Sep 19:04 FederatedShareProvider.php
-rwxrwxr-x. 1 apache apache 8,6K 19. Sep 19:04 Notifications.php
-rwxrwxr-x. 1 apache apache 2,7K 19. Sep 19:04 Notifier.php
-rwxrwxr-x. 1 apache apache  18K 19. Sep 19:04 RequestHandler.php
-rwxrwxr-x. 1 apache apache 1,5K 19. Sep 19:04 TokenHandler.php

@PVince81
Copy link
Contributor

PVince81 commented Oct 7, 2016

Hmmm... so if the update code didn't find the file while running it could be that PHP CLI had old code cached and didn't load the new one ? I heard about APC (or APCu) code caching that might need clearing.

@ghost
Copy link

ghost commented Oct 7, 2016

@PVince81 Yes, such caching issues where reported from time to time. Thats why the manual upgrade steps are containing the info to stop and start the webserver:

https://doc.owncloud.org/server/9.1/admin_manual/maintenance/manual_upgrade.html

There are a few issues about that:

  1. Users of the updater app are mostly not able to restart the webserver
  2. Users of the packages (like the OP) are mostly not having a look at the manual upgrade steps
  3. There are systems with e.g. php-fpm out there where a restart of the webserver won't help

@stephan-l
Copy link
Author

I tried it twice. Both times I restarted the whole machine first. The first time it got stuck at the same place. The second time it continued until Update 3rd-party app and stopped due missing LDAP. But that's my fault. The clone I'm testing on got no access to it.
The second time I verifyed with apc.php that the cache was empty.

So I got no idea why it is working the second time. I just left the machine off for some days before. May this voided some caches?

Reproducing this isn't that easy since every upgrade takes 1.5 hours...

@stephan-l
Copy link
Author

stephan-l commented Nov 4, 2016

Today I gave it another try.
Got the system to maintenance mode, turned off selinux and rebooted.
Still the same experience.

Caching shouldn't be a problem anyway since it is not used for CLI tasks.
Also made a diff to the current download from the website. All files except the config and data are identical.

From my last try I assume it crashed because of missing LDAP before reaching the problimatic code.

The current log:

sudo -u apache php occ upgrade
ownCloud or one of the apps require upgrade - only a limited number of commands are available
You may use your browser or the occ upgrade command to do the upgrade
Set log level to debug
Checking whether the database schema can be updated (this can take a long time depending on the database size)
 Done
 24/24 [============================] 100%
Checked database schema update
Checking updates of apps
Checking whether the database schema for <activity> can be updated (this can take a long time depending on the database size)
 Done
 2/2 [============================] 100%
Checking whether the database schema for <dav> can be updated (this can take a long time depending on the database size)
 Done
 10/10 [============================] 100%
Checking whether the database schema for <federatedfilesharing> can be updated (this can take a long time depending on the database size)
 Done
 1/1 [============================] 100%
Checking whether the database schema for <federation> can be updated (this can take a long time depending on the database size)
 Done
 1/1 [============================] 100%
Checking whether the database schema for <files_sharing> can be updated (this can take a long time depending on the database size)
 Done
 1/1 [============================] 100%
Checking whether the database schema for <files_trashbin> can be updated (this can take a long time depending on the database size)
 Done
 1/1 [============================] 100%
Checking whether the database schema for <notifications> can be updated (this can take a long time depending on the database size)
 Done
 1/1 [============================] 100%
Checking whether the database schema for <user_ldap> can be updated (this can take a long time depending on the database size)
 Done
 3/3 [============================] 100%
Checked database schema update for apps
Updating database schema
Updated database
Disabled 3rd-party app: calendar
Disabled 3rd-party app: contacts
Disabled incompatible app: documents
Disabled 3rd-party app: documents
Updating <federatedfilesharing> ...
Updated <federatedfilesharing> to 0.3.0
Updating <gallery> ...
Updated <gallery> to 15.0.0
Updating <provisioning_api> ...
Updated <provisioning_api> to 0.5.0
Updating <updatenotification> ...
Updated <updatenotification> to 0.2.1
Updating <federation> ...
Updated <federation> to 0.1.0
Updating <user_ldap> ...
Updated <user_ldap> to 0.9.0
Updating <files> ...
Updated <files> to 1.5.1
Updating <activity> ...
Updated <activity> to 2.3.2
Updating <dav> ...
Fix classification for calendar objects
 Done
 821/821 [============================] 100%
Updated <dav> to 0.2.6
Updating <files_sharing> ...
Updated <files_sharing> to 0.10.0
Updating <files_trashbin> ...
Updated <files_trashbin> to 0.9.0
Updating <files_versions> ...
Updated <files_versions> to 1.3.0
Updating <comments> ...
Updated <comments> to 0.3.0
Updating <notifications> ...
Updated <notifications> to 0.3.0
Updating <systemtags> ...
Updated <systemtags> to 0.3.0
Update 3rd-party app: calendar
Update 3rd-party app: contacts
Update 3rd-party app: documents
Drop old database tables
 Done
 28/28 [============================] 100%
Remove old (< 9.0) calendar/contact shares
 Done
 4/4 [============================] 100%
Fix permissions so avatars can be stored again
 Done
 2/2 [============================] 100%
Remove shares of a users root folder
 Starting ...
   16/1316 [>---------------------------]   1%   An unhandled exception has been thrown:
Error: Class 'OCA\FederatedFileSharing\DiscoveryManager' not found in /var/www/html/owncloud/apps/files_sharing/lib/AppInfo/Application.php:83
Stack trace:
#0 /var/www/html/owncloud/3rdparty/pimple/pimple/src/Pimple/Container.php(113): OCA\Files_Sharing\AppInfo\Application->OCA\Files_Sharing\AppInfo{closure}(Object(OC\AppFramework\DependencyInjection\DIContainer))
#1 /var/www/html/owncloud/lib/private/AppFramework/Utility/SimpleContainer.php(102): Pimple\Container->offsetGet('ExternalManager')
#2 /var/www/html/owncloud/apps/files_sharing/lib/AppInfo/Application.php(129): OC\AppFramework\Utility\SimpleContainer->query('ExternalManager')
#3 /var/www/html/owncloud/apps/files_sharing/lib/External/MountProvider.php(53): OCA\Files_Sharing\AppInfo\Application->OCA\Files_Sharing\AppInfo{closure}()
#4 /var/www/html/owncloud/apps/files_sharing/lib/External/MountProvider.php(72): OCA\Files_Sharing\External\MountProvider->getMount(Object(OC\User\User), Array, Object(OC\Files\Storage\StorageFactory))
#5 /var/www/html/owncloud/lib/private/Files/Config/MountProviderCollection.php(76): OCA\Files_Sharing\External\MountProvider->getMountsForUser(Object(OC\User\User), Object(OC\Files\Storage\StorageFactory))
#6 [internal function]: OC\Files\Config\MountProviderCollection->OC\Files\Config{closure}(Object(OCA\Files_Sharing\External\MountProvider))
#7 /var/www/html/owncloud/lib/private/Files/Config/MountProviderCollection.php(77): array_map(Object(Closure), Array)
#8 /var/www/html/owncloud/lib/private/Files/Filesystem.php(422): OC\Files\Config\MountProviderCollection->getMountsForUser(Object(OC\User\User))
#9 /var/www/html/owncloud/apps/files_sharing/lib/sharedstorage.php(99): OC\Files\Filesystem::initMountPoints('1B5F76F8-14BB-4...')
#10 /var/www/html/owncloud/apps/files_sharing/lib/sharedstorage.php(448): OC\Files\Storage\Shared->init()
#11 /var/www/html/owncloud/lib/private/Files/Storage/Wrapper/Wrapper.php(485): OC\Files\Storage\Shared->getWrapperStorage()
#12 /var/www/html/owncloud/apps/files_sharing/lib/sharedstorage.php(122): OC\Files\Storage\Wrapper\Wrapper->instanceOfStorage('\OC\Files\Stora...')
#13 /var/www/html/owncloud/lib/private/legacy/util.php(148): OC\Files\Storage\Shared->instanceOfStorage('\OC\Files\Stora...')
#14 /var/www/html/owncloud/lib/private/Files/Storage/StorageFactory.php(100): OC_Util::{closure}('/C71A1E70-A414-...', Object(OC\Files\Storage\Shared), Object(OCA\Files_Sharing\SharedMount))
#15 /var/www/html/owncloud/lib/private/Files/Storage/StorageFactory.php(82): OC\Files\Storage\StorageFactory->wrap(Object(OCA\Files_Sharing\SharedMount), Object(OC\Files\Storage\Shared))
#16 /var/www/html/owncloud/lib/private/Files/Mount/MountPoint.php(137): OC\Files\Storage\StorageFactory->getInstance(Object(OCA\Files_Sharing\SharedMount), '\OC\Files\Stora...', Array)
#17 /var/www/html/owncloud/lib/private/Files/Mount/MountPoint.php(160): OC\Files\Mount\MountPoint->createStorage()
#18 /var/www/html/owncloud/lib/private/Files/View.php(1356): OC\Files\Mount\MountPoint->getStorage()
#19 /var/www/html/owncloud/lib/private/Files/Node/Root.php(180): OC\Files\View->getFileInfo('/C71A1E70-A414-...')
#20 /var/www/html/owncloud/lib/private/Files/Node/Root.php(342): OC\Files\Node\Root->get('/C71A1E70-A414-...')
#21 [internal function]: OC\Files\Node\Root->getUserFolder('C71A1E70-A414-4...')
#22 /var/www/html/owncloud/lib/private/Files/Node/LazyRoot.php(64): call_user_func_array(Array, Array)
#23 /var/www/html/owncloud/lib/private/Files/Node/LazyRoot.php(281): OC\Files\Node\LazyRoot->__call('getUserFolder', Array)
#24 /var/www/html/owncloud/lib/private/Repair/RemoveRootShares.php(82): OC\Files\Node\LazyRoot->getUserFolder('C71A1E70-A414-4...')
#25 /var/www/html/owncloud/lib/private/User/Manager.php(359): OC\Repair\RemoveRootShares->OC\Repair{closure}(Object(OC\User\User))
#26 /var/www/html/owncloud/lib/private/Repair/RemoveRootShares.php(101): OC\User\Manager->callForAllUsers(Object(Closure))
#27 /var/www/html/owncloud/lib/private/Repair/RemoveRootShares.php(73): OC\Repair\RemoveRootShares->removeRootShares(Object(OC\Repair))
#28 /var/www/html/owncloud/lib/private/Repair.php(88): OC\Repair\RemoveRootShares->run(Object(OC\Repair))
#29 /var/www/html/owncloud/lib/private/Updater.php(267): OC\Repair->run()
#30 /var/www/html/owncloud/lib/private/Updater.php(150): OC\Updater->doUpgrade('9.1.1.3', '9.0.3.2')
#31 /var/www/html/owncloud/core/Command/Upgrade.php(290): OC\Updater->upgrade()
#32 /var/www/html/owncloud/3rdparty/symfony/console/Command/Command.php(259): OC\Core\Command\Upgrade->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#33 /var/www/html/owncloud/3rdparty/symfony/console/Application.php(844): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#34 /var/www/html/owncloud/3rdparty/symfony/console/Application.php(192): Symfony\Component\Console\Application->doRunCommand(Object(OC\Core\Command\Upgrade), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#35 /var/www/html/owncloud/3rdparty/symfony/console/Application.php(123): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#36 /var/www/html/owncloud/lib/private/Console/Application.php(146): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#37 /var/www/html/owncloud/console.php(94): OC\Console\Application->run()
#38 /var/www/html/owncloud/occ(11): require_once('/var/www/html/o...')
#39 {main}

@stephan-l
Copy link
Author

Still present in 9.1.2-1.1

@kiu-ball
Copy link

Got the same issue here while trying to upgrade from 9.0.7 to 9.1.3.

@michaelstingl
Copy link

michaelstingl commented Dec 20, 2016

@PVince81 What information do we need here?

00006823

@kiu-ball
Copy link

kiu-ball commented Dec 20, 2016

Here's the upgrade CLI output:

ownCloud or one of the apps require upgrade - only a limited number of commands are available
You may use your browser or the occ upgrade command to do the upgrade

2016-12-20T16:47:58+01:00 Set log level to debug
2016-12-20T16:47:58+01:00 Repair step: Repair MySQL database engine
2016-12-20T16:47:58+01:00 Repair info: Not a mysql database -> nothing to do
2016-12-20T16:47:58+01:00 Repair step: Repair MySQL collation
2016-12-20T16:47:58+01:00 Repair info: Not a mysql database -> nothing to no
2016-12-20T16:47:58+01:00 Repair step: Repair SQLite autoincrement
2016-12-20T16:47:58+01:00 Repair step: Repair duplicate entries in oc_lucene_status
2016-12-20T16:47:58+01:00 Repair info: lucene_status table does not exist -> nothing to do
2016-12-20T16:47:58+01:00 Checking whether the database schema can be updated (this can take a long time depending on the database size)
2016-12-20T16:47:58+01:00  Checking table oc_appconfig
2016-12-20T16:47:59+01:00  Checking table oc_storages
2016-12-20T16:48:00+01:00  Checking table oc_mounts
2016-12-20T16:48:01+01:00  Checking table oc_mimetypes
2016-12-20T16:48:02+01:00  Checking table oc_filecache
2016-12-20T16:49:51+01:00  Checking table oc_group_user
2016-12-20T16:49:51+01:00  Checking table oc_group_admin
2016-12-20T16:49:52+01:00  Checking table oc_groups
2016-12-20T16:49:53+01:00  Checking table oc_preferences
2016-12-20T16:49:56+01:00  Checking table oc_properties
2016-12-20T16:50:02+01:00  Checking table oc_share
2016-12-20T16:50:04+01:00  Checking table oc_jobs
2016-12-20T16:50:05+01:00  Checking table oc_users
2016-12-20T16:50:05+01:00  Checking table oc_authtoken
2016-12-20T16:50:05+01:00  Checking table oc_vcategory
2016-12-20T16:50:06+01:00  Checking table oc_vcategory_to_object
2016-12-20T16:50:07+01:00  Checking table oc_systemtag
2016-12-20T16:50:08+01:00  Checking table oc_systemtag_object_mapping
2016-12-20T16:50:09+01:00  Checking table oc_systemtag_group
2016-12-20T16:50:09+01:00  Checking table oc_privatedata
2016-12-20T16:50:10+01:00  Checking table oc_file_locks
2016-12-20T16:50:11+01:00  Checking table oc_comments
2016-12-20T16:50:12+01:00  Checking table oc_comments_read_markers
2016-12-20T16:50:12+01:00  Checking table oc_credentials
2016-12-20T16:50:13+01:00 Checked database schema update
2016-12-20T16:50:13+01:00 Checking updates of apps
2016-12-20T16:50:13+01:00 Checking whether the database schema for <activity> can be updated (this can take a long time depending on the database size)
2016-12-20T16:50:13+01:00  Checking table oc_activity
2016-12-20T16:55:29+01:00  Checking table oc_activity_mq
2016-12-20T16:55:30+01:00 Checking whether the database schema for <dav> can be updated (this can take a long time depending on the database size)
2016-12-20T16:55:30+01:00  Checking table oc_addressbooks
2016-12-20T16:55:31+01:00  Checking table oc_cards
2016-12-20T16:55:32+01:00  Checking table oc_addressbookchanges
2016-12-20T16:55:33+01:00  Checking table oc_calendarobjects
2016-12-20T16:55:34+01:00  Checking table oc_calendars
2016-12-20T16:55:35+01:00  Checking table oc_calendarchanges
2016-12-20T16:55:36+01:00  Checking table oc_calendarsubscriptions
2016-12-20T16:55:37+01:00  Checking table oc_schedulingobjects
2016-12-20T16:55:38+01:00  Checking table oc_cards_properties
2016-12-20T16:55:41+01:00  Checking table oc_dav_shares
2016-12-20T16:55:42+01:00 Checking whether the database schema for <federatedfilesharing> can be updated (this can take a long time depending on the database size)
2016-12-20T16:55:42+01:00  Checking table oc_federated_reshares
2016-12-20T16:55:42+01:00 Checking whether the database schema for <federation> can be updated (this can take a long time depending on the database size)
2016-12-20T16:55:42+01:00  Checking table oc_trusted_servers
2016-12-20T16:55:43+01:00 Checking whether the database schema for <files_sharing> can be updated (this can take a long time depending on the database size)
2016-12-20T16:55:43+01:00  Checking table oc_share_external
2016-12-20T16:55:44+01:00 Checking whether the database schema for <files_trashbin> can be updated (this can take a long time depending on the database size)
2016-12-20T16:55:44+01:00  Checking table oc_files_trash
2016-12-20T16:55:49+01:00 Checking whether the database schema for <notifications> can be updated (this can take a long time depending on the database size)
2016-12-20T16:55:49+01:00  Checking table oc_notifications
2016-12-20T16:55:49+01:00 Checking whether the database schema for <user_ldap> can be updated (this can take a long time depending on the database size)
2016-12-20T16:55:49+01:00  Checking table oc_ldap_user_mapping
2016-12-20T16:55:51+01:00  Checking table oc_ldap_group_mapping
2016-12-20T16:55:52+01:00  Checking table oc_ldap_group_members
2016-12-20T16:55:53+01:00 Checked database schema update for apps
2016-12-20T16:55:53+01:00 Updating database schema
2016-12-20T16:55:54+01:00 Updated database
2016-12-20T16:55:54+01:00 Updating <federatedfilesharing> ...
2016-12-20T16:55:55+01:00 Updated <federatedfilesharing> to 0.3.0
2016-12-20T16:55:55+01:00 Updating <gallery> ...
2016-12-20T16:55:55+01:00 Updated <gallery> to 15.0.0
2016-12-20T16:55:55+01:00 Updating <provisioning_api> ...
2016-12-20T16:55:55+01:00 Updated <provisioning_api> to 0.5.0
2016-12-20T16:55:55+01:00 Updating <updatenotification> ...
2016-12-20T16:55:55+01:00 Updated <updatenotification> to 0.2.1
2016-12-20T16:55:55+01:00 Updating <federation> ...
2016-12-20T16:55:55+01:00 Updated <federation> to 0.1.0
2016-12-20T16:55:55+01:00 Updating <user_ldap> ...
2016-12-20T16:55:56+01:00 Updated <user_ldap> to 0.9.0
2016-12-20T16:55:56+01:00 Updating <files> ...
2016-12-20T16:55:56+01:00 Updated <files> to 1.5.1
2016-12-20T16:55:56+01:00 Updating <activity> ...
2016-12-20T16:56:57+01:00 Updated <activity> to 2.3.2
2016-12-20T16:56:57+01:00 Updating <dav> ...
2016-12-20T16:56:59+01:00 Repair step: Fix classification for calendar objects
2016-12-20T16:56:59+01:00 Fix classification for calendar objects
2016-12-20T16:56:59+01:00 2016-12-20T16:56:59+01:00  Done                                      
    0/0 [>-]   0%2016-12-20T16:56:59+01:00 
2016-12-20T16:56:59+01:00 Repair step: Fix component of birthday calendars
2016-12-20T16:57:00+01:00 Repair info: 18312 birthday calendars updated.
2016-12-20T16:57:00+01:00 Updated <dav> to 0.2.7
2016-12-20T16:57:00+01:00 Updating <files_sharing> ...
2016-12-20T16:57:01+01:00 Updated <files_sharing> to 0.10.0
2016-12-20T16:57:01+01:00 Updating <files_trashbin> ...
2016-12-20T16:57:01+01:00 Updated <files_trashbin> to 0.9.0
2016-12-20T16:57:01+01:00 Updating <files_versions> ...
2016-12-20T16:57:01+01:00 Updated <files_versions> to 1.3.0
2016-12-20T16:57:01+01:00 Updating <firewall> ...
2016-12-20T16:57:01+01:00 Updated <firewall> to 2.4.0
2016-12-20T16:57:01+01:00 Updating <comments> ...
2016-12-20T16:57:01+01:00 Updated <comments> to 0.3.0
2016-12-20T16:57:01+01:00 Updating <notifications> ...
2016-12-20T16:57:02+01:00 Updated <notifications> to 0.3.0
2016-12-20T16:57:02+01:00 Repair step: Repair mime types
2016-12-20T16:57:02+01:00 Repair step: Repair legacy storages
2016-12-20T16:57:02+01:00 Repair step: Clear asset cache after upgrade
2016-12-20T16:57:02+01:00 Repair info: Asset pipeline disabled -> nothing to do
2016-12-20T16:57:02+01:00 Repair step: Generate ETags for file where no ETag is present.
2016-12-20T16:57:04+01:00 Repair info: ETags have been fixed for 0 files/folders.
2016-12-20T16:57:04+01:00 Repair step: Clean tags and favorites
PHP Fatal error:  Class 'OCA\FederatedFileSharing\DiscoveryManager' not found in /srv/www/htdocs/owncloud/apps/files_sharing/lib/AppInfo/Application.php on line 83

@PVince81
Copy link
Contributor

Autoloader expert required @DeepDiver1975 @PhilippSchaffrath @butonic

@PVince81
Copy link
Contributor

@SergioBertolinSG can you help reproducing this ? Maybe try on CentOS...

@michaelstingl a full issue report would be useful, especially the parts about how to reproduce it and what distro... If there are common aspects between the reports then it can provide clues how to reproduce it. For example if all report that the issue is on CentOS with distro packages, then it's likely related to that...

@kiu-ball
Copy link

kiu-ball commented Dec 20, 2016

It's openSUSE here. No packages. I've used the oC Enterprise tar from customer.owncloud.com.

@PVince81
Copy link
Contributor

PVince81 commented Dec 20, 2016

openSUSE Tumbleweed here, my steps:

  1. Extract enterprise-complete tarball 9.0.7 and move it to /srv/www/htdocs/owncloud-enterprise (I have Apache already configured for that path as per the docs)
  2. chown -R wwwrun:www owncloud-enterprise
  3. Setup OC (I used a MariaDB DB)
  4. Login as admin and see that the instance works
  5. mv owncloud-enterprise owncloud-enterprise.old
  6. Extract the enterprise-complete tarball 9.1.3 and move it to /srv/www/htdocs/owncloud-enterprise
  7. chown -R wwwrun:www owncloud-enterprise
  8. Copy over the old config and data: cd owncloud-enterprise; rm -Rf config data; cp -Ra ../owncloud-enterprise.old/{config,data} .
  9. occ upgrade --skip-migration-test
  10. Login as admin and see that the instance works

Works for me.

php5-5.6.28-1.1.x86_64
apache2-2.4.23-3.2.x86_64

@SergioBertolinSG
Copy link
Contributor

SergioBertolinSG commented Dec 21, 2016

Hello, upgrades 9.0.7->9.1.3 using centos both tarball and packages worked correctly.

Remove shares of a users root folder
Starting ...
16/1316 [>---------------------------] 1% An unhandled exception has been thrown:
Error: Class 'OCA\FederatedFileSharing\DiscoveryManager' not found in /var/www/html/owncloud/apps/files_sharing/lib/AppInfo/Application.php:83

2016-12-20T16:57:04+01:00 Repair step: Clean tags and favorites
PHP Fatal error: Class 'OCA\FederatedFileSharing\DiscoveryManager' not found in /srv/www/htdocs/owncloud/apps/files_sharing/lib/AppInfo/Application.php on line 83

Perhaps it requires federated shares or tags assigned to a federated shared/recieved file?

@stephan-l
Copy link
Author

So does this mean, that this bug was resolved in 9.1.3 @SergioBertolinSG ? Or does it still persists regarding your attached log?
I wasn't able to try 9.1.3 so far. Next possible try for me would be on friday as I can only upgrade the production system and revert it if it is not working.

@SergioBertolinSG
Copy link
Contributor

@stephan-l No, sorry didn't mean that. Those logs are from your failure and the other one.

I couldn't reproduce with a basic installation, so I guess it requires to have federated shares (shared or received) before upgrade.

@kiu-ball
Copy link

kiu-ball commented Dec 21, 2016

I have recently tried what happens if I delete my whole LDAP config before upgrading to 9.1.3. Without that it worked for me too. So the problem clearly belongs to the database entries I think. Maybe users, shares or federated shares. I have several thousands of them in my production system.

@kiu-ball
Copy link

kiu-ball commented Dec 21, 2016

The CLI output says the following:

2016-12-21T14:22:11+01:00 Repair step: Clean tags and favorites
2016-12-21T14:22:11+01:00 Repair info: 129 tags of deleted users have been removed.
2016-12-21T14:22:11+01:00 Repair info: 0 tags for delete files have been removed.
2016-12-21T14:22:11+01:00 Repair info: 231 tag entries for deleted tags have been removed.
2016-12-21T14:22:11+01:00 Repair info: 0 tags with no entries have been removed.
2016-12-21T14:22:11+01:00 Repair step: Drop old database tables

The step where the crash happens without deleting LDAP config seems to be this one: "repair info: 129 tags of deleted users have been removed." Could this be another remnant bug?

@kiu-ball
Copy link

Ok, gave 9.1.3 another try with an older (9.0.6) database backup and 4Gigs of RAM for the PHP process. It tooks 16 hours but works. Not sure but maybe my database was corrupted in 9.0.7.

@kiu-ball
Copy link

kiu-ball commented Jan 25, 2017

Trying to reproduce the one time working upgrade with no luck. (from 8.2.9 over) 9.0.7 to 9.1.3 with live DB is stuck again.

@kiu-ball
Copy link

kiu-ball commented Jan 26, 2017

9.0.6 to 9.1.3 is broken too. Here are the last two SQL queries before the Class 'OCA\FederatedFileSharing\DiscoveryManager' not found error occurs:

2017-01-26 11:36:07 CET LOG:  Ausführen <unnamed>: SELECT s.*, f."fileid", f."path", st."id" AS "storage_string_id" FROM "oc_share" s LEFT JOIN "oc_filecache" f ON s."file_source" = f."fileid" LEFT JOIN "oc_storages" st ON f."storage" = st."numeric_id" WHERE ("share_type" = $1) AND ("share_with" IN ($2)) AND (("item_type" = $3) OR ("item_type" = $4)) ORDER BY s."id" ASC OFFSET 0
2017-01-26 11:36:07 CET DETAIL:  Parameter: $1 = '1', $2 = 'Jeder (LDAP)', $3 = 'file', $4 = 'folder'
2017-01-26 11:36:07 CET LOG:  Ausführen <unnamed>: 
					SELECT "remote", "share_token", "password", "mountpoint", "owner"
					FROM "oc_share_external"
					WHERE "user" = $1 AND "accepted" = $2
				
2017-01-26 11:36:07 CET DETAIL:  Parameter: $1 = 'mmusterm', $2 = '1'

@kiu-ball
Copy link

After a bit longer search I've found a (workaround) solution: The problem obviously belongs to the CamelCase naming of the PHP code files in 9.1.x. If you rename the 'apps/federatedfilesharing/lib/DiscoveryManager.php' to 'discoverymanager.php' in lowercases like in 9.0.x the update will run thru without any errors. I was able to reproduce this behavior for multiple times. So it works now. But the question is: What's the reason for this?

@PVince81
Copy link
Contributor

That might be an important clue you found.

In 9.1 the autoloader logic was reworked to use properly camel cased classes which also brings a performance boost. All classes that could not be renamed were moved into a "legacy" subfolder were the old less-efficient autoloader.

Maybe on your setup the old autoloader was still cached by PHP (APCu?) and it was trying to load the new classes with the old autoloader code. But some reporter said that clearing this cache did not help, so not sure.

@DeepDiver1975 @VicDeo @jvillafanez any idea ?

@kiu-ball
Copy link

A caching problem would make sense. APCu is used but does this matter for the CLI mode? If that is the root of the problem the updater should clear all caches before starting to work I think...

@PVince81
Copy link
Contributor

I'm not sure if it's able to. There was a very old discussion about issues with clearing the cache #18475 but I'm not sure they are relevant here.

@VicDeo would it be possible to occ upgrade to clear the APCu cache, if that even makes sense ?

One problem I see is that the code that clears the cache already needs to be loaded, so at least that specific code path needs to always work even with non-cleared cache.

@butonic
Copy link
Member

butonic commented May 24, 2017

in the config i still had configured a different apps path that was pointing to owncloud-10.0.1. fixing it still gives:

2017-05-24T10:52:33+00:00 Move user avatars outside the homes to the new location
                                                    2017-05-24T10:52:34+00:00  Starting ...
 1/7 [====>]  14%PHP Fatal error:  Class 'OCA\FederatedFileSharing\DiscoveryManager' not found in /var/www/owncloud/oc9.1-10.0.1/apps/files_sharing/lib/AppInfo/Application.php on line 84

@butonic
Copy link
Member

butonic commented May 24, 2017

adding xdebug in production ... yay

 1/7 [====>]  14%PHP Fatal error:  Class 'OCA\FederatedFileSharing\DiscoveryManager' not found in /var/www/owncloud/oc9.1-10.0.1/apps/files_sharing/lib/AppInfo/Application.php on line 84
PHP Stack trace:
PHP   1. {main}() /var/www/owncloud/oc9.1-10.0.1/occ:0
PHP   2. require_once() /var/www/owncloud/oc9.1-10.0.1/occ:11
PHP   3. OC\Console\Application->run() /var/www/owncloud/oc9.1-10.0.1/console.php:99
PHP   4. Symfony\Component\Console\Application->run() /var/www/owncloud/oc9.1-10.0.1/lib/private/Console/Application.php:160
PHP   5. Symfony\Component\Console\Application->doRun() /var/www/owncloud/oc9.1-10.0.1/lib/composer/symfony/console/Application.php:120
PHP   6. Symfony\Component\Console\Application->doRunCommand() /var/www/owncloud/oc9.1-10.0.1/lib/composer/symfony/console/Application.php:189
PHP   7. Symfony\Component\Console\Command\Command->run() /var/www/owncloud/oc9.1-10.0.1/lib/composer/symfony/console/Application.php:826
PHP   8. OC\Core\Command\Upgrade->execute() /var/www/owncloud/oc9.1-10.0.1/lib/composer/symfony/console/Command/Command.php:262
PHP   9. OC\Updater->upgrade() /var/www/owncloud/oc9.1-10.0.1/core/Command/Upgrade.php:249
PHP  10. OC\Updater->doUpgrade() /var/www/owncloud/oc9.1-10.0.1/lib/private/Updater.php:108
PHP  11. OC\Repair->run() /var/www/owncloud/oc9.1-10.0.1/lib/private/Updater.php:250
PHP  12. OC\Repair\MoveAvatarOutsideHome->run() /var/www/owncloud/oc9.1-10.0.1/lib/private/Repair.php:88
PHP  13. OC\User\Manager->callForSeenUsers() /var/www/owncloud/oc9.1-10.0.1/lib/private/Repair/MoveAvatarOutsideHome.php:141
PHP  14. OC\User\Manager->callForAllUsers() /var/www/owncloud/oc9.1-10.0.1/lib/private/User/Manager.php:397
PHP  15. OC\User\AccountMapper->callForAllUsers() /var/www/owncloud/oc9.1-10.0.1/lib/private/User/Manager.php:379
PHP  16. OC\User\Manager->OC\User\{closure}() /var/www/owncloud/oc9.1-10.0.1/lib/private/User/AccountMapper.php:220
PHP  17. OC\Repair\MoveAvatarOutsideHome->OC\Repair\{closure}() /var/www/owncloud/oc9.1-10.0.1/lib/private/User/Manager.php:378
PHP  18. OC\Repair\MoveAvatarOutsideHome->moveAvatars() /var/www/owncloud/oc9.1-10.0.1/lib/private/Repair/MoveAvatarOutsideHome.php:135
PHP  19. OC\Files\Node\LazyRoot->get() /var/www/owncloud/oc9.1-10.0.1/lib/private/Repair/MoveAvatarOutsideHome.php:111
PHP  20. OC\Files\Node\LazyRoot->__call() /var/www/owncloud/oc9.1-10.0.1/lib/private/Files/Node/LazyRoot.php:143
PHP  21. call_user_func_array:{/var/www/owncloud/oc9.1-10.0.1/lib/private/Files/Node/LazyRoot.php:66}() /var/www/owncloud/oc9.1-10.0.1/lib/private/Files/Node/LazyRoot.php:66
PHP  22. OC\Files\Node\Root->get() /var/www/owncloud/oc9.1-10.0.1/lib/private/Files/Node/LazyRoot.php:66
PHP  23. OC\Files\View->getFileInfo() /var/www/owncloud/oc9.1-10.0.1/lib/private/Files/Node/Root.php:182
PHP  24. OC\Files\Mount\MountPoint->getStorage() /var/www/owncloud/oc9.1-10.0.1/lib/private/Files/View.php:1362
PHP  25. OC\Files\Mount\MountPoint->createStorage() /var/www/owncloud/oc9.1-10.0.1/lib/private/Files/Mount/MountPoint.php:161
PHP  26. OC\Files\Storage\StorageFactory->getInstance() /var/www/owncloud/oc9.1-10.0.1/lib/private/Files/Mount/MountPoint.php:138
PHP  27. OC\Files\Storage\StorageFactory->wrap() /var/www/owncloud/oc9.1-10.0.1/lib/private/Files/Storage/StorageFactory.php:82
PHP  28. OC_Util::{closure:/var/www/owncloud/oc9.1-10.0.1/lib/private/legacy/util.php:157-163}() /var/www/owncloud/oc9.1-10.0.1/lib/private/Files/Storage/StorageFactory.php:100
PHP  29. OCA\Files_Sharing\SharedStorage->instanceOfStorage() /var/www/owncloud/oc9.1-10.0.1/lib/private/legacy/util.php:158
PHP  30. OC\Files\Storage\Wrapper\Wrapper->instanceOfStorage() /var/www/owncloud/oc9.1-10.0.1/apps/files_sharing/lib/SharedStorage.php:129
PHP  31. OCA\Files_Sharing\SharedStorage->getWrapperStorage() /var/www/owncloud/oc9.1-10.0.1/lib/private/Files/Storage/Wrapper/Wrapper.php:490
PHP  32. OCA\Files_Sharing\SharedStorage->init() /var/www/owncloud/oc9.1-10.0.1/apps/files_sharing/lib/SharedStorage.php:455
PHP  33. OC\Files\Filesystem::initMountPoints() /var/www/owncloud/oc9.1-10.0.1/apps/files_sharing/lib/SharedStorage.php:102
PHP  34. OC\Files\Config\MountProviderCollection->getMountsForUser() /var/www/owncloud/oc9.1-10.0.1/lib/private/Files/Filesystem.php:445
PHP  35. array_map() /var/www/owncloud/oc9.1-10.0.1/lib/private/Files/Config/MountProviderCollection.php:78
PHP  36. OC\Files\Config\MountProviderCollection->OC\Files\Config\{closure}() /var/www/owncloud/oc9.1-10.0.1/lib/private/Files/Config/MountProviderCollection.php:78
PHP  37. OCA\Files_Sharing\External\MountProvider->getMountsForUser() /var/www/owncloud/oc9.1-10.0.1/lib/private/Files/Config/MountProviderCollection.php:77
PHP  38. OCA\Files_Sharing\External\MountProvider->getMount() /var/www/owncloud/oc9.1-10.0.1/apps/files_sharing/lib/External/MountProvider.php:72
PHP  39. OCA\Files_Sharing\AppInfo\Application->OCA\Files_Sharing\AppInfo\{closure}() /var/www/owncloud/oc9.1-10.0.1/apps/files_sharing/lib/External/MountProvider.php:53
PHP  40. OC\AppFramework\Utility\SimpleContainer->query() /var/www/owncloud/oc9.1-10.0.1/apps/files_sharing/lib/AppInfo/Application.php:130
PHP  41. Pimple\Container->offsetGet() /var/www/owncloud/oc9.1-10.0.1/lib/private/AppFramework/Utility/SimpleContainer.php:111
PHP  42. OCA\Files_Sharing\AppInfo\Application->OCA\Files_Sharing\AppInfo\{closure}() /var/www/owncloud/oc9.1-10.0.1/lib/composer/pimple/pimple/src/Pimple/Container.php:113

@butonic
Copy link
Member

butonic commented May 24, 2017

sudo -u www-data php occ maintenance:repair does not fix it

@jaharkes
Copy link

I f you can reproduce, does adding a case-sensitive version of the classname to the list of searched paths in the autoloader help? i.e.

$paths[] = $appPath . '/lib/' . str_replace('\\', '/', $rest) . '.php';

after line 113 in lib/autoloader.php

@butonic
Copy link
Member

butonic commented May 24, 2017

ok ... the federatedfilesharing app is not loaded when the MoveAvatarOutsideHome repair step is executed.
with this patch the upgrade completes:

diff --git a/lib/private/Repair/MoveAvatarOutsideHome.php b/lib/private/Repair/MoveAvatarOutsideHome.php
index 53e34a2..1a5436d 100644
--- a/lib/private/Repair/MoveAvatarOutsideHome.php
+++ b/lib/private/Repair/MoveAvatarOutsideHome.php
@@ -104,6 +104,7 @@ class MoveAvatarOutsideHome implements IRepairStep {
        private function moveAvatars(IOutput $out, IUser $user) {
                $userId = $user->getUID();
 
+               \OC_App::loadApp('federatedfilesharing');
                \OC\Files\Filesystem::initMountPoints($userId);
 
                // call get instead of getUserFolder to avoid needless skeleton copy

This is not the correct solution, bit it raises the question if we need to make federatedfilesharing apptype filesystem in info.xml. the dependency was introduced with #24073 (diff) and a possible dependency problem was deferred to a later PR ... which I assume never came for ... reasons.

cc @DeepDiver1975 @PVince81 make federatedfilesharing apptype filesystem?

@DeepDiver1975
Copy link
Member

this is the wrong code location - this can be triggered by any repair step. maybe the repair step command class needs to load all apps?

for the bigger picture: it was wrong in the first place to use the discovery manager class in sharing

@butonic
Copy link
Member

butonic commented May 24, 2017

this just proves that the exception is triggered by a dependency of files_sharing on federatedfilesharing. as I wrote above:

This is not the correct solution, ...

@butonic
Copy link
Member

butonic commented May 24, 2017

working on a PR

@butonic butonic self-assigned this May 24, 2017
@butonic
Copy link
Member

butonic commented May 24, 2017

needed to change quite a bit: #28004

@PVince81 PVince81 modified the milestones: 9.1.7, 9.1.6 May 29, 2017
@ronbailer
Copy link

Same problem here: upgrading from OC 9.1.6 to OC 10.0.2 on Debian 8 fails with "Fatal error: Class 'OCA\FederatedFileSharing\DiscoveryManager' not found"

We found a workaround. If you disable maintenance mode before upgrade the process works smoothly and ends without errors.

sudo -u www-data /usr/bin/php /var/www/owncloud/occ maintenance:mode --off && sudo -u www-data /usr/bin/php /var/www/owncloud/occ upgrade -vvv

@butonic butonic added p2-high Escalation, on top of current planning, release blocker feature:update labels Jun 22, 2017
@PVince81 PVince81 modified the milestones: development, 9.1.7 Jun 29, 2017
@VicDeo VicDeo assigned tomneedham and unassigned VicDeo Jul 10, 2017
@cdamken
Copy link
Contributor

cdamken commented Jul 10, 2017

We tested with a 20K users installation and like @ronbailer says:

forcing the maintenance more to off and immediately adding the upgrade works.

@tomneedham @butonic why? 😕

@VicDeo
Copy link
Member

VicDeo commented Jul 10, 2017

@cdamken
A. in maintenance mode only certain app types are loaded automatically. Others are not.
B. repair step of one app (that is loaded) directly uses the class of another app (that is NOT loaded)

Workaround: load federatedfilesharing in the repair step #26297 (comment)

Fix: Follow design guides and remove a direct cross-app dependency. This is what Joern and Tom are doing in #28004

@cdamken
Copy link
Contributor

cdamken commented Jul 10, 2017

@VicDeo Thanks

@felixboehm felixboehm added p1-urgent Critical issue, need to consider hotfix with just that issue and removed p2-high Escalation, on top of current planning, release blocker labels Aug 9, 2017
@lock
Copy link

lock bot commented Jul 31, 2019

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@lock lock bot locked as resolved and limited conversation to collaborators Jul 31, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
blue-ticket feature:update p1-urgent Critical issue, need to consider hotfix with just that issue sev3-medium status/STALE Type:Bug
Projects
None yet
Development

Successfully merging a pull request may close this issue.