Page MenuHomePhabricator

LogicException: Process cache for 'en' should be set by now
Open, LowPublic

Description

We have a resurgence of an old bug T258860: LogicException: Process cache for 'en' should be set by now (on translatewiki.net pageviews) seen at translate.net.

It seems to come in surges.

$ ack -h 'Process cache' | cut -d" " -f1 | sort
[2024-02-16T17:53:50.619442+00:00]
[2024-02-16T17:53:50.674066+00:00]
[2024-02-16T17:53:50.689998+00:00]
[2024-02-16T17:53:50.756008+00:00]
[2024-02-16T17:53:51.555082+00:00]
[2024-02-16T17:53:52.562743+00:00]
[2024-02-16T17:53:52.562788+00:00]
[2024-02-16T17:53:53.559265+00:00]
[2024-02-16T17:53:53.559275+00:00]
[2024-02-16T17:53:54.557592+00:00]
[2024-02-16T17:53:54.557599+00:00]
[2024-02-16T17:53:55.565742+00:00]
[2024-02-16T17:53:55.565742+00:00]
[2024-02-16T17:53:56.559596+00:00]
[2024-02-16T17:53:56.559620+00:00]
[2024-02-16T17:53:57.561472+00:00]
[2024-02-16T17:53:57.561734+00:00]
[2024-02-16T17:53:58.570276+00:00]
[2024-02-16T17:53:58.570325+00:00]
[2024-02-26T18:20:58.600035+00:00]
[2024-02-26T18:20:58.684648+00:00]
[2024-02-26T18:20:58.829892+00:00]
[2024-02-26T18:20:58.836596+00:00]
[2024-02-26T18:20:59.268162+00:00]
[2024-02-26T18:21:00.264406+00:00]
[2024-02-26T18:21:00.264407+00:00]
[2024-02-26T18:21:01.268273+00:00]
[2024-02-26T18:21:01.268276+00:00]
[2024-02-26T18:21:02.275860+00:00]
[2024-02-26T18:21:02.275913+00:00]
[2024-02-26T18:21:03.281095+00:00]
[2024-02-26T18:21:03.281344+00:00]
[2024-02-26T18:21:04.270800+00:00]
[2024-02-26T18:21:04.270960+00:00]
[2024-02-26T18:21:05.282198+00:00]
[2024-02-26T18:21:05.282199+00:00]
[2024-02-26T18:21:06.275213+00:00]
[2024-02-26T18:21:06.282865+00:00]
[2024-02-26T19:19:41.227292+00:00]
[2024-02-26T19:19:41.227353+00:00]
[2024-02-26T19:19:41.300739+00:00]
[2024-02-26T19:19:41.332840+00:00]
[2024-02-26T19:19:42.125041+00:00]
[2024-02-26T19:19:43.125234+00:00]
[2024-02-26T19:19:43.125250+00:00]
[2024-02-26T19:19:44.120838+00:00]
[2024-02-26T19:19:44.120838+00:00]
[2024-02-26T19:19:45.123583+00:00]
[2024-02-26T19:19:45.123870+00:00]
[2024-02-26T19:19:46.131894+00:00]
[2024-02-26T19:19:46.131894+00:00]
[2024-02-26T19:19:47.133464+00:00]
[2024-02-26T19:19:47.133631+00:00]
[2024-02-26T19:19:48.135073+00:00]
[2024-02-26T19:19:48.135074+00:00]
[2024-02-26T19:19:49.133672+00:00]
[2024-02-26T19:19:49.133672+00:00]
[2024-02-26T20:18:01.040105+00:00]
[2024-02-26T20:18:01.041486+00:00]
[2024-02-26T20:18:01.041701+00:00]
[2024-02-26T20:18:01.122879+00:00]
[2024-02-26T20:18:01.159265+00:00]
[2024-02-26T20:18:02.030773+00:00]
[2024-02-26T20:18:02.030778+00:00]
[2024-02-26T20:18:03.046275+00:00]
[2024-02-26T20:18:03.048380+00:00]
[2024-02-26T20:18:04.034966+00:00]
[2024-02-26T20:18:04.035042+00:00]
[2024-02-26T20:18:05.041649+00:00]
[2024-02-26T20:18:05.041702+00:00]
[2024-02-26T20:18:06.048900+00:00]
[2024-02-26T20:18:06.048905+00:00]
[2024-02-26T20:18:07.042646+00:00]
[2024-02-26T20:18:07.042647+00:00]
[2024-02-26T20:18:08.044426+00:00]
[2024-02-26T20:18:08.044434+00:00]
[2024-02-26T20:18:09.058595+00:00]
[2024-02-27T03:57:59.597038+00:00]
[2024-02-27T03:57:59.706612+00:00]
[2024-02-27T03:57:59.774805+00:00]
[2024-02-27T03:57:59.857764+00:00]
[2024-02-27T03:58:00.503262+00:00]
[2024-02-27T03:58:01.501043+00:00]
[2024-02-27T03:58:01.501080+00:00]
[2024-02-27T03:58:02.509369+00:00]
[2024-02-27T03:58:02.509413+00:00]
[2024-02-27T03:58:03.502778+00:00]
[2024-02-27T03:58:03.502819+00:00]
[2024-02-27T03:58:04.504235+00:00]
[2024-02-27T03:58:04.504241+00:00]
[2024-02-27T03:58:05.515290+00:00]
[2024-02-27T03:58:05.515291+00:00]
[2024-02-27T03:58:06.513646+00:00]
[2024-02-27T03:58:06.516375+00:00]
[2024-02-27T03:58:07.512939+00:00]
[2024-02-27T03:58:07.512939+00:00]
[2024-03-07T00:08:34.138616+00:00]
[2024-03-07T00:08:34.198278+00:00]
[2024-03-07T00:08:34.527351+00:00]
[2024-03-07T00:08:34.755285+00:00]
[2024-03-07T00:08:35.306575+00:00]
[2024-03-07T00:08:36.307988+00:00]
[2024-03-07T00:08:36.307990+00:00]
[2024-03-07T00:08:37.315426+00:00]
[2024-03-07T00:08:37.315730+00:00]
[2024-03-07T00:08:38.311458+00:00]
[2024-03-07T00:08:38.311605+00:00]
[2024-03-07T00:08:39.316023+00:00]
[2024-03-07T00:08:39.319807+00:00]
[2024-03-07T00:08:40.323979+00:00]
[2024-03-07T00:08:40.324000+00:00]
[2024-03-07T09:02:49.253954+00:00]
[2024-03-07T09:02:49.277937+00:00]
[2024-03-07T09:02:49.522682+00:00]
[2024-03-07T09:02:49.534097+00:00]
[2024-03-07T09:02:49.534099+00:00]
[2024-03-07T09:02:49.534180+00:00]
[2024-03-07T09:02:49.724934+00:00]
[2024-03-07T09:02:50.729769+00:00]
[2024-03-07T09:02:50.729897+00:00]
[2024-03-07T09:02:51.741357+00:00]
[2024-03-07T09:02:51.741482+00:00]
[2024-03-07T09:02:52.733864+00:00]
[2024-03-07T09:02:52.734005+00:00]
[2024-03-07T09:02:53.737490+00:00]
[2024-03-07T09:02:53.737913+00:00]
[2024-03-07T09:02:54.749292+00:00]
[2024-03-07T09:02:54.749416+00:00]
[2024-03-07T09:02:55.734009+00:00]
[2024-03-07T09:02:55.738766+00:00]
[2024-03-09T15:47:11.513111+00:00]
[2024-03-09T15:47:11.707703+00:00]
[2024-03-09T15:47:11.796664+00:00]
[2024-03-09T15:47:11.844623+00:00]
[2024-03-09T15:47:11.888314+00:00]
[2024-03-09T15:47:11.965155+00:00]
[2024-03-09T15:47:12.198046+00:00]
[2024-03-09T15:47:12.288101+00:00]
[2024-03-09T15:47:13.190012+00:00]
[2024-03-09T15:47:13.190014+00:00]
[2024-03-09T15:47:14.197695+00:00]
[2024-03-09T15:47:14.197695+00:00]
[2024-03-09T15:47:15.197689+00:00]
[2024-03-09T15:47:15.200035+00:00]
[2024-03-09T15:47:16.195948+00:00]
[2024-03-09T15:47:16.196118+00:00]
[2024-03-09T15:47:17.210724+00:00]
[2024-03-09T15:47:17.210747+00:00]
[2024-03-09T15:47:18.203262+00:00]
[2024-03-09T15:47:18.203287+00:00]
[2024-03-11T12:19:52.223775+00:00]
[2024-03-11T12:19:52.304985+00:00]
[2024-03-11T12:19:52.818055+00:00]
[2024-03-11T12:19:52.860074+00:00]
[2024-03-11T12:19:53.228629+00:00]
[2024-03-11T12:19:53.471556+00:00]
[2024-03-11T12:19:54.478519+00:00]
[2024-03-11T12:19:54.478624+00:00]
[2024-03-11T12:19:55.491938+00:00]
[2024-03-11T12:19:56.902709+00:00]
[2024-03-11T12:19:57.682941+00:00]
[2024-03-11T12:19:57.945130+00:00]
[2024-03-11T12:19:58.477698+00:00]
[2024-03-11T12:19:58.493861+00:00]

Stacktrace often involves CirrusSearch :

[2024-03-11T12:19:58.493861+00:00] exception.ERROR: [9f1a13b372785ed4b8404838] /w/i.php?title=Special%3AAbuseLog&wpSearchTitle=Thread%3ASupport%2FAbout%2BMediaWiki%3AMobile-frontend-profile-last-edit%2Fen   LogicException: Process cache for 'en' should be set by now. {"exception":"[object] (LogicException(code: 0): Process cache for 'en' should be set by now. at /srv/mediawiki/tags/2024-03-06_18:47:52/includes/language/MessageCache.php:473)
[stacktrace]
#0 /srv/mediawiki/tags/2024-03-06_18:47:52/includes/language/MessageCache.php(348): MessageCache->loadUnguarded()
#1 /srv/mediawiki/tags/2024-03-06_18:47:52/includes/language/MessageCache.php(1317): MessageCache->load()
#2 /srv/mediawiki/tags/2024-03-06_18:47:52/includes/language/MessageCache.php(1222): MessageCache->getMsgFromNamespace()
#3 /srv/mediawiki/tags/2024-03-06_18:47:52/includes/language/MessageCache.php(1193): MessageCache->getMessageForLang()
#4 /srv/mediawiki/tags/2024-03-06_18:47:52/includes/language/MessageCache.php(1091): MessageCache->getMessageFromFallbackChain()
#5 /srv/mediawiki/tags/2024-03-06_18:47:52/includes/Message/Message.php(1530): MessageCache->get()
#6 /srv/mediawiki/tags/2024-03-06_18:47:52/includes/Message/Message.php(1177): MediaWiki\\Message\\Message->fetchMessage()
#7 /srv/mediawiki/tags/2024-03-06_18:47:52/extensions/CirrusSearch/includes/Hooks.php(219): MediaWiki\\Message\\Message->isDisabled()
#8 /srv/mediawiki/tags/2024-03-06_18:47:52/includes/libs/objectcache/BagOStuff.php(206): CirrusSearch\\Hooks::CirrusSearch\\{closure}()
#9 /srv/mediawiki/tags/2024-03-06_18:47:52/extensions/CirrusSearch/includes/Hooks.php(223): BagOStuff->getWithSetCallback()
#10 /srv/mediawiki/tags/2024-03-06_18:47:52/extensions/CirrusSearch/includes/Hooks.php(121): CirrusSearch\\Hooks::overrideMoreLikeThisOptionsFromMessage()
#11 /srv/mediawiki/tags/2024-03-06_18:47:52/extensions/CirrusSearch/includes/Hooks.php(94): CirrusSearch\\Hooks::initializeForRequest()
#12 /srv/mediawiki/tags/2024-03-06_18:47:52/includes/HookContainer/HookContainer.php(159): CirrusSearch\\Hooks->onBeforeInitialize()
#13 /srv/mediawiki/tags/2024-03-06_18:47:52/includes/HookContainer/HookRunner.php(937): MediaWiki\\HookContainer\\HookContainer->run()
#14 /srv/mediawiki/tags/2024-03-06_18:47:52/includes/actions/ActionEntryPoint.php(384): MediaWiki\\HookContainer\\HookRunner->onBeforeInitialize()
#15 /srv/mediawiki/tags/2024-03-06_18:47:52/includes/actions/ActionEntryPoint.php(145): MediaWiki\\Actions\\ActionEntryPoint->performRequest()
#16 /srv/mediawiki/tags/2024-03-06_18:47:52/includes/MediaWikiEntryPoint.php(199): MediaWiki\\Actions\\ActionEntryPoint->execute()
#17 /srv/mediawiki/tags/2024-03-06_18:47:52/index.php(58): MediaWiki\\MediaWikiEntryPoint->run()
#18 {main}
","exception_url":"/w/i.php?title=Special%3AAbuseLog&wpSearchTitle=Thread%3ASupport%2FAbout%2BMediaWiki%3AMobile-frontend-profile-last-edit%2Fen","reqId":"9f1a13b372785ed4b8404838","caught_by":"entrypoint"} []

I also saw it affect out translation exports:

  LogicException from line 473 of /srv/mediawiki/tags/2024-03-06_18:47:52/includes/language/MessageCache.php: Process cache for 'en' should be set by now.
#0 /srv/mediawiki/tags/2024-03-06_18:47:52/includes/language/MessageCache.php(348): MessageCache->loadUnguarded()
#1 /srv/mediawiki/tags/2024-03-06_18:47:52/includes/language/MessageCache.php(1317): MessageCache->load()
#2 /srv/mediawiki/tags/2024-03-06_18:47:52/includes/language/MessageCache.php(1222): MessageCache->getMsgFromNamespace()
#3 /srv/mediawiki/tags/2024-03-06_18:47:52/includes/language/MessageCache.php(1193): MessageCache->getMessageForLang()
#4 /srv/mediawiki/tags/2024-03-06_18:47:52/includes/language/MessageCache.php(1091): MessageCache->getMessageFromFallbackChain()
#5 /srv/mediawiki/tags/2024-03-06_18:47:52/includes/Message/Message.php(1530): MessageCache->get()
#6 /srv/mediawiki/tags/2024-03-06_18:47:52/includes/Message/Message.php(1018): MediaWiki\Message\Message->fetchMessage()
#7 /srv/mediawiki/tags/2024-03-06_18:47:52/includes/Message/Message.php(1117): MediaWiki\Message\Message->format()
#8 /srv/mediawiki/tags/2024-03-06_18:47:52/extensions/Translate/src/HookHandler.php(523): MediaWiki\Message\Message->plain()
#9 /srv/mediawiki/tags/2024-03-06_18:47:52/includes/HookContainer/HookContainer.php(159): MediaWiki\Extension\Translate\HookHandler::translateMessageDocumentationLanguage()
#10 /srv/mediawiki/tags/2024-03-06_18:47:52/includes/HookContainer/HookRunner.php(2281): MediaWiki\HookContainer\HookContainer->run()
#11 /srv/mediawiki/tags/2024-03-06_18:47:52/includes/language/LanguageNameUtils.php(232): MediaWiki\HookContainer\HookRunner->onLanguageGetTranslatedLanguageNames()
#12 /srv/mediawiki/tags/2024-03-06_18:47:52/includes/language/LanguageNameUtils.php(209): MediaWiki\Languages\LanguageNameUtils->getLanguageNamesUncached()
#13 /srv/mediawiki/tags/2024-03-06_18:47:52/includes/libs/objectcache/BagOStuff.php(206): MediaWiki\Languages\LanguageNameUtils->MediaWiki\Languages\{closure}()
#14 /srv/mediawiki/tags/2024-03-06_18:47:52/includes/language/LanguageNameUtils.php(210): BagOStuff->getWithSetCallback()
#15 /srv/mediawiki/tags/2024-03-06_18:47:52/extensions/Translate/src/Utilities/Utilities.php(225): MediaWiki\Languages\LanguageNameUtils->getLanguageNames()
#16 /srv/mediawiki/tags/2024-03-06_18:47:52/extensions/Translate/utils/MessageGroupStats.php(329): MediaWiki\Extension\Translate\Utilities\Utilities::getLanguageNames()
#17 /srv/mediawiki/tags/2024-03-06_18:47:52/extensions/Translate/utils/MessageGroupStats.php(454): MessageGroupStats::getLanguages()
#18 /srv/mediawiki/tags/2024-03-06_18:47:52/extensions/Translate/utils/MessageGroupStats.php(153): MessageGroupStats::forGroupInternal()
#19 /srv/mediawiki/tags/2024-03-06_18:47:52/extensions/Translate/src/Synchronization/ExportTranslationsMaintenanceScript.php(361): MessageGroupStats::forGroup()
#20 /srv/mediawiki/tags/2024-03-06_18:47:52/extensions/Translate/src/Synchronization/ExportTranslationsMaintenanceScript.php(175): MediaWiki\Extension\Translate\Synchronization\ExportTranslationsMaintenanceScript->getLanguageExportActions()
#21 /srv/mediawiki/tags/2024-03-06_18:47:52/maintenance/includes/MaintenanceRunner.php(698): MediaWiki\Extension\Translate\Synchronization\ExportTranslationsMaintenanceScript->execute()#22 /srv/mediawiki/tags/2024-03-06_18:47:52/maintenance/doMaintenance.php(100): MediaWiki\Maintenance\MaintenanceRunner->run()
#23 /srv/mediawiki/tags/2024-03-06_18:47:52/extensions/Translate/scripts/__bootstrap.php(18): require_once('/srv/mediawiki/...')
#24 /srv/mediawiki/tags/2024-03-06_18:47:52/extensions/Translate/scripts/export.php(6): require_once('/srv/mediawiki/...')
#25 {main}

Both in common seem to be a HookHandler that ends up calling Message->fetchMessage().

Event Timeline

Looks like our Memcached is at full capacity. This shouldn't be a problem, but I've seen similar symptoms before. I'll try restarting it.

Krinkle renamed this task from LogicException: Process cache for 'en' should be set by now to LogicException: Process cache for 'en' should be set by now (on translatewiki pageviews and CLI).Mar 27 2024, 10:16 PM

I'm seeing a couple of similar errors in logs in the last month:

Error
labels.normalized_message
[{reqId}] {exception_url}   LogicException: Process cache for 'en' should be set by now.
error.stack_trace
from /srv/mediawiki/php-1.43.0-wmf.10/includes/language/MessageCache.php(473)
#0 /srv/mediawiki/php-1.43.0-wmf.10/includes/language/MessageCache.php(348): MessageCache->loadUnguarded(string, NULL)
#1 /srv/mediawiki/php-1.43.0-wmf.10/includes/language/MessageCache.php(1324): MessageCache->load(string)
#2 /srv/mediawiki/php-1.43.0-wmf.10/includes/language/MessageCache.php(1274): MessageCache->getMsgFromNamespace(string, string)
#3 /srv/mediawiki/php-1.43.0-wmf.10/includes/language/MessageCache.php(1200): MessageCache->getMessageForLang(Language, string, boolean, array)
#4 /srv/mediawiki/php-1.43.0-wmf.10/includes/language/MessageCache.php(1097): MessageCache->getMessageFromFallbackChain(Language, string, boolean)
#5 /srv/mediawiki/php-1.43.0-wmf.10/includes/Message/Message.php(1554): MessageCache->get(string, boolean, Language, string)
#6 /srv/mediawiki/php-1.43.0-wmf.10/includes/Message/Message.php(1197): MediaWiki\Message\Message->fetchMessage()
#7 /srv/mediawiki/php-1.43.0-wmf.10/extensions/CirrusSearch/includes/Hooks.php(218): MediaWiki\Message\Message->isDisabled()
#8 /srv/mediawiki/php-1.43.0-wmf.10/includes/libs/objectcache/BagOStuff.php(206): CirrusSearch\Hooks::CirrusSearch\{closure}(integer)
#9 /srv/mediawiki/php-1.43.0-wmf.10/extensions/CirrusSearch/includes/Hooks.php(222): BagOStuff->getWithSetCallback(string, integer, Closure)
#10 /srv/mediawiki/php-1.43.0-wmf.10/extensions/CirrusSearch/includes/Hooks.php(120): CirrusSearch\Hooks::overrideMoreLikeThisOptionsFromMessage()
#11 /srv/mediawiki/php-1.43.0-wmf.10/extensions/CirrusSearch/includes/Hooks.php(101): CirrusSearch\Hooks::initializeForRequest(MediaWiki\Request\WebRequest)
#12 /srv/mediawiki/php-1.43.0-wmf.10/includes/HookContainer/HookContainer.php(159): CirrusSearch\Hooks->onApiBeforeMain(ApiMain)
#13 /srv/mediawiki/php-1.43.0-wmf.10/includes/HookContainer/HookRunner.php(692): MediaWiki\HookContainer\HookContainer->run(string, array)
#14 /srv/mediawiki/php-1.43.0-wmf.10/includes/api/ApiEntryPoint.php(144): MediaWiki\HookContainer\HookRunner->onApiBeforeMain(ApiMain)
#15 /srv/mediawiki/php-1.43.0-wmf.10/includes/MediaWikiEntryPoint.php(200): MediaWiki\Api\ApiEntryPoint->execute()
#16 /srv/mediawiki/php-1.43.0-wmf.10/api.php(44): MediaWiki\MediaWikiEntryPoint->run()
#17 /srv/mediawiki/w/api.php(3): require(string)
#18 {main}
Physikerwelt subscribed.

We see this error on our self-hosted wiki, running 1.43.0-wmf.9. In addition to cirrusSearch it is also triggered from the actionAPI

Full Logs are available from https://github.com/MaRDI4NFDI/portal-compose/issues/554

2024-09-03 06:30:38 77992694b090 my_wiki: [eecc153979478cc398ee4fdd] /w/index.php?title=Item:Q1093501&action=info   LogicException: Process cache for 'en' should be set by now.
#0 /var/www/html/includes/language/MessageCache.php(348): MessageCache->loadUnguarded(string, NULL)
#1 /var/www/html/includes/language/MessageCache.php(1324): MessageCache->load(string)
#2 /var/www/html/includes/language/MessageCache.php(1229): MessageCache->getMsgFromNamespace(string, string)
#3 /var/www/html/includes/language/MessageCache.php(1200): MessageCache->getMessageForLang(LanguageEn, string, boolean, array)
#4 /var/www/html/includes/language/MessageCache.php(1097): MessageCache->getMessageFromFallbackChain(LanguageEn, string, boolean)
#5 /var/www/html/includes/Message/Message.php(1553): MessageCache->get(string, boolean, LanguageEn, string)
#6 /var/www/html/includes/Message/Message.php(1035): MediaWiki\Message\Message->fetchMessage()
#7 /var/www/html/includes/Message/Message.php(1162): MediaWiki\Message\Message->format(string)
#8 /var/www/html/includes/Output/OutputPage.php(1153): MediaWiki\Message\Message->escaped()
#9 /var/www/html/includes/actions/Action.php(406): MediaWiki\Output\OutputPage->setPageTitleMsg(MediaWiki\Message\Message)
#10 /var/www/html/includes/actions/FormlessAction.php(43): Action->setHeaders()
#11 /var/www/html/includes/actions/ActionEntryPoint.php(731): FormlessAction->show()
#12 /var/www/html/includes/actions/ActionEntryPoint.php(508): MediaWiki\Actions\ActionEntryPoint->performAction(Article, MediaWiki\Title\Title)
#13 /var/www/html/includes/actions/ActionEntryPoint.php(145): MediaWiki\Actions\ActionEntryPoint->performRequest()
#14 /var/www/html/includes/MediaWikiEntryPoint.php(200): MediaWiki\Actions\ActionEntryPoint->execute()
#15 /var/www/html/index.php(58): MediaWiki\MediaWikiEntryPoint->run()
#16 {main}

Is this still happening with the latest version deployed in production?

We observe the same problem with 1.43.0-wmf.21.

I am unsure if there is a direct connection, but we see that queries like DELETE FROM l10n_cache WHERE lc_lang = 'en' created deadlock situations in our database. More interestingly, what causes these queries?

Physikerwelt lowered the priority of this task from Medium to Low.Sep 14 2024, 11:52 AM

I changed the cache config to not write to db, and the problem disappeared.

Nikerabbit renamed this task from LogicException: Process cache for 'en' should be set by now (on translatewiki pageviews and CLI) to LogicException: Process cache for 'en' should be set by now.Nov 19 2024, 7:38 AM
matmarex added a subscriber: Tgr.
matmarex subscribed.

This seems like just a coding mistake in MessageCache. There's a block that tries to gracefully handle this failure, followed by another block that assumes things can't fail and throws if they did:

		if ( !$success ) {
			$where[] = 'loading FAILED - cache is disabled';
			$this->disable();
			$this->cache->set( $code, [] );
			$this->logger->error( __METHOD__ . ": Failed to load $code" );
			// This used to throw an exception, but that led to nasty side effects like
			// the whole wiki being instantly down if the memcached server died
		}

		if ( !$this->isLanguageLoaded( $code ) ) {
			throw new LogicException( "Process cache for '$code' should be set by now." );
		}

If you're seeing this error, that means that your message cache is down (this is confirmed by all of the bug reports: T359823#9619988, T359823#10146271, and T389001 was also during an outage related to a Memcached misconfiguration), but that shouldn't bring MediaWiki completely down as well.

Change #1128580 had a related patch set uploaded (by Bartosz Dziewoński; author: Bartosz Dziewoński):

[mediawiki/core@master] MessageCache: Don't assert that language is loaded when we know it failed to load

https://gerrit.wikimedia.org/r/1128580

Change #1128580 abandoned by Bartosz Dziewoński:

[mediawiki/core@master] MessageCache: Don't assert that language is loaded when we know it failed to load

https://gerrit.wikimedia.org/r/1128580