owncloud / core

:cloud: ownCloud web server core (Files, DAV, etc.)
https://owncloud.com
GNU Affero General Public License v3.0
8.36k stars 2.06k forks source link

occ command competely broken if misconfigured redis IP in config.php #35637

Open xoxys opened 5 years ago

xoxys commented 5 years ago

Steps to reproduce Add a wrong Redis IP to ownClouds config.php (e.g. a valid IP but no Redis running on it) and try to use any occ ... command. Result:

$ occ
An unhandled exception has been thrown:
RedisException: No route to host in /var/www/owncloud/lib/private/RedisFactory.php:81
Stack trace:
#0 /var/www/owncloud/lib/private/RedisFactory.php(81): Redis->connect('192.168.122.8', '6379', 0)
#1 /var/www/owncloud/lib/private/RedisFactory.php(101): OC\RedisFactory->create()
#2 /var/www/owncloud/lib/private/Memcache/Redis.php(37): OC\RedisFactory->getInstance()
#3 /var/www/owncloud/lib/private/Memcache/Factory.php(131): OC\Memcache\Redis->__construct('545493d4e8fd57a...')
#4 /var/www/owncloud/lib/private/Server.php(724): OC\Memcache\Factory->createLocking('lock')
#5 /var/www/owncloud/lib/composer/pimple/pimple/src/Pimple/Container.php(118): OC\Server->OC\{closure}(Object(OC\Server))
#6 /var/www/owncloud/lib/private/AppFramework/Utility/SimpleContainer.php(108): Pimple\Container->offsetGet('LockingProvider')
#7 /var/www/owncloud/lib/private/ServerContainer.php(86): OC\AppFramework\Utility\SimpleContainer->query('LockingProvider')
#8 /var/www/owncloud/lib/private/Server.php(1488): OC\ServerContainer->query('LockingProvider')
#9 /var/www/owncloud/lib/private/Files/View.php(120): OC\Server->getLockingProvider()
#10 /var/www/owncloud/lib/private/Server.php(173): OC\Files\View->__construct()
#11 /var/www/owncloud/lib/composer/pimple/pimple/src/Pimple/Container.php(118): OC\Server->OC\{closure}(Object(OC\Server))
#12 /var/www/owncloud/lib/private/AppFramework/Utility/SimpleContainer.php(108): Pimple\Container->offsetGet('EncryptionManag...')
#13 /var/www/owncloud/lib/private/ServerContainer.php(86): OC\AppFramework\Utility\SimpleContainer->query('EncryptionManag...')
#14 /var/www/owncloud/lib/private/Server.php(919): OC\ServerContainer->query('EncryptionManag...')
#15 /var/www/owncloud/lib/base.php(751): OC\Server->getEncryptionManager()
#16 /var/www/owncloud/lib/base.php(665): OC::registerEncryptionWrapper()
#17 /var/www/owncloud/lib/base.php(994): OC::init()
#18 /var/www/owncloud/console.php(64): require_once('/var/www/ownclo...')
#19 /var/www/owncloud/occ(11): require_once('/var/www/ownclo...')

This is a very bad case if you rely on occ for ownCloud deployment automation and you will not be able to fix misconfigured values.

Actual behavior

occ hardly fails with wrong or not responding redis IP in config.php

Operating system: RHEL 7

Web server: apache

Database: mysql

PHP version: 7.2

ownCloud version: 10.2.0

Updated from an older ownCloud or fresh install: fresh

Where did you install ownCloud from: tarball

stale[bot] commented 3 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 10 days if no further activity occurs. Thank you for your contributions.