Manual localisation cache rebuild is failing with:
Query: INSERT INTO `bw_l10n_cache` ...... Error: 1062 Duplicate entry 'mr-messages:apihelp-query+allusers-example-y' for key 'PRIMARY' (127.0.0.1:3312)
Language codes seen: mr and tl. It shouldn't even be using the database!
While trying to access the wiki from web I see:
Warning: dba_open(/l10n_cache-en.cdb.tmp.459236192): failed to open stream: Permission denied in /www/dev.translatewiki.net/docroot/w/vendor/wikimedia/cdb/src/Writer/DBA.php on line 39
[20897a16ed55e7907b3edc15] /w/i.php?title=Special:ContentTranslation&page=Moshing&from=en&to=es&targettitle=Moshing&debug=true MWException from line 98 of /www/dev.translatewiki.net/docroot/w/includes/cache/localisation/LCStoreCDB.php: Unable to open CDB file for write "/l10n_cache-en.cdb"
Backtrace:
#0 /www/dev.translatewiki.net/docroot/w/includes/cache/localisation/LocalisationCache.php(1015): LCStoreCDB->startWrite(string)
#1 /www/dev.translatewiki.net/docroot/w/includes/cache/localisation/LocalisationCache.php(457): LocalisationCache->recache(string)
#2 /www/dev.translatewiki.net/docroot/w/includes/cache/localisation/LocalisationCache.php(331): LocalisationCache->initLanguage(string)
#3 /www/dev.translatewiki.net/docroot/w/includes/cache/localisation/LocalisationCache.php(368): LocalisationCache->loadItem(string, string)
#4 /www/dev.translatewiki.net/docroot/w/includes/cache/localisation/LocalisationCache.php(293): LocalisationCache->loadSubitem(string, string, string)
#5 /www/dev.translatewiki.net/docroot/w/includes/cache/localisation/LocalisationCache.php(313): LocalisationCache->getSubitem(string, string, string)
#6 /www/dev.translatewiki.net/docroot/w/languages/Language.php(4485): LocalisationCache->getSubitemList(string, string)
#7 /www/dev.translatewiki.net/docroot/w/includes/cache/MessageCache.php(247): Language::getMessageKeysFor(string)
#8 /www/dev.translatewiki.net/docroot/w/includes/cache/MessageCache.php(1019): MessageCache->load(string)
#9 /www/dev.translatewiki.net/docroot/w/includes/cache/MessageCache.php(946): MessageCache->getMsgFromNamespace(string, string)
#10 /www/dev.translatewiki.net/docroot/w/includes/cache/MessageCache.php(916): MessageCache->getMessageForLang(LanguageEn, string, boolean, array)
#11 /www/dev.translatewiki.net/docroot/w/includes/cache/MessageCache.php(858): MessageCache->getMessageFromFallbackChain(LanguageEn, string, boolean)
#12 /www/dev.translatewiki.net/docroot/w/includes/language/Message.php(1310): MessageCache->get(string, boolean, LanguageEn)
#13 /www/dev.translatewiki.net/docroot/w/includes/language/Message.php(1029): Message->fetchMessage()
#14 /www/dev.translatewiki.net/docroot/w/extensions/CirrusSearch/includes/Hooks.php(198): Message->isDisabled()
#15 /www/dev.translatewiki.net/docroot/w/includes/libs/objectcache/BagOStuff.php(132): CirrusSearch\Hooks::CirrusSearch\{closure}(integer)
#16 /www/dev.translatewiki.net/docroot/w/extensions/CirrusSearch/includes/Hooks.php(202): BagOStuff->getWithSetCallback(string, integer, Closure)
#17 /www/dev.translatewiki.net/docroot/w/extensions/CirrusSearch/includes/Hooks.php(100): CirrusSearch\Hooks::overrideMoreLikeThisOptionsFromMessage()
#18 /www/dev.translatewiki.net/docroot/w/extensions/CirrusSearch/includes/Hooks.php(65): CirrusSearch\Hooks::initializeForRequest(WebRequest)
#19 /www/dev.translatewiki.net/docroot/w/includes/Hooks.php(174): CirrusSearch\Hooks::onBeforeInitialize(Title, NULL, OutputPage, User, WebRequest, MediaWiki)
#20 /www/dev.translatewiki.net/docroot/w/includes/Hooks.php(202): Hooks::callHook(string, array, array, NULL)
#21 /www/dev.translatewiki.net/docroot/w/includes/MediaWiki.php(186): Hooks::run(string, array)
#22 /www/dev.translatewiki.net/docroot/w/includes/MediaWiki.php(892): MediaWiki->performRequest()
#23 /www/dev.translatewiki.net/docroot/w/includes/MediaWiki.php(523): MediaWiki->main()
#24 /www/dev.translatewiki.net/docroot/w/index.php(42): MediaWiki->run()
#25 {main}It's trying to read CDB files from root!
My config:
$wgLocalisationCacheConf['store'] = 'files'; $wgLocalisationCacheConf['manualRecache'] = false;