What is the problem?
If I set the config variable $wgPhonosFileBackend to something invalid (e.g. $wgPhonosFileBackend = "invalid";) I cannot load any page on the wiki and instead I get a fatal error:
MediaWiki internal error.
Original exception: [f719bad57681facf12862596] /wiki/Special:Version InvalidArgumentException: No backend defined with the name 'invalid'.
Backtrace:
from /var/www/html/w/includes/filebackend/FileBackendGroup.php(216)
#0 /var/www/html/w/includes/filebackend/FileBackendGroup.php(187): FileBackendGroup->config()
#1 /var/www/html/w/extensions/Phonos/includes/Engine/Engine.php(87): FileBackendGroup->get()
#2 /var/www/html/w/extensions/Phonos/includes/Engine/Engine.php(67): MediaWiki\Extension\Phonos\Engine\Engine::getFileBackend()
#3 /var/www/html/w/extensions/Phonos/includes/Engine/EspeakEngine.php(32): MediaWiki\Extension\Phonos\Engine\Engine->__construct()
#4 /var/www/html/w/extensions/Phonos/includes/ServiceWiring.php(17): MediaWiki\Extension\Phonos\Engine\EspeakEngine->__construct()
#5 /var/www/html/w/vendor/wikimedia/services/src/ServiceContainer.php(447): Wikimedia\Services\ServiceContainer::{closure}()
#6 /var/www/html/w/vendor/wikimedia/services/src/ServiceContainer.php(411): Wikimedia\Services\ServiceContainer->createService()
#7 /var/www/html/w/includes/MediaWikiServices.php(302): Wikimedia\Services\ServiceContainer->getService()
#8 /var/www/html/w/vendor/wikimedia/services/src/ServiceContainer.php(419): MediaWiki\MediaWikiServices->getService()
#9 /var/www/html/w/vendor/wikimedia/object-factory/src/ObjectFactory.php(211): Wikimedia\Services\ServiceContainer->get()
#10 /var/www/html/w/vendor/wikimedia/object-factory/src/ObjectFactory.php(152): Wikimedia\ObjectFactory\ObjectFactory::getObjectFromSpec()
#11 /var/www/html/w/includes/HookContainer/HookContainer.php(473): Wikimedia\ObjectFactory\ObjectFactory->createObject()
#12 /var/www/html/w/includes/HookContainer/HookContainer.php(156): MediaWiki\HookContainer\HookContainer->getHandlers()
#13 /var/www/html/w/includes/HookContainer/HookRunner.php(2923): MediaWiki\HookContainer\HookContainer->run()
#14 /var/www/html/w/includes/parser/Parser.php(549): MediaWiki\HookContainer\HookRunner->onParserFirstCallInit()
#15 /var/www/html/w/includes/parser/ParserFactory.php(216): Parser->__construct()
#16 /var/www/html/w/includes/parser/ParserFactory.php(233): ParserFactory->create()
#17 /var/www/html/w/includes/ServiceWiring.php(1268): ParserFactory->getMainInstance()
#18 /var/www/html/w/vendor/wikimedia/services/src/ServiceContainer.php(447): Wikimedia\Services\ServiceContainer::{closure}()
#19 /var/www/html/w/vendor/wikimedia/services/src/ServiceContainer.php(411): Wikimedia\Services\ServiceContainer->createService()
#20 /var/www/html/w/includes/MediaWikiServices.php(302): Wikimedia\Services\ServiceContainer->getService()
#21 /var/www/html/w/vendor/wikimedia/services/src/ServiceContainer.php(419): MediaWiki\MediaWikiServices->getService()
#22 /var/www/html/w/vendor/wikimedia/object-factory/src/ObjectFactory.php(211): Wikimedia\Services\ServiceContainer->get()
#23 /var/www/html/w/vendor/wikimedia/object-factory/src/ObjectFactory.php(152): Wikimedia\ObjectFactory\ObjectFactory::getObjectFromSpec()
#24 /var/www/html/w/includes/specialpage/SpecialPageFactory.php(1290): Wikimedia\ObjectFactory\ObjectFactory->createObject()
#25 /var/www/html/w/includes/MediaWiki.php(275): MediaWiki\SpecialPage\SpecialPageFactory->getPage()
#26 /var/www/html/w/includes/MediaWiki.php(904): MediaWiki->performRequest()
#27 /var/www/html/w/includes/MediaWiki.php(562): MediaWiki->main()
#28 /var/www/html/w/index.php(50): MediaWiki->run()
#29 /var/www/html/w/index.php(46): wfIndexMain()
#30 {main}We could handle invalid configurations more gracefully and without making the site inaccessible.
Steps to reproduce problem
- In LocalSettings.php, add $wgPhonosFileBackend = "invalid";
- Visit any page on the wiki
Expected behavior: The page loads. If the page has a Phonos template this should display an appropriate error when you try to play it.
Observed behavior: You see the above error.