Page MenuHomePhabricator

PHP Notice: Undefined index: mwf247
Closed, ResolvedPublicPRODUCTION ERROR

Description

Error
normalized_message
[{reqId}] {exception_url}   PHP Notice: Undefined index: mwf247
exception.trace
from /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Config/Env.php(836)
#0 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Config/Env.php(836): MWExceptionHandler::handleError(integer, string, string, integer, array)
#1 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Wt2Html/PP/Handlers/UnpackDOMFragments.php(177): Wikimedia\Parsoid\Config\Env->getDOMFragment(string)
#2 [internal function]: Wikimedia\Parsoid\Wt2Html\PP\Handlers\UnpackDOMFragments::handler(Wikimedia\Parsoid\DOM\Element, Wikimedia\Parsoid\Config\Env, array, boolean, NULL)
#3 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Utils/DOMTraverser.php(80): call_user_func(array, Wikimedia\Parsoid\DOM\Element, Wikimedia\Parsoid\Config\Env, array, boolean, NULL)
#4 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Utils/DOMTraverser.php(152): Wikimedia\Parsoid\Utils\DOMTraverser->callHandlers(Wikimedia\Parsoid\DOM\Element, Wikimedia\Parsoid\Config\Env, array, boolean, NULL)
#5 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Utils/DOMTraverser.php(167): Wikimedia\Parsoid\Utils\DOMTraverser->traverse(Wikimedia\Parsoid\Config\Env, Wikimedia\Parsoid\DOM\Element, array, boolean, NULL)
#6 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Utils/DOMTraverser.php(167): Wikimedia\Parsoid\Utils\DOMTraverser->traverse(Wikimedia\Parsoid\Config\Env, Wikimedia\Parsoid\DOM\Element, array, boolean, NULL)
#7 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Utils/DOMTraverser.php(167): Wikimedia\Parsoid\Utils\DOMTraverser->traverse(Wikimedia\Parsoid\Config\Env, Wikimedia\Parsoid\DOM\Element, array, boolean, NULL)
#8 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Wt2Html/DOMPostProcessor.php(151): Wikimedia\Parsoid\Utils\DOMTraverser->traverse(Wikimedia\Parsoid\Config\Env, Wikimedia\Parsoid\DOM\DocumentFragment, array, boolean, NULL)
#9 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Wt2Html/DOMPostProcessor.php(985): Wikimedia\Parsoid\Wt2Html\DOMPostProcessor->Wikimedia\Parsoid\Wt2Html\{closure}(Wikimedia\Parsoid\DOM\DocumentFragment, array, boolean)
#10 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Wt2Html/DOMPostProcessor.php(1026): Wikimedia\Parsoid\Wt2Html\DOMPostProcessor->doPostProcess(Wikimedia\Parsoid\DOM\DocumentFragment)
#11 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Wt2Html/ParserPipeline.php(140): Wikimedia\Parsoid\Wt2Html\DOMPostProcessor->process(Wikimedia\Parsoid\DOM\DocumentFragment, array)
#12 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Utils/PipelineUtils.php(105): Wikimedia\Parsoid\Wt2Html\ParserPipeline->parse(array, array)
#13 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Utils/PipelineUtils.php(146): Wikimedia\Parsoid\Utils\PipelineUtils::processContentInPipeline(Wikimedia\Parsoid\Config\Env, Wikimedia\Parsoid\Wt2Html\Frame, array, array)
#14 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Utils/PipelineUtils.php(184): Wikimedia\Parsoid\Utils\PipelineUtils::expandValueToDOM(Wikimedia\Parsoid\Config\Env, Wikimedia\Parsoid\Wt2Html\Frame, array, boolean, boolean)
#15 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Wt2Html/TT/AttributeExpander.php(579): Wikimedia\Parsoid\Utils\PipelineUtils::expandValuesToDOM(Wikimedia\Parsoid\Config\Env, Wikimedia\Parsoid\Wt2Html\Frame, array, boolean, boolean)
#16 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Wt2Html/TT/AttributeExpander.php(626): Wikimedia\Parsoid\Wt2Html\TT\AttributeExpander->buildExpandedAttrs(Wikimedia\Parsoid\Tokens\SelfclosingTagTk, array)
#17 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Wt2Html/TT/AttributeExpander.php(681): Wikimedia\Parsoid\Wt2Html\TT\AttributeExpander->processComplexAttributes(Wikimedia\Parsoid\Tokens\SelfclosingTagTk)
#18 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Wt2Html/TT/TokenHandler.php(159): Wikimedia\Parsoid\Wt2Html\TT\AttributeExpander->onAny(Wikimedia\Parsoid\Tokens\SelfclosingTagTk)
#19 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Wt2Html/TokenTransformManager.php(132): Wikimedia\Parsoid\Wt2Html\TT\TokenHandler->process(array)
#20 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Wt2Html/TokenTransformManager.php(185): Wikimedia\Parsoid\Wt2Html\TokenTransformManager->processChunk(array)
#21 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Wt2Html/ParserPipeline.php(140): Wikimedia\Parsoid\Wt2Html\TokenTransformManager->process(array, array)
#22 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Utils/PipelineUtils.php(105): Wikimedia\Parsoid\Wt2Html\ParserPipeline->parse(string, array)
#23 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Wt2Html/TT/TemplateHandler.php(553): Wikimedia\Parsoid\Utils\PipelineUtils::processContentInPipeline(Wikimedia\Parsoid\Config\Env, Wikimedia\Parsoid\Wt2Html\Frame, string, array)
#24 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Wt2Html/TT/TemplateHandler.php(1105): Wikimedia\Parsoid\Wt2Html\TT\TemplateHandler->processTemplateSource(array, array, string)
#25 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Wt2Html/TT/TemplateHandler.php(1160): Wikimedia\Parsoid\Wt2Html\TT\TemplateHandler->onTemplate(Wikimedia\Parsoid\Tokens\SelfclosingTagTk)
#26 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Wt2Html/TT/TokenHandler.php(150): Wikimedia\Parsoid\Wt2Html\TT\TemplateHandler->onTag(Wikimedia\Parsoid\Tokens\SelfclosingTagTk)
#27 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Wt2Html/TokenTransformManager.php(132): Wikimedia\Parsoid\Wt2Html\TT\TokenHandler->process(array)
#28 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Wt2Html/TokenTransformManager.php(185): Wikimedia\Parsoid\Wt2Html\TokenTransformManager->processChunk(array)
#29 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Wt2Html/ParserPipeline.php(140): Wikimedia\Parsoid\Wt2Html\TokenTransformManager->process(array, array)
#30 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Utils/PipelineUtils.php(105): Wikimedia\Parsoid\Wt2Html\ParserPipeline->parse(array, array)
#31 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Wt2Html/Frame.php(141): Wikimedia\Parsoid\Utils\PipelineUtils::processContentInPipeline(Wikimedia\Parsoid\Config\Env, Wikimedia\Parsoid\Wt2Html\Frame, array, array)
#32 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Wt2Html/TT/AttributeTransformManager.php(71): Wikimedia\Parsoid\Wt2Html\Frame->expand(array, array)
#33 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Wt2Html/TT/AttributeExpander.php(626): Wikimedia\Parsoid\Wt2Html\TT\AttributeTransformManager->process(array)
#34 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Wt2Html/TT/TemplateHandler.php(982): Wikimedia\Parsoid\Wt2Html\TT\AttributeExpander->processComplexAttributes(Wikimedia\Parsoid\Tokens\SelfclosingTagTk)
#35 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Wt2Html/TT/TemplateHandler.php(1160): Wikimedia\Parsoid\Wt2Html\TT\TemplateHandler->onTemplate(Wikimedia\Parsoid\Tokens\SelfclosingTagTk)
#36 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Wt2Html/TT/TokenHandler.php(150): Wikimedia\Parsoid\Wt2Html\TT\TemplateHandler->onTag(Wikimedia\Parsoid\Tokens\SelfclosingTagTk)
#37 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Wt2Html/TokenTransformManager.php(132): Wikimedia\Parsoid\Wt2Html\TT\TokenHandler->process(array)
#38 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Wt2Html/TokenTransformManager.php(185): Wikimedia\Parsoid\Wt2Html\TokenTransformManager->processChunk(array)
#39 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Wt2Html/ParserPipeline.php(140): Wikimedia\Parsoid\Wt2Html\TokenTransformManager->process(array, array)
#40 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Utils/PipelineUtils.php(105): Wikimedia\Parsoid\Wt2Html\ParserPipeline->parse(array, array)
#41 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Wt2Html/Frame.php(141): Wikimedia\Parsoid\Utils\PipelineUtils::processContentInPipeline(Wikimedia\Parsoid\Config\Env, Wikimedia\Parsoid\Wt2Html\PageConfigFrame, array, array)
#42 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Wt2Html/TT/AttributeTransformManager.php(71): Wikimedia\Parsoid\Wt2Html\Frame->expand(array, array)
#43 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Wt2Html/TT/AttributeExpander.php(626): Wikimedia\Parsoid\Wt2Html\TT\AttributeTransformManager->process(array)
#44 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Wt2Html/TT/TemplateHandler.php(982): Wikimedia\Parsoid\Wt2Html\TT\AttributeExpander->processComplexAttributes(Wikimedia\Parsoid\Tokens\SelfclosingTagTk)
#45 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Wt2Html/TT/TemplateHandler.php(1160): Wikimedia\Parsoid\Wt2Html\TT\TemplateHandler->onTemplate(Wikimedia\Parsoid\Tokens\SelfclosingTagTk)
#46 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Wt2Html/TT/TokenHandler.php(150): Wikimedia\Parsoid\Wt2Html\TT\TemplateHandler->onTag(Wikimedia\Parsoid\Tokens\SelfclosingTagTk)
#47 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Wt2Html/TokenTransformManager.php(132): Wikimedia\Parsoid\Wt2Html\TT\TokenHandler->process(array)
#48 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Wt2Html/TokenTransformManager.php(195): Wikimedia\Parsoid\Wt2Html\TokenTransformManager->processChunk(array)
#49 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Wt2Html/TokenTransformManager.php(193): Wikimedia\Parsoid\Wt2Html\TokenTransformManager->processChunkily(string, array)
#50 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Wt2Html/TreeBuilder/TreeBuilderStage.php(487): Wikimedia\Parsoid\Wt2Html\TokenTransformManager->processChunkily(string, array)
#51 [internal function]: Wikimedia\Parsoid\Wt2Html\TreeBuilder\TreeBuilderStage->processChunkily(string, array)
#52 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Wt2Html/DOMPostProcessor.php(1040): Generator->current()
#53 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Wt2Html/ParserPipeline.php(180): Wikimedia\Parsoid\Wt2Html\DOMPostProcessor->processChunkily(string, array)
#54 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Wt2Html/ParserPipelineFactory.php(308): Wikimedia\Parsoid\Wt2Html\ParserPipeline->parseChunkily(string, array)
#55 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Wikitext/ContentModelHandler.php(122): Wikimedia\Parsoid\Wt2Html\ParserPipelineFactory->parse(string)
#56 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Parsoid.php(168): Wikimedia\Parsoid\Wikitext\ContentModelHandler->toDOM(Wikimedia\Parsoid\Ext\ParsoidExtensionAPI)
#57 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/src/Parsoid.php(200): Wikimedia\Parsoid\Parsoid->parseWikitext(MWParsoid\Config\PageConfig, array)
#58 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/extension/src/Rest/Handler/ParsoidHandler.php(584): Wikimedia\Parsoid\Parsoid->wikitext2html(MWParsoid\Config\PageConfig, array, NULL)
#59 /srv/mediawiki/php-1.38.0-wmf.22/vendor/wikimedia/parsoid/extension/src/Rest/Handler/PageHandler.php(88): MWParsoid\Rest\Handler\ParsoidHandler->wt2html(MWParsoid\Config\PageConfig, array)
#60 /srv/mediawiki/php-1.38.0-wmf.22/includes/Rest/Router.php(414): MWParsoid\Rest\Handler\PageHandler->execute()
#61 /srv/mediawiki/php-1.38.0-wmf.22/includes/Rest/Router.php(338): MediaWiki\Rest\Router->executeHandler(MWParsoid\Rest\Handler\PageHandler)
#62 /srv/mediawiki/php-1.38.0-wmf.22/includes/Rest/EntryPoint.php(167): MediaWiki\Rest\Router->execute(MediaWiki\Rest\RequestFromGlobals)
#63 /srv/mediawiki/php-1.38.0-wmf.22/includes/Rest/EntryPoint.php(132): MediaWiki\Rest\EntryPoint->execute()
#64 /srv/mediawiki/php-1.38.0-wmf.22/rest.php(31): MediaWiki\Rest\EntryPoint::main()
#65 /srv/mediawiki/w/rest.php(3): require(string)
#66 {main}
Impact
Notes

Seems similar to T300393, which has since been closed.

Details

Request URL
https://simple.wikipedia.org/w/rest.php/simple.wikipedia.org/v3/page/pagebundle/Template%3ARail-interchange/8035424

Event Timeline

It turns that my patch https://gerrit.wikimedia.org/r/c/mediawiki/services/parsoid/+/759621 also causes this error in addition to T301948 which @ihurbain is currently already investigating. The root cause of that is also causing this.

That patch was supposed to be innocuous since I/we thought those attribs aren't really used, but I suppose they do get used downstream somewhere. An easy stop-gap bandaid is to revert my patch and continue the investigation separately.

Change 763796 had a related patch set uploaded (by Subramanya Sastry; author: Subramanya Sastry):

[mediawiki/services/parsoid@master] Revert part of 55da3090: Setting up template args exposes other bugs

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

Without the revert above, this bug can be reproduced on this snippet:

{|
|{{#switch:{{#expr:{{random|1|{{{num| {{#if: {{{32|}}} | 32 | {{#if: {{{24|}}} | 24 | {{#if: {{{16|}}} | 16 | {{#if: {{{8|}}} | 8 | {{#if: {{{4|}}} | 4 | {{#if: {{{2|}}} | 2 | 1 }} }} }} }} }} }} }}} }} + 1}}
|1= {{ubxdisplay|{{{1}}}|}}
}}
|}

Change 763796 merged by jenkins-bot:

[mediawiki/services/parsoid@master] Revert part of 55da3090: Setting up template args exposes other bugs

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

Change 763813 had a related patch set uploaded (by Subramanya Sastry; author: Subramanya Sastry):

[mediawiki/vendor@master] Bump wikimedia/parsoid to 0.15.0-a21

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

Change 763813 merged by jenkins-bot:

[mediawiki/vendor@master] Bump wikimedia/parsoid to 0.15.0-a21

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