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.
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