cscott added a comment.

Ok, merged T207447: uselang=zh-hant-hk causes fatal exception of type "BadMethodCallException" into this one, because the stack trace is pretty much identical:

This bug T207433, request ID W8llMwpAMEsAACb4rOcAAAAW:

0 /srv/mediawiki/php-1.32.0-wmf.26/extensions/Wikibase/lib/includes/LanguageWithConversion.php(260): SrConverter->translate(string, string)
#1 /srv/mediawiki/php-1.32.0-wmf.26/extensions/Wikibase/lib/includes/LanguageWithConversion.php(225): Wikibase\LanguageWithConversion->executeTranslate()
#2 /srv/mediawiki/php-1.32.0-wmf.26/extensions/Wikibase/lib/includes/LanguageFallbackChain.php(88): Wikibase\LanguageWithConversion->translate(string)
#3 /srv/mediawiki/php-1.32.0-wmf.26/extensions/Wikibase/lib/includes/Store/LanguageFallbackLabelDescriptionLookup.php(81): Wikibase\LanguageFallbackChain->extractPreferredValue(array)
#4 /srv/mediawiki/php-1.32.0-wmf.26/extensions/Wikibase/lib/includes/Store/LanguageFallbackLabelDescriptionLookup.php(53): Wikibase\Lib\Store\LanguageFallbackLabelDescriptionLookup->getTermFallback(array, array)
#5 /srv/mediawiki/php-1.32.0-wmf.26/extensions/Wikibase/client/includes/Usage/UsageTrackingLanguageFallbackLabelDescriptionLookup.php(72): Wikibase\Lib\Store\LanguageFallbackLabelDescriptionLookup->getLabel(Wikibase\DataModel\Entity\PropertyId)
#6 /srv/mediawiki/php-1.32.0-wmf.26/extensions/Wikibase/client/includes/DataAccess/Scribunto/WikibaseLanguageDependentLuaBindings.php(60): Wikibase\Client\Usage\UsageTrackingLanguageFallbackLabelDescriptionLookup->getLabel(Wikibase\DataModel\Entity\PropertyId)
#7 /srv/mediawiki/php-1.32.0-wmf.26/extensions/Wikibase/client/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseLibrary.php(546): Wikibase\Client\DataAccess\Scribunto\WikibaseLanguageDependentLuaBindings->getLabel(string)
#8 /srv/mediawiki/php-1.32.0-wmf.26/extensions/Scribunto/includes/engines/LuaSandbox/Engine.php(393): Wikibase\Client\DataAccess\Scribunto\Scribunto_LuaWikibaseLibrary->getLabel(string)
#9 [internal function]: Scribunto_LuaSandboxCallback->__call(string, array)
#10 /srv/mediawiki/php-1.32.0-wmf.26/extensions/Scribunto/includes/engines/LuaSandbox/Engine.php(316): LuaSandboxFunction->call(LuaSandboxFunction)
#11 /srv/mediawiki/php-1.32.0-wmf.26/extensions/Scribunto/includes/engines/LuaCommon/LuaCommon.php(295): Scribunto_LuaSandboxInterpreter->callFunction(LuaSandboxFunction, LuaSandboxFunction)
#12 /srv/mediawiki/php-1.32.0-wmf.26/extensions/Scribunto/includes/engines/LuaCommon/LuaCommon.php(967): Scribunto_LuaEngine->executeFunctionChunk(LuaSandboxFunction, PPTemplateFrame_Hash)
#13 /srv/mediawiki/php-1.32.0-wmf.26/extensions/Scribunto/includes/common/Hooks.php(128): Scribunto_LuaModule->invoke(string, PPTemplateFrame_Hash)
#14 /srv/mediawiki/php-1.32.0-wmf.26/includes/parser/Parser.php(3493): ScribuntoHooks::invokeHook(Parser, PPTemplateFrame_Hash, array)
#15 /srv/mediawiki/php-1.32.0-wmf.26/includes/parser/Parser.php(3200): Parser->callParserFunction(PPTemplateFrame_Hash, string, array)
#16 /srv/mediawiki/php-1.32.0-wmf.26/includes/parser/Preprocessor_Hash.php(1114): Parser->braceSubstitution(array, PPTemplateFrame_Hash)
#17 /srv/mediawiki/php-1.32.0-wmf.26/includes/parser/Parser.php(3374): PPFrame_Hash->expand(PPNode_Hash_Tree)
#18 /srv/mediawiki/php-1.32.0-wmf.26/includes/parser/Preprocessor_Hash.php(1114): Parser->braceSubstitution(array, PPTemplateFrame_Hash)
#19 /srv/mediawiki/php-1.32.0-wmf.26/extensions/ParserFunctions/includes/ExtParserFunctions.php(127): PPFrame_Hash->expand(PPNode_Hash_Tree)
#20 /srv/mediawiki/php-1.32.0-wmf.26/includes/parser/Parser.php(3493): ExtParserFunctions::ifeqObj(Parser, PPTemplateFrame_Hash, array)
#21 /srv/mediawiki/php-1.32.0-wmf.26/includes/parser/Parser.php(3200): Parser->callParserFunction(PPTemplateFrame_Hash, string, array)
#22 /srv/mediawiki/php-1.32.0-wmf.26/includes/parser/Preprocessor_Hash.php(1114): Parser->braceSubstitution(array, PPTemplateFrame_Hash)
#23 /srv/mediawiki/php-1.32.0-wmf.26/includes/parser/Parser.php(3374): PPFrame_Hash->expand(PPNode_Hash_Tree)
#24 /srv/mediawiki/php-1.32.0-wmf.26/includes/parser/Preprocessor_Hash.php(1114): Parser->braceSubstitution(array, PPFrame_Hash)
#25 /srv/mediawiki/php-1.32.0-wmf.26/includes/parser/Parser.php(3014): PPFrame_Hash->expand(PPNode_Hash_Tree, integer)
#26 /srv/mediawiki/php-1.32.0-wmf.26/includes/parser/Parser.php(1350): Parser->replaceVariables(string)
#27 /srv/mediawiki/php-1.32.0-wmf.26/includes/parser/Parser.php(476): Parser->internalParse(string)
#28 /srv/mediawiki/php-1.32.0-wmf.26/includes/content/WikitextContent.php(341): Parser->parse(string, Title, ParserOptions, boolean, boolean, integer)
#29 /srv/mediawiki/php-1.32.0-wmf.26/includes/content/AbstractContent.php(517): WikitextContent->fillParserOutput(Title, integer, ParserOptions, boolean, ParserOutput)
#30 /srv/mediawiki/php-1.32.0-wmf.26/includes/Revision/RenderedRevision.php(243): AbstractContent->getParserOutput(Title, integer, ParserOptions, boolean)
#31 /srv/mediawiki/php-1.32.0-wmf.26/includes/Revision/RenderedRevision.php(211): MediaWiki\Revision\RenderedRevision->getSlotParserOutputUncached(WikitextContent, boolean)
#32 /srv/mediawiki/php-1.32.0-wmf.26/includes/Revision/RevisionRenderer.php(168): MediaWiki\Revision\RenderedRevision->getSlotParserOutput(string)
#33 /srv/mediawiki/php-1.32.0-wmf.26/includes/Revision/RevisionRenderer.php(121): MediaWiki\Revision\RevisionRenderer->combineSlotOutput(MediaWiki\Revision\RenderedRevision, array)
#34 [internal function]: Closure$MediaWiki\Revision\RevisionRenderer::getRenderedRevision#2(MediaWiki\Revision\RenderedRevision, array)
#35 /srv/mediawiki/php-1.32.0-wmf.26/includes/Revision/RenderedRevision.php(175): call_user_func(Closure$MediaWiki\Revision\RevisionRenderer::getRenderedRevision#2;3054, MediaWiki\Revision\RenderedRevision, array)
#36 /srv/mediawiki/php-1.32.0-wmf.26/includes/poolcounter/PoolWorkArticleView.php(194): MediaWiki\Revision\RenderedRevision->getRevisionParserOutput()
#37 /srv/mediawiki/php-1.32.0-wmf.26/includes/poolcounter/PoolCounterWork.php(123): PoolWorkArticleView->doWork()
#38 /srv/mediawiki/php-1.32.0-wmf.26/includes/page/Article.php(774): PoolCounterWork->execute()
#39 /srv/mediawiki/php-1.32.0-wmf.26/includes/actions/ViewAction.php(68): Article->view()
#40 /srv/mediawiki/php-1.32.0-wmf.26/includes/MediaWiki.php(501): ViewAction->show()
#41 /srv/mediawiki/php-1.32.0-wmf.26/includes/MediaWiki.php(294): MediaWiki->performAction(Article, Title)
#42 /srv/mediawiki/php-1.32.0-wmf.26/includes/MediaWiki.php(860): MediaWiki->performRequest()
#43 /srv/mediawiki/php-1.32.0-wmf.26/includes/MediaWiki.php(517): MediaWiki->main()
#44 /srv/mediawiki/php-1.32.0-wmf.26/index.php(42): MediaWiki->run()
#45 /srv/mediawiki/w/index.php(3): include(string)
#46 {main}

vs T207447, request ID W8mX4QpAME8AAHLuf4oAAACK:

#0 /srv/mediawiki/php-1.32.0-wmf.26/extensions/Wikibase/lib/includes/LanguageWithConversion.php(260): LanguageConverter->translate(string, string)
#1 /srv/mediawiki/php-1.32.0-wmf.26/extensions/Wikibase/lib/includes/LanguageWithConversion.php(225): Wikibase\LanguageWithConversion->executeTranslate()
#2 /srv/mediawiki/php-1.32.0-wmf.26/extensions/Wikibase/lib/includes/LanguageFallbackChain.php(88): Wikibase\LanguageWithConversion->translate(string)
#3 /srv/mediawiki/php-1.32.0-wmf.26/extensions/Wikibase/lib/includes/Store/LanguageFallbackLabelDescriptionLookup.php(81): Wikibase\LanguageFallbackChain->extractPreferredValue(array)
#4 /srv/mediawiki/php-1.32.0-wmf.26/extensions/Wikibase/lib/includes/Store/LanguageFallbackLabelDescriptionLookup.php(53): Wikibase\Lib\Store\LanguageFallbackLabelDescriptionLookup->getTermFallback(array, array)
#5 /srv/mediawiki/php-1.32.0-wmf.26/extensions/Wikibase/client/includes/Usage/UsageTrackingLanguageFallbackLabelDescriptionLookup.php(72): Wikibase\Lib\Store\LanguageFallbackLabelDescriptionLookup->getLabel(Wikibase\DataModel\Entity\ItemId)
#6 /srv/mediawiki/php-1.32.0-wmf.26/extensions/Wikibase/client/includes/DataAccess/Scribunto/WikibaseLanguageDependentLuaBindings.php(60): Wikibase\Client\Usage\UsageTrackingLanguageFallbackLabelDescriptionLookup->getLabel(Wikibase\DataModel\Entity\ItemId)
#7 /srv/mediawiki/php-1.32.0-wmf.26/extensions/Wikibase/client/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseLibrary.php(546): Wikibase\Client\DataAccess\Scribunto\WikibaseLanguageDependentLuaBindings->getLabel(string)
#8 /srv/mediawiki/php-1.32.0-wmf.26/extensions/Scribunto/includes/engines/LuaSandbox/Engine.php(393): Wikibase\Client\DataAccess\Scribunto\Scribunto_LuaWikibaseLibrary->getLabel(string)
#9 [internal function]: Scribunto_LuaSandboxCallback->__call(string, array)
#10 /srv/mediawiki/php-1.32.0-wmf.26/extensions/Scribunto/includes/engines/LuaSandbox/Engine.php(316): LuaSandboxFunction->call(LuaSandboxFunction)
#11 /srv/mediawiki/php-1.32.0-wmf.26/extensions/Scribunto/includes/engines/LuaCommon/LuaCommon.php(295): Scribunto_LuaSandboxInterpreter->callFunction(LuaSandboxFunction, LuaSandboxFunction)
#12 /srv/mediawiki/php-1.32.0-wmf.26/extensions/Scribunto/includes/engines/LuaCommon/LuaCommon.php(967): Scribunto_LuaEngine->executeFunctionChunk(LuaSandboxFunction, PPTemplateFrame_Hash)
#13 /srv/mediawiki/php-1.32.0-wmf.26/extensions/Scribunto/includes/common/Hooks.php(128): Scribunto_LuaModule->invoke(string, PPTemplateFrame_Hash)
#14 /srv/mediawiki/php-1.32.0-wmf.26/includes/parser/Parser.php(3493): ScribuntoHooks::invokeHook(Parser, PPTemplateFrame_Hash, array)
#15 /srv/mediawiki/php-1.32.0-wmf.26/includes/parser/Parser.php(3200): Parser->callParserFunction(PPTemplateFrame_Hash, string, array)
#16 /srv/mediawiki/php-1.32.0-wmf.26/includes/parser/Preprocessor_Hash.php(1114): Parser->braceSubstitution(array, PPTemplateFrame_Hash)
#17 /srv/mediawiki/php-1.32.0-wmf.26/includes/parser/Parser.php(3374): PPFrame_Hash->expand(PPNode_Hash_Tree)
#18 /srv/mediawiki/php-1.32.0-wmf.26/includes/parser/Preprocessor_Hash.php(1114): Parser->braceSubstitution(array, PPTemplateFrame_Hash)
#19 /srv/mediawiki/php-1.32.0-wmf.26/extensions/ParserFunctions/includes/ExtParserFunctions.php(127): PPFrame_Hash->expand(PPNode_Hash_Tree)
#20 /srv/mediawiki/php-1.32.0-wmf.26/includes/parser/Parser.php(3493): ExtParserFunctions::ifeqObj(Parser, PPTemplateFrame_Hash, array)
#21 /srv/mediawiki/php-1.32.0-wmf.26/includes/parser/Parser.php(3200): Parser->callParserFunction(PPTemplateFrame_Hash, string, array)
#22 /srv/mediawiki/php-1.32.0-wmf.26/includes/parser/Preprocessor_Hash.php(1114): Parser->braceSubstitution(array, PPTemplateFrame_Hash)
#23 /srv/mediawiki/php-1.32.0-wmf.26/includes/parser/Parser.php(3374): PPFrame_Hash->expand(PPNode_Hash_Tree)
#24 /srv/mediawiki/php-1.32.0-wmf.26/includes/parser/Preprocessor_Hash.php(1114): Parser->braceSubstitution(array, PPFrame_Hash)
#25 /srv/mediawiki/php-1.32.0-wmf.26/includes/parser/Parser.php(3014): PPFrame_Hash->expand(PPNode_Hash_Tree, integer)
#26 /srv/mediawiki/php-1.32.0-wmf.26/includes/parser/Parser.php(1350): Parser->replaceVariables(string)
#27 /srv/mediawiki/php-1.32.0-wmf.26/includes/parser/Parser.php(684): Parser->internalParse(string, boolean, boolean)
#28 /srv/mediawiki/php-1.32.0-wmf.26/includes/parser/Parser.php(5127): Parser->recursiveTagParse(string)
#29 /srv/mediawiki/php-1.32.0-wmf.26/includes/parser/CoreTagHooks.php(157): Parser->renderImageGallery(string, array)
#30 /srv/mediawiki/php-1.32.0-wmf.26/includes/parser/Parser.php(3968): CoreTagHooks::gallery(string, array, Parser, PPTemplateFrame_Hash)
#31 /srv/mediawiki/php-1.32.0-wmf.26/includes/parser/Preprocessor_Hash.php(1188): Parser->extensionSubstitution(array, PPTemplateFrame_Hash)
#32 /srv/mediawiki/php-1.32.0-wmf.26/includes/parser/Preprocessor_Hash.php(1546): PPFrame_Hash->expand(PPNode_Hash_Tree, integer)
#33 /srv/mediawiki/php-1.32.0-wmf.26/includes/parser/Parser.php(3371): PPTemplateFrame_Hash->cachedExpand(string, PPNode_Hash_Tree)
#34 /srv/mediawiki/php-1.32.0-wmf.26/includes/parser/Preprocessor_Hash.php(1114): Parser->braceSubstitution(array, PPTemplateFrame_Hash)
#35 /srv/mediawiki/php-1.32.0-wmf.26/includes/parser/Parser.php(3374): PPFrame_Hash->expand(PPNode_Hash_Tree)
#36 /srv/mediawiki/php-1.32.0-wmf.26/includes/parser/Preprocessor_Hash.php(1114): Parser->braceSubstitution(array, PPTemplateFrame_Hash)
#37 /srv/mediawiki/php-1.32.0-wmf.26/includes/parser/Preprocessor_Hash.php(1626): PPFrame_Hash->expand(PPNode_Hash_Tree, integer)
#38 /srv/mediawiki/php-1.32.0-wmf.26/includes/parser/Preprocessor_Hash.php(1638): PPTemplateFrame_Hash->getNamedArgument(string)
#39 /srv/mediawiki/php-1.32.0-wmf.26/includes/parser/Parser.php(3881): PPTemplateFrame_Hash->getArgument(string)
#40 /srv/mediawiki/php-1.32.0-wmf.26/includes/parser/Preprocessor_Hash.php(1131): Parser->argSubstitution(array, PPTemplateFrame_Hash)
#41 /srv/mediawiki/php-1.32.0-wmf.26/includes/parser/Parser.php(3374): PPFrame_Hash->expand(PPNode_Hash_Tree)
#42 /srv/mediawiki/php-1.32.0-wmf.26/includes/parser/Preprocessor_Hash.php(1114): Parser->braceSubstitution(array, PPTemplateFrame_Hash)
#43 /srv/mediawiki/php-1.32.0-wmf.26/includes/parser/Parser.php(3374): PPFrame_Hash->expand(PPNode_Hash_Tree)
#44 /srv/mediawiki/php-1.32.0-wmf.26/includes/parser/Preprocessor_Hash.php(1114): Parser->braceSubstitution(array, PPFrame_Hash)
#45 /srv/mediawiki/php-1.32.0-wmf.26/extensions/ParserFunctions/includes/ExtParserFunctions.php(389): PPFrame_Hash->expand(PPNode_Hash_Tree)
#46 /srv/mediawiki/php-1.32.0-wmf.26/includes/parser/Parser.php(3493): ExtParserFunctions::ifexistObj(Parser, PPFrame_Hash, array)
#47 /srv/mediawiki/php-1.32.0-wmf.26/includes/parser/Parser.php(3200): Parser->callParserFunction(PPFrame_Hash, string, array)
#48 /srv/mediawiki/php-1.32.0-wmf.26/includes/parser/Preprocessor_Hash.php(1114): Parser->braceSubstitution(array, PPFrame_Hash)
#49 /srv/mediawiki/php-1.32.0-wmf.26/includes/parser/Parser.php(3014): PPFrame_Hash->expand(PPNode_Hash_Tree, integer)
#50 /srv/mediawiki/php-1.32.0-wmf.26/includes/parser/Parser.php(1350): Parser->replaceVariables(string)
#51 /srv/mediawiki/php-1.32.0-wmf.26/includes/parser/Parser.php(476): Parser->internalParse(string)
#52 /srv/mediawiki/php-1.32.0-wmf.26/includes/content/WikitextContent.php(341): Parser->parse(string, Title, ParserOptions, boolean, boolean, integer)
#53 /srv/mediawiki/php-1.32.0-wmf.26/includes/content/AbstractContent.php(517): WikitextContent->fillParserOutput(Title, integer, ParserOptions, boolean, ParserOutput)
#54 /srv/mediawiki/php-1.32.0-wmf.26/includes/Revision/RenderedRevision.php(243): AbstractContent->getParserOutput(Title, integer, ParserOptions, boolean)
#55 /srv/mediawiki/php-1.32.0-wmf.26/includes/Revision/RenderedRevision.php(211): MediaWiki\Revision\RenderedRevision->getSlotParserOutputUncached(WikitextContent, boolean)
#56 /srv/mediawiki/php-1.32.0-wmf.26/includes/Revision/RevisionRenderer.php(168): MediaWiki\Revision\RenderedRevision->getSlotParserOutput(string)
#57 /srv/mediawiki/php-1.32.0-wmf.26/includes/Revision/RevisionRenderer.php(121): MediaWiki\Revision\RevisionRenderer->combineSlotOutput(MediaWiki\Revision\RenderedRevision, array)
#58 [internal function]: Closure$MediaWiki\Revision\RevisionRenderer::getRenderedRevision#2(MediaWiki\Revision\RenderedRevision, array)
#59 /srv/mediawiki/php-1.32.0-wmf.26/includes/Revision/RenderedRevision.php(175): call_user_func(Closure$MediaWiki\Revision\RevisionRenderer::getRenderedRevision#2;731, MediaWiki\Revision\RenderedRevision, array)
#60 /srv/mediawiki/php-1.32.0-wmf.26/includes/poolcounter/PoolWorkArticleView.php(194): MediaWiki\Revision\RenderedRevision->getRevisionParserOutput()
#61 /srv/mediawiki/php-1.32.0-wmf.26/includes/poolcounter/PoolCounterWork.php(123): PoolWorkArticleView->doWork()
#62 /srv/mediawiki/php-1.32.0-wmf.26/includes/page/Article.php(774): PoolCounterWork->execute()
#63 /srv/mediawiki/php-1.32.0-wmf.26/includes/actions/ViewAction.php(68): Article->view()
#64 /srv/mediawiki/php-1.32.0-wmf.26/includes/MediaWiki.php(501): ViewAction->show()
#65 /srv/mediawiki/php-1.32.0-wmf.26/includes/MediaWiki.php(294): MediaWiki->performAction(Article, Title)
#66 /srv/mediawiki/php-1.32.0-wmf.26/includes/MediaWiki.php(860): MediaWiki->performRequest()
#67 /srv/mediawiki/php-1.32.0-wmf.26/includes/MediaWiki.php(517): MediaWiki->main()
#68 /srv/mediawiki/php-1.32.0-wmf.26/index.php(42): MediaWiki->run()
#69 /srv/mediawiki/w/index.php(3): include(string)
#70 {main}

In both cases, LanguageConverter->translate() is being invoked with a BCP 47 code, not a mediawiki-internal code. SrConverter and LanguageConverter (used for zhwiki) handle this in slightly different ways, but the root cause is the same. This appears to be a Wikibase bug, it is not converting BCP 47 codes to mediawiki-internal codes appropriately.

Unfortunately, no referrer field is present in either log entry.

In the past seven days only 32 hits for BadMethodCallException (most of which are not this bug). 41 hits for the exception in LanguageSr, though, most of which are this bug. So not super-high frequency. I'll figure out root cause and write a patch.


TASK DETAIL
https://phabricator.wikimedia.org/T207433

EMAIL PREFERENCES
https://phabricator.wikimedia.org/settings/panel/emailpreferences/

To: cscott
Cc: Nikerabbit, cscott, Aklapper, Fomafix, Nandana, Lahi, Gq86, GoranSMilovanovic, QZanden, LawExplorer, Wikidata-bugs, aude, Jdforrester-WMF, Mbch331, Jay8g, Krenair
_______________________________________________
Wikidata-bugs mailing list
Wikidata-bugs@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikidata-bugs

Reply via email to