After updating MediaWiki core to master in translatewiki.net (more specifically to rMW80fd54ffb028: Allow $wgSettings to be used in LocalSettings.), we observe the following issues when running maintenance/rebuildLocalisationCache.php:
PHP Notice: Undefined index: wgVersion in /srv/mediawiki/workdir/extensions/SemanticMediaWiki/src/SetupCheck.php on line 190 PHP Notice: Undefined index: wgLanguageCode in /srv/mediawiki/workdir/extensions/SemanticMediaWiki/src/SetupCheck.php on line 191
A stacktrace (with xdebug in local development environment) is provided for your convenience:
PHP Notice: Undefined index: wgLanguageCode in /srv/mediawiki/workdir/extensions/SemanticMediaWiki/src/SetupCheck.php on line 191 PHP Stack trace: PHP 1. {main}() /srv/mediawiki/workdir/maintenance/rebuildLocalisationCache.php:0 PHP 2. require_once() /srv/mediawiki/workdir/maintenance/rebuildLocalisationCache.php:248 PHP 3. require_once() /srv/mediawiki/workdir/maintenance/doMaintenance.php:90 PHP 4. require_once() /srv/mediawiki/workdir/includes/Setup.php:109 PHP 5. ComposerAutoloaderInitbfb9dfa5d5c7756c1cea00c2480225c2::getLoader() /srv/mediawiki/workdir/vendor/autoload.php:7 PHP 6. composerRequirebfb9dfa5d5c7756c1cea00c2480225c2($fileIdentifier = 'cd9b6b6b76aed1304a64986142337d3a', $file = '/srv/mediawiki/workdir/vendor/composer/../../extensions/SemanticMediaWiki/SemanticMediaWiki.php') /srv/mediawiki/workdir/vendor/composer/autoload_real.php:65 PHP 7. require() /srv/mediawiki/workdir/vendor/composer/autoload_real.php:75 PHP 8. SemanticMediaWiki::load() /srv/mediawiki/workdir/extensions/SemanticMediaWiki/SemanticMediaWiki.php:18 PHP 9. SMW\Setup::registerExtensionCheck([....]) /srv/mediawiki/workdir/extensions/SemanticMediaWiki/SemanticMediaWiki.php:72 PHP 10. SMW\SetupCheck::newFromDefaults($setupFile = *uninitialized*) /srv/mediawiki/workdir/extensions/SemanticMediaWiki/src/Setup.php:50
In addition to this, the wiki no longer works and displays this warning:
MediaWiki internal error. Original exception: [f8b8165ba0180c7aaa5bf807] / MWException: Error: invalid magic word 'ask' Backtrace: from /srv/mediawiki/workdir/includes/MagicWord.php(129) #0 /srv/mediawiki/workdir/includes/MagicWordFactory.php(230): MagicWord->load() #1 /srv/mediawiki/workdir/includes/parser/Parser.php(4942): MagicWordFactory->get() #2 /srv/mediawiki/workdir/extensions/SemanticMediaWiki/src/ParserFunctionFactory.php(77): Parser->setFunctionHook() #3 /srv/mediawiki/workdir/extensions/SemanticMediaWiki/src/MediaWiki/Hooks.php(1205): SMW\ParserFunctionFactory->registerFunctionHandlers() #4 /srv/mediawiki/workdir/includes/HookContainer/HookContainer.php(338): SMW\MediaWiki\Hooks->onParserFirstCallInit() #5 /srv/mediawiki/workdir/includes/HookContainer/HookContainer.php(137): MediaWiki\HookContainer\HookContainer->callLegacyHook() #6 /srv/mediawiki/workdir/includes/HookContainer/HookRunner.php(2868): MediaWiki\HookContainer\HookContainer->run() #7 /srv/mediawiki/workdir/includes/parser/Parser.php(528): MediaWiki\HookContainer\HookRunner->onParserFirstCallInit() #8 /srv/mediawiki/workdir/includes/parser/ParserFactory.php(196): Parser->__construct() #9 /srv/mediawiki/workdir/includes/ServiceWiring.php(1186): ParserFactory->create() #10 /srv/mediawiki/workdir/vendor/wikimedia/services/src/ServiceContainer.php(447): Wikimedia\Services\ServiceContainer::{closure}() #11 /srv/mediawiki/workdir/vendor/wikimedia/services/src/ServiceContainer.php(416): Wikimedia\Services\ServiceContainer->createService() #12 /srv/mediawiki/workdir/includes/MediaWikiServices.php(289): Wikimedia\Services\ServiceContainer->getService() #13 /srv/mediawiki/workdir/includes/MediaWikiServices.php(1345): MediaWiki\MediaWikiServices->getService() #14 /srv/mediawiki/workdir/includes/preferences/DefaultPreferencesFactory.php(209): MediaWiki\MediaWikiServices->getParser() #15 /srv/mediawiki/workdir/extensions/GlobalPreferences/includes/Hooks.php(215): MediaWiki\Preferences\DefaultPreferencesFactory->__construct() #16 /srv/mediawiki/workdir/vendor/wikimedia/services/src/ServiceContainer.php(447): GlobalPreferences\Hooks::GlobalPreferences\{closure}() #17 /srv/mediawiki/workdir/vendor/wikimedia/services/src/ServiceContainer.php(416): Wikimedia\Services\ServiceContainer->createService() #18 /srv/mediawiki/workdir/includes/MediaWikiServices.php(289): Wikimedia\Services\ServiceContainer->getService() #19 /srv/mediawiki/workdir/includes/MediaWikiServices.php(1417): MediaWiki\MediaWikiServices->getService() #20 /srv/mediawiki/workdir/extensions/GlobalPreferences/includes/Hooks.php(286): MediaWiki\MediaWikiServices->getPreferencesFactory() #21 /srv/mediawiki/workdir/extensions/GlobalPreferences/includes/Hooks.php(42): GlobalPreferences\Hooks::getPreferencesFactory() #22 /srv/mediawiki/workdir/includes/HookContainer/HookContainer.php(338): GlobalPreferences\Hooks::onLoadUserOptions() #23 /srv/mediawiki/workdir/includes/HookContainer/HookContainer.php(137): MediaWiki\HookContainer\HookContainer->callLegacyHook() #24 /srv/mediawiki/workdir/includes/HookContainer/HookRunner.php(4197): MediaWiki\HookContainer\HookContainer->run() #25 /srv/mediawiki/workdir/includes/user/UserOptionsManager.php(633): MediaWiki\HookContainer\HookRunner->onLoadUserOptions() #26 /srv/mediawiki/workdir/includes/user/UserOptionsManager.php(497): MediaWiki\User\UserOptionsManager->loadOriginalOptions() #27 /srv/mediawiki/workdir/includes/user/UserOptionsManager.php(147): MediaWiki\User\UserOptionsManager->loadUserOptions() #28 /srv/mediawiki/workdir/includes/user/User.php(2356): MediaWiki\User\UserOptionsManager->getOption() #29 /srv/mediawiki/workdir/includes/context/RequestContext.php(384): User->getOption() #30 /srv/mediawiki/workdir/includes/StubUserLang.php(34): RequestContext->getLanguage() #31 /srv/mediawiki/workdir/includes/StubObject.php(223): StubUserLang->_newObject() #32 /srv/mediawiki/workdir/includes/StubObject.php(103): StubObject->_unstub() #33 /srv/mediawiki/workdir/includes/content/ContentHandler.php(736): StubObject::unstub() #34 /srv/mediawiki/workdir/includes/Title.php(3963): ContentHandler->getPageLanguage() #35 /srv/mediawiki/workdir/includes/OutputPage.php(2370): Title->getPageLanguage() #36 /srv/mediawiki/workdir/includes/OutputPage.php(2502): OutputPage->addAcceptLanguage() #37 /srv/mediawiki/workdir/includes/OutputPage.php(2613): OutputPage->sendCacheControl() #38 /srv/mediawiki/workdir/includes/MediaWiki.php(939): OutputPage->output() #39 /srv/mediawiki/workdir/includes/MediaWiki.php(952): MediaWiki::{closure}() #40 /srv/mediawiki/workdir/includes/MediaWiki.php(559): MediaWiki->main() #41 /srv/mediawiki/workdir/index.php(53): MediaWiki->run() #42 /srv/mediawiki/workdir/index.php(46): wfIndexMain() #43 {main} Exception caught inside exception handler: [f8b8165ba0180c7aaa5bf807] / MWException: Error: invalid magic word 'ask' Backtrace: from /srv/mediawiki/workdir/includes/MagicWord.php(129) #0 /srv/mediawiki/workdir/includes/MagicWordFactory.php(230): MagicWord->load() #1 /srv/mediawiki/workdir/includes/parser/Parser.php(4942): MagicWordFactory->get() #2 /srv/mediawiki/workdir/extensions/SemanticMediaWiki/src/ParserFunctionFactory.php(77): Parser->setFunctionHook() #3 /srv/mediawiki/workdir/extensions/SemanticMediaWiki/src/MediaWiki/Hooks.php(1205): SMW\ParserFunctionFactory->registerFunctionHandlers() #4 /srv/mediawiki/workdir/includes/HookContainer/HookContainer.php(338): SMW\MediaWiki\Hooks->onParserFirstCallInit() #5 /srv/mediawiki/workdir/includes/HookContainer/HookContainer.php(137): MediaWiki\HookContainer\HookContainer->callLegacyHook() #6 /srv/mediawiki/workdir/includes/HookContainer/HookRunner.php(2868): MediaWiki\HookContainer\HookContainer->run() #7 /srv/mediawiki/workdir/includes/parser/Parser.php(528): MediaWiki\HookContainer\HookRunner->onParserFirstCallInit() #8 /srv/mediawiki/workdir/includes/parser/ParserFactory.php(196): Parser->__construct() #9 /srv/mediawiki/workdir/includes/ServiceWiring.php(1186): ParserFactory->create() #10 /srv/mediawiki/workdir/vendor/wikimedia/services/src/ServiceContainer.php(447): Wikimedia\Services\ServiceContainer::{closure}() #11 /srv/mediawiki/workdir/vendor/wikimedia/services/src/ServiceContainer.php(416): Wikimedia\Services\ServiceContainer->createService() #12 /srv/mediawiki/workdir/includes/MediaWikiServices.php(289): Wikimedia\Services\ServiceContainer->getService() #13 /srv/mediawiki/workdir/includes/MediaWikiServices.php(1345): MediaWiki\MediaWikiServices->getService() #14 /srv/mediawiki/workdir/includes/cache/MessageCache.php(1260): MediaWiki\MediaWikiServices->getParser() #15 /srv/mediawiki/workdir/includes/cache/MessageCache.php(1239): MessageCache->getParser() #16 /srv/mediawiki/workdir/includes/language/Message.php(1438): MessageCache->transform() #17 /srv/mediawiki/workdir/includes/language/Message.php(977): Message->transformText() #18 /srv/mediawiki/workdir/includes/language/Message.php(1035): Message->format() #19 /srv/mediawiki/workdir/includes/OutputPage.php(949): Message->text() #20 /srv/mediawiki/workdir/includes/OutputPage.php(998): OutputPage->setHTMLTitle() #21 /srv/mediawiki/workdir/includes/OutputPage.php(2727): OutputPage->setPageTitle() #22 /srv/mediawiki/workdir/includes/exception/MWException.php(179): OutputPage->prepareErrorPage() #23 /srv/mediawiki/workdir/includes/exception/MWException.php(231): MWException->reportHTML() #24 /srv/mediawiki/workdir/includes/exception/MWExceptionHandler.php(105): MWException->report() #25 /srv/mediawiki/workdir/includes/exception/MWExceptionHandler.php(202): MWExceptionHandler::report() #26 /srv/mediawiki/workdir/includes/MediaWiki.php(578): MWExceptionHandler::handleException() #27 /srv/mediawiki/workdir/index.php(53): MediaWiki->run() #28 /srv/mediawiki/workdir/index.php(46): wfIndexMain() #29 {main}
This is likely because SMW does not see wgLanguageCode and fails to provide localisations due to that.