Page MenuHomePhabricator

Unresolved redirect in Wikibase LUA code, in v3/page/pagebundle
Closed, ResolvedPublic

Description

In the last 90 days we have observed the following redirect exceptions in logstash. These excpetions originate from lua code, as the stack trace includes Scribunto errors. These errors impact some internal API calls made by

Required setup:

  • Mediawiki with parsoid enabled and Scribunto installed

Acceptence Criteria:

  • The redirect error no longer occurs

Another one:

Unresolved redirect from Q104821940 to Q56305763
/w/rest.php/en.wikipedia.org/v3/page/pagebundle/Template%3AISO_15924%2Fqid/1003335501
Wikibase\DataModel\Services\Lookup\UnresolvedEntityRedirectException: Unresolved redirect from Q104821940 to Q56305763
from /srv/mediawiki/php-1.36.0-wmf.27/extensions/Wikibase/lib/includes/Store/RevisionBasedEntityLookup.php(81)
#0 /srv/mediawiki/php-1.36.0-wmf.27/extensions/Wikibase/lib/includes/Store/LatestRevisionIdResult.php(157): Wikibase\Lib\Store\RevisionBasedEntityLookup->Wikibase\Lib\Store\{closure}(integer, Wikibase\DataModel\Entity\ItemId)
#1 /srv/mediawiki/php-1.36.0-wmf.27/extensions/Wikibase/lib/includes/Store/RevisionBasedEntityLookup.php(83): Wikibase\Lib\Store\LatestRevisionIdResult->map()
#2 /srv/mediawiki/php-1.36.0-wmf.27/vendor/wikibase/data-model-services/src/Lookup/RedirectResolvingEntityLookup.php(72): Wikibase\Lib\Store\RevisionBasedEntityLookup->hasEntity(Wikibase\DataModel\Entity\ItemId)
#3 /srv/mediawiki/php-1.36.0-wmf.27/vendor/wikibase/data-model-services/src/Lookup/DisabledEntityTypesEntityLookup.php(69): Wikibase\DataModel\Services\Lookup\RedirectResolvingEntityLookup->hasEntity(Wikibase\DataModel\Entity\ItemId)
#4 /srv/mediawiki/php-1.36.0-wmf.27/vendor/wikibase/data-model-services/src/Lookup/RestrictedEntityLookup.php(93): Wikibase\DataModel\Services\Lookup\DisabledEntityTypesEntityLookup->hasEntity(Wikibase\DataModel\Entity\ItemId)
#5 /srv/mediawiki/php-1.36.0-wmf.27/extensions/Wikibase/client/includes/DataAccess/Scribunto/EntityAccessor.php(193): Wikibase\DataModel\Services\Lookup\RestrictedEntityLookup->hasEntity(Wikibase\DataModel\Entity\ItemId)
#6 /srv/mediawiki/php-1.36.0-wmf.27/extensions/Wikibase/client/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseLibrary.php(508): Wikibase\Client\DataAccess\Scribunto\EntityAccessor->entityExists(string)
#7 /srv/mediawiki/php-1.36.0-wmf.27/extensions/Scribunto/includes/engines/LuaSandbox/LuaSandboxCallback.php(26): Wikibase\Client\DataAccess\Scribunto\Scribunto_LuaWikibaseLibrary->entityExists(string)
#8 [internal function]: Scribunto_LuaSandboxCallback->__call(string, array)
#9 /srv/mediawiki/php-1.36.0-wmf.27/extensions/Scribunto/includes/engines/LuaSandbox/LuaSandboxInterpreter.php(113): LuaSandboxFunction->call(LuaSandboxFunction)
#10 /srv/mediawiki/php-1.36.0-wmf.27/extensions/Scribunto/includes/engines/LuaCommon/LuaEngine.php(296): Scribunto_LuaSandboxInterpreter->callFunction(LuaSandboxFunction, LuaSandboxFunction)
#11 /srv/mediawiki/php-1.36.0-wmf.27/extensions/Scribunto/includes/engines/LuaCommon/LuaModule.php(68): Scribunto_LuaEngine->executeFunctionChunk(LuaSandboxFunction, PPTemplateFrame_Hash)
#12 /srv/mediawiki/php-1.36.0-wmf.27/extensions/Scribunto/includes/common/Hooks.php(128): Scribunto_LuaModule->invoke(string, PPTemplateFrame_Hash)
#13 /srv/mediawiki/php-1.36.0-wmf.27/includes/parser/Parser.php(3358): ScribuntoHooks::invokeHook(Parser, PPTemplateFrame_Hash, array)
#14 /srv/mediawiki/php-1.36.0-wmf.27/includes/parser/Parser.php(3043): Parser->callParserFunction(PPTemplateFrame_Hash, string, array)
#15 /srv/mediawiki/php-1.36.0-wmf.27/includes/parser/PPFrame_Hash.php(255): Parser->braceSubstitution(array, PPTemplateFrame_Hash)
#16 /srv/mediawiki/php-1.36.0-wmf.27/includes/parser/Parser.php(3232): PPFrame_Hash->expand(PPNode_Hash_Tree)
#17 /srv/mediawiki/php-1.36.0-wmf.27/includes/parser/PPFrame_Hash.php(255): Parser->braceSubstitution(array, PPTemplateFrame_Hash)
#18 /srv/mediawiki/php-1.36.0-wmf.27/includes/parser/Parser.php(3232): PPFrame_Hash->expand(PPNode_Hash_Tree)
#19 /srv/mediawiki/php-1.36.0-wmf.27/includes/parser/PPFrame_Hash.php(255): Parser->braceSubstitution(array, PPTemplateFrame_Hash)
#20 /srv/mediawiki/php-1.36.0-wmf.27/includes/parser/Parser.php(3232): PPFrame_Hash->expand(PPNode_Hash_Tree)
#21 /srv/mediawiki/php-1.36.0-wmf.27/includes/parser/PPFrame_Hash.php(255): Parser->braceSubstitution(array, PPTemplateFrame_Hash)
#22 /srv/mediawiki/php-1.36.0-wmf.27/includes/parser/PPTemplateFrame_Hash.php(90): PPFrame_Hash->expand(PPNode_Hash_Tree, integer)
#23 /srv/mediawiki/php-1.36.0-wmf.27/includes/parser/Parser.php(3229): PPTemplateFrame_Hash->cachedExpand(string, PPNode_Hash_Tree)
#24 /srv/mediawiki/php-1.36.0-wmf.27/includes/parser/PPFrame_Hash.php(255): Parser->braceSubstitution(array, PPTemplateFrame_Hash)
#25 /srv/mediawiki/php-1.36.0-wmf.27/includes/parser/PPTemplateFrame_Hash.php(90): PPFrame_Hash->expand(PPNode_Hash_Tree, integer)
#26 /srv/mediawiki/php-1.36.0-wmf.27/includes/parser/Parser.php(3229): PPTemplateFrame_Hash->cachedExpand(string, PPNode_Hash_Tree)
#27 /srv/mediawiki/php-1.36.0-wmf.27/includes/parser/PPFrame_Hash.php(255): Parser->braceSubstitution(array, PPTemplateFrame_Hash)
#28 /srv/mediawiki/php-1.36.0-wmf.27/includes/parser/PPTemplateFrame_Hash.php(171): PPFrame_Hash->expand(PPNode_Hash_Tree, integer)
#29 /srv/mediawiki/php-1.36.0-wmf.27/includes/parser/PPTemplateFrame_Hash.php(183): PPTemplateFrame_Hash->getNamedArgument(string)
#30 /srv/mediawiki/php-1.36.0-wmf.27/extensions/Scribunto/includes/engines/LuaCommon/LuaEngine.php(679): PPTemplateFrame_Hash->getArgument(string)
#31 /srv/mediawiki/php-1.36.0-wmf.27/extensions/Scribunto/includes/engines/LuaSandbox/LuaSandboxCallback.php(26): Scribunto_LuaEngine->getExpandedArgument(string, string)
#32 [internal function]: Scribunto_LuaSandboxCallback->__call(string, array)
#33 /srv/mediawiki/php-1.36.0-wmf.27/extensions/Scribunto/includes/engines/LuaSandbox/LuaSandboxInterpreter.php(113): LuaSandboxFunction->call(LuaSandboxFunction)
#34 /srv/mediawiki/php-1.36.0-wmf.27/extensions/Scribunto/includes/engines/LuaCommon/LuaEngine.php(296): Scribunto_LuaSandboxInterpreter->callFunction(LuaSandboxFunction, LuaSandboxFunction)
#35 /srv/mediawiki/php-1.36.0-wmf.27/extensions/Scribunto/includes/engines/LuaCommon/LuaModule.php(68): Scribunto_LuaEngine->executeFunctionChunk(LuaSandboxFunction, PPTemplateFrame_Hash)
#36 /srv/mediawiki/php-1.36.0-wmf.27/extensions/Scribunto/includes/common/Hooks.php(128): Scribunto_LuaModule->invoke(string, PPTemplateFrame_Hash)
#37 /srv/mediawiki/php-1.36.0-wmf.27/includes/parser/Parser.php(3358): ScribuntoHooks::invokeHook(Parser, PPTemplateFrame_Hash, array)
#38 /srv/mediawiki/php-1.36.0-wmf.27/includes/parser/Parser.php(3043): Parser->callParserFunction(PPTemplateFrame_Hash, string, array)
#39 /srv/mediawiki/php-1.36.0-wmf.27/includes/parser/PPFrame_Hash.php(255): Parser->braceSubstitution(array, PPTemplateFrame_Hash)
#40 /srv/mediawiki/php-1.36.0-wmf.27/includes/parser/PPTemplateFrame_Hash.php(90): PPFrame_Hash->expand(PPNode_Hash_Tree, integer)
#41 /srv/mediawiki/php-1.36.0-wmf.27/includes/parser/Parser.php(3229): PPTemplateFrame_Hash->cachedExpand(string, PPNode_Hash_Tree)
#42 /srv/mediawiki/php-1.36.0-wmf.27/includes/parser/PPFrame_Hash.php(255): Parser->braceSubstitution(array, PPFrame_Hash)
#43 /srv/mediawiki/php-1.36.0-wmf.27/includes/parser/Parser.php(2881): PPFrame_Hash->expand(PPNode_Hash_Tree, integer)
#44 /srv/mediawiki/php-1.36.0-wmf.27/vendor/wikimedia/parsoid/extension/src/Config/DataAccess.php(295): Parser->replaceVariables(string)
#45 /srv/mediawiki/php-1.36.0-wmf.27/vendor/wikimedia/parsoid/src/Wt2Html/TT/TemplateHandler.php(1168): MWParsoid\Config\DataAccess->preprocessWikitext(MWParsoid\Config\PageConfig, string)
#46 /srv/mediawiki/php-1.36.0-wmf.27/vendor/wikimedia/parsoid/src/Wt2Html/TT/TemplateHandler.php(1514): Wikimedia\Parsoid\Wt2Html\TT\TemplateHandler->fetchExpandedTpl(string)
#47 /srv/mediawiki/php-1.36.0-wmf.27/vendor/wikimedia/parsoid/src/Wt2Html/TT/TemplateHandler.php(1577): Wikimedia\Parsoid\Wt2Html\TT\TemplateHandler->onTemplate(Wikimedia\Parsoid\Tokens\SelfclosingTagTk)
#48 /srv/mediawiki/php-1.36.0-wmf.27/vendor/wikimedia/parsoid/src/Wt2Html/TT/TokenHandler.php(202): Wikimedia\Parsoid\Wt2Html\TT\TemplateHandler->onTag(Wikimedia\Parsoid\Tokens\SelfclosingTagTk)
#49 /srv/mediawiki/php-1.36.0-wmf.27/vendor/wikimedia/parsoid/src/Wt2Html/TokenTransformManager.php(123): Wikimedia\Parsoid\Wt2Html\TT\TokenHandler->process(array)
#50 /srv/mediawiki/php-1.36.0-wmf.27/vendor/wikimedia/parsoid/src/Wt2Html/TokenTransformManager.php(195): Wikimedia\Parsoid\Wt2Html\TokenTransformManager->processChunk(array)
#51 /srv/mediawiki/php-1.36.0-wmf.27/vendor/wikimedia/parsoid/src/Wt2Html/TokenTransformManager.php(193): Wikimedia\Parsoid\Wt2Html\TokenTransformManager->processChunkily(string, array)
#52 /srv/mediawiki/php-1.36.0-wmf.27/vendor/wikimedia/parsoid/src/Wt2Html/HTML5TreeBuilder.php(417): Wikimedia\Parsoid\Wt2Html\TokenTransformManager->processChunkily(string, array)
#53 [internal function]: Wikimedia\Parsoid\Wt2Html\HTML5TreeBuilder->processChunkily(string, array)
#54 /srv/mediawiki/php-1.36.0-wmf.27/vendor/wikimedia/parsoid/src/Wt2Html/DOMPostProcessor.php(920): Generator->current()
#55 /srv/mediawiki/php-1.36.0-wmf.27/vendor/wikimedia/parsoid/src/Wt2Html/ParserPipeline.php(174): Wikimedia\Parsoid\Wt2Html\DOMPostProcessor->processChunkily(string, array)
#56 /srv/mediawiki/php-1.36.0-wmf.27/vendor/wikimedia/parsoid/src/Wt2Html/ParserPipeline.php(235): Wikimedia\Parsoid\Wt2Html\ParserPipeline->parseChunkily(string, array)
#57 /srv/mediawiki/php-1.36.0-wmf.27/vendor/wikimedia/parsoid/src/Wt2Html/ParserPipelineFactory.php(299): Wikimedia\Parsoid\Wt2Html\ParserPipeline->parseToplevelDoc(string, array)
#58 /srv/mediawiki/php-1.36.0-wmf.27/vendor/wikimedia/parsoid/src/Core/WikitextContentModelHandler.php(106): Wikimedia\Parsoid\Wt2Html\ParserPipelineFactory->parse(string)
#59 /srv/mediawiki/php-1.36.0-wmf.27/vendor/wikimedia/parsoid/src/Parsoid.php(162): Wikimedia\Parsoid\Core\WikitextContentModelHandler->toDOM(Wikimedia\Parsoid\Config\Env)
#60 /srv/mediawiki/php-1.36.0-wmf.27/vendor/wikimedia/parsoid/src/Parsoid.php(194): Wikimedia\Parsoid\Parsoid->parseWikitext(MWParsoid\Config\PageConfig, array)
#61 /srv/mediawiki/php-1.36.0-wmf.27/vendor/wikimedia/parsoid/extension/src/Rest/Handler/ParsoidHandler.php(589): Wikimedia\Parsoid\Parsoid->wikitext2html(MWParsoid\Config\PageConfig, array, NULL)
#62 /srv/mediawiki/php-1.36.0-wmf.27/vendor/wikimedia/parsoid/extension/src/Rest/Handler/PageHandler.php(88): MWParsoid\Rest\Handler\ParsoidHandler->wt2html(MWParsoid\Config\PageConfig, array)
#63 /srv/mediawiki/php-1.36.0-wmf.27/includes/Rest/Router.php(389): MWParsoid\Rest\Handler\PageHandler->execute()
#64 /srv/mediawiki/php-1.36.0-wmf.27/includes/Rest/Router.php(316): MediaWiki\Rest\Router->executeHandler(MWParsoid\Rest\Handler\PageHandler)
#65 /srv/mediawiki/php-1.36.0-wmf.27/includes/Rest/EntryPoint.php(152): MediaWiki\Rest\Router->execute(MediaWiki\Rest\RequestFromGlobals)
#66 /srv/mediawiki/php-1.36.0-wmf.27/includes/Rest/EntryPoint.php(117): MediaWiki\Rest\EntryPoint->execute()
#67 /srv/mediawiki/php-1.36.0-wmf.27/rest.php(31): MediaWiki\Rest\EntryPoint::main()
#68 /srv/mediawiki/w/rest.php(3): require(string)
#69 {main}

Event Timeline

@hashar Do you see any more occurrences of this in logstash?
I couldn't find any, or the original.
This is perhaps fixed by T157868: Lua functions do not resolve redirects

Addshore claimed this task.

Resolving unless we see this specifically again (See T157868)