Page MenuHomePhabricator

Container Disabled! (JobQueue/RefreshLinksJob/Parser::getTargetLanguageConverter)
Open, Needs TriagePublic

Description

[2022-04-23T16:54:53.527775+00:00] exception.ERROR: [db6daa9c9576b7eab39d1274] [no req]   Wikimedia\Services\ContainerDisabledException: Container disabled! {"exception":"[object] (Wikimedia\\Services\\ContainerDisabledException(code: 0): Container disabled! at /srv/mediawiki/tags/2022-04-20_13:51:23/vendor/wikimedia/services/src/ServiceContainer.php:408)
[stacktrace]
#0 /srv/mediawiki/tags/2022-04-20_13:51:23/includes/MediaWikiServices.php(301): Wikimedia\\Services\\ServiceContainer->getService()
#1 /srv/mediawiki/tags/2022-04-20_13:51:23/vendor/wikimedia/services/src/ServiceContainer.php(424): MediaWiki\\MediaWikiServices->getService()
#2 /srv/mediawiki/tags/2022-04-20_13:51:23/vendor/wikimedia/object-factory/src/ObjectFactory.php(211): Wikimedia\\Services\\ServiceContainer->get()
#3 /srv/mediawiki/tags/2022-04-20_13:51:23/vendor/wikimedia/object-factory/src/ObjectFactory.php(152): Wikimedia\\ObjectFactory\\ObjectFactory::getObjectFromSpec()
#4 /srv/mediawiki/tags/2022-04-20_13:51:23/includes/session/SessionManager.php(471): Wikimedia\\ObjectFactory\\ObjectFactory->createObject()
#5 /srv/mediawiki/tags/2022-04-20_13:51:23/includes/session/SessionManager.php(530): MediaWiki\\Session\\SessionManager->getProviders()
#6 /srv/mediawiki/tags/2022-04-20_13:51:23/includes/session/SessionManager.php(253): MediaWiki\\Session\\SessionManager->getSessionInfoForRequest()
#7 /srv/mediawiki/tags/2022-04-20_13:51:23/includes/WebRequest.php(842): MediaWiki\\Session\\SessionManager->getSessionForRequest()
#8 /srv/mediawiki/tags/2022-04-20_13:51:23/includes/user/User.php(1116): WebRequest->getSession()
#9 /srv/mediawiki/tags/2022-04-20_13:51:23/includes/user/User.php(439): User->loadFromSession()
#10 /srv/mediawiki/tags/2022-04-20_13:51:23/includes/user/User.php(1903): User->load()
#11 /srv/mediawiki/tags/2022-04-20_13:51:23/includes/user/User.php(2548): User->getId()
#12 /srv/mediawiki/tags/2022-04-20_13:51:23/includes/user/UserOptionsManager.php(644): User->isRegistered()
#13 /srv/mediawiki/tags/2022-04-20_13:51:23/includes/user/UserOptionsManager.php(496): MediaWiki\\User\\UserOptionsManager->getCacheKey()
#14 /srv/mediawiki/tags/2022-04-20_13:51:23/includes/user/UserOptionsManager.php(147): MediaWiki\\User\\UserOptionsManager->loadUserOptions()
#15 /srv/mediawiki/tags/2022-04-20_13:51:23/includes/user/User.php(2370): MediaWiki\\User\\UserOptionsManager->getOption()
#16 /srv/mediawiki/tags/2022-04-20_13:51:23/includes/context/RequestContext.php(451): User->getOption()
#17 /srv/mediawiki/tags/2022-04-20_13:51:23/includes/StubUserLang.php(34): RequestContext->getLanguage()
#18 /srv/mediawiki/tags/2022-04-20_13:51:23/includes/StubObject.php(223): StubUserLang->_newObject()
#19 /srv/mediawiki/tags/2022-04-20_13:51:23/includes/StubObject.php(103): StubObject->_unstub()
#20 /srv/mediawiki/tags/2022-04-20_13:51:23/includes/content/ContentHandler.php(738): StubObject::unstub()
#21 /srv/mediawiki/tags/2022-04-20_13:51:23/includes/Title.php(3966): ContentHandler->getPageLanguage()
#22 /srv/mediawiki/tags/2022-04-20_13:51:23/includes/parser/Parser.php(1175): Title->getPageLanguage()
#23 /srv/mediawiki/tags/2022-04-20_13:51:23/includes/parser/Parser.php(1642): Parser->getTargetLanguage()
#24 /srv/mediawiki/tags/2022-04-20_13:51:23/includes/parser/Parser.php(3168): Parser->getTargetLanguageConverter()
#25 /srv/mediawiki/tags/2022-04-20_13:51:23/includes/parser/PPFrame_Hash.php(276): Parser->braceSubstitution()
#26 /srv/mediawiki/tags/2022-04-20_13:51:23/includes/parser/Parser.php(2955): PPFrame_Hash->expand()
#27 /srv/mediawiki/tags/2022-04-20_13:51:23/includes/parser/Parser.php(1591): Parser->replaceVariables()
#28 /srv/mediawiki/tags/2022-04-20_13:51:23/includes/parser/Parser.php(708): Parser->internalParse()
#29 /srv/mediawiki/tags/2022-04-20_13:51:23/includes/content/WikitextContentHandler.php(295): Parser->parse()
#30 /srv/mediawiki/tags/2022-04-20_13:51:23/includes/content/ContentHandler.php(1713): WikitextContentHandler->fillParserOutput()
#31 /srv/mediawiki/tags/2022-04-20_13:51:23/includes/content/Renderer/ContentRenderer.php(47): ContentHandler->getParserOutput()
#32 /srv/mediawiki/tags/2022-04-20_13:51:23/includes/Revision/RenderedRevision.php(267): MediaWiki\\Content\\Renderer\\ContentRenderer->getParserOutput()
#33 /srv/mediawiki/tags/2022-04-20_13:51:23/includes/Revision/RenderedRevision.php(238): MediaWiki\\Revision\\RenderedRevision->getSlotParserOutputUncached()
#34 /srv/mediawiki/tags/2022-04-20_13:51:23/includes/Revision/RevisionRenderer.php(221): MediaWiki\\Revision\\RenderedRevision->getSlotParserOutput()
#35 /srv/mediawiki/tags/2022-04-20_13:51:23/includes/Revision/RevisionRenderer.php(158): MediaWiki\\Revision\\RevisionRenderer->combineSlotOutput()
#36 [internal function]: MediaWiki\\Revision\\RevisionRenderer->MediaWiki\\Revision\\{closure}()
#37 /srv/mediawiki/tags/2022-04-20_13:51:23/includes/Revision/RenderedRevision.php(200): call_user_func()
#38 /srv/mediawiki/tags/2022-04-20_13:51:23/includes/jobqueue/jobs/RefreshLinksJob.php(312): MediaWiki\\Revision\\RenderedRevision->getRevisionParserOutput()
#39 /srv/mediawiki/tags/2022-04-20_13:51:23/includes/jobqueue/jobs/RefreshLinksJob.php(228): RefreshLinksJob->getParserOutput()
#40 /srv/mediawiki/tags/2022-04-20_13:51:23/includes/jobqueue/jobs/RefreshLinksJob.php(154): RefreshLinksJob->runForTitle()
#41 /srv/mediawiki/tags/2022-04-20_13:51:23/includes/jobqueue/JobRunner.php(383): RefreshLinksJob->run()
#42 /srv/mediawiki/tags/2022-04-20_13:51:23/includes/jobqueue/JobRunner.php(344): JobRunner->doExecuteJob()
#43 /srv/mediawiki/tags/2022-04-20_13:51:23/includes/jobqueue/JobRunner.php(248): JobRunner->executeJob()
#44 /srv/mediawiki/tags/2022-04-20_13:51:23/maintenance/runJobs.php(98): JobRunner->run()
#45 /srv/mediawiki/tags/2022-04-20_13:51:23/maintenance/doMaintenance.php(122): RunJobs->execute()
#46 /srv/mediawiki/tags/2022-04-20_13:51:23/maintenance/runJobs.php(136): require_once('/srv/mediawiki/...')
#47 {main}
","exception_url":"[no req]","reqId":"db6daa9c9576b7eab39d1274","caught_by":"other"} []

Event Timeline

The only way I can see this happening is if something caused a MediaWikiServices instance to be created prematurely, before allowGlobalInstance() was called. In that case, the old instance will be disabled, and any attempt to access it will result in a ContainerDisabledException. But that would also require something to retain a reference to the old instance of MediaWikiServices , and nothing should really hold a reference to that...