Page MenuHomePhabricator

Wikimedia\Parsoid\Utils\TitleException: Invalid characters in title "Special:ParserFunction/REDIRECT [[]]"
Closed, ResolvedPublicPRODUCTION ERROR

Description

Error
normalized_message
[{reqId}] {exception_url}   Wikimedia\Parsoid\Utils\TitleException: Invalid characters in title "Special:ParserFunction/REDIRECT [[]]"
exception.trace
from /srv/mediawiki/php-1.40.0-wmf.26/vendor/wikimedia/parsoid/src/Utils/Title.php(145)
#0 /srv/mediawiki/php-1.40.0-wmf.26/vendor/wikimedia/parsoid/src/Config/Env.php(672): Wikimedia\Parsoid\Utils\Title::newFromText(string, MediaWiki\Parser\Parsoid\Config\SiteConfig, integer)
#1 /srv/mediawiki/php-1.40.0-wmf.26/vendor/wikimedia/parsoid/src/Config/Env.php(706): Wikimedia\Parsoid\Config\Env->makeTitle(string, integer, boolean)
#2 /srv/mediawiki/php-1.40.0-wmf.26/vendor/wikimedia/parsoid/src/Wt2Html/TT/TemplateHandler.php(353): Wikimedia\Parsoid\Config\Env->makeTitleFromURLDecodedStr(string)
#3 /srv/mediawiki/php-1.40.0-wmf.26/vendor/wikimedia/parsoid/src/Wt2Html/TT/TemplateHandler.php(1029): Wikimedia\Parsoid\Wt2Html\TT\TemplateHandler->resolveTemplateTarget(Wikimedia\Parsoid\Wt2Html\TT\TemplateEncapsulator, string, Wikimedia\Parsoid\Tokens\SourceRange)
#4 /srv/mediawiki/php-1.40.0-wmf.26/vendor/wikimedia/parsoid/src/Wt2Html/TT/TemplateHandler.php(1151): Wikimedia\Parsoid\Wt2Html\TT\TemplateHandler->expandTemplate(Wikimedia\Parsoid\Wt2Html\TT\TemplateEncapsulator)
#5 /srv/mediawiki/php-1.40.0-wmf.26/vendor/wikimedia/parsoid/src/Wt2Html/TT/TemplateHandler.php(1196): Wikimedia\Parsoid\Wt2Html\TT\TemplateHandler->onTemplate(Wikimedia\Parsoid\Tokens\SelfclosingTagTk)
#6 /srv/mediawiki/php-1.40.0-wmf.26/vendor/wikimedia/parsoid/src/Wt2Html/TT/TokenHandler.php(150): Wikimedia\Parsoid\Wt2Html\TT\TemplateHandler->onTag(Wikimedia\Parsoid\Tokens\SelfclosingTagTk)
#7 /srv/mediawiki/php-1.40.0-wmf.26/vendor/wikimedia/parsoid/src/Wt2Html/TokenTransformManager.php(132): Wikimedia\Parsoid\Wt2Html\TT\TokenHandler->process(array)
#8 /srv/mediawiki/php-1.40.0-wmf.26/vendor/wikimedia/parsoid/src/Wt2Html/TokenTransformManager.php(195): Wikimedia\Parsoid\Wt2Html\TokenTransformManager->processChunk(array)
#9 /srv/mediawiki/php-1.40.0-wmf.26/vendor/wikimedia/parsoid/src/Wt2Html/TokenTransformManager.php(193): Wikimedia\Parsoid\Wt2Html\TokenTransformManager->processChunkily(string, array)
#10 /srv/mediawiki/php-1.40.0-wmf.26/vendor/wikimedia/parsoid/src/Wt2Html/TreeBuilder/TreeBuilderStage.php(497): Wikimedia\Parsoid\Wt2Html\TokenTransformManager->processChunkily(string, array)
#11 [internal function]: Wikimedia\Parsoid\Wt2Html\TreeBuilder\TreeBuilderStage->processChunkily(string, array)
#12 /srv/mediawiki/php-1.40.0-wmf.26/vendor/wikimedia/parsoid/src/Wt2Html/DOMPostProcessor.php(923): Generator->current()
#13 /srv/mediawiki/php-1.40.0-wmf.26/vendor/wikimedia/parsoid/src/Wt2Html/ParserPipeline.php(180): Wikimedia\Parsoid\Wt2Html\DOMPostProcessor->processChunkily(string, array)
#14 /srv/mediawiki/php-1.40.0-wmf.26/vendor/wikimedia/parsoid/src/Wt2Html/ParserPipelineFactory.php(299): Wikimedia\Parsoid\Wt2Html\ParserPipeline->parseChunkily(string, array)
#15 /srv/mediawiki/php-1.40.0-wmf.26/vendor/wikimedia/parsoid/src/Wikitext/ContentModelHandler.php(128): Wikimedia\Parsoid\Wt2Html\ParserPipelineFactory->parse(string)
#16 /srv/mediawiki/php-1.40.0-wmf.26/vendor/wikimedia/parsoid/src/Parsoid.php(174): Wikimedia\Parsoid\Wikitext\ContentModelHandler->toDOM(Wikimedia\Parsoid\Ext\ParsoidExtensionAPI)
#17 /srv/mediawiki/php-1.40.0-wmf.26/vendor/wikimedia/parsoid/src/Parsoid.php(216): Wikimedia\Parsoid\Parsoid->parseWikitext(MediaWiki\Parser\Parsoid\Config\PageConfig, Wikimedia\Parsoid\Config\StubMetadataCollector, array)
#18 /srv/mediawiki/php-1.40.0-wmf.26/includes/parser/Parsoid/ParsoidOutputAccess.php(298): Wikimedia\Parsoid\Parsoid->wikitext2html(MediaWiki\Parser\Parsoid\Config\PageConfig, array)
#19 /srv/mediawiki/php-1.40.0-wmf.26/includes/parser/Parsoid/ParsoidOutputAccess.php(463): MediaWiki\Parser\Parsoid\ParsoidOutputAccess->parseInternal(MediaWiki\Parser\Parsoid\Config\PageConfig, array)
#20 /srv/mediawiki/php-1.40.0-wmf.26/includes/parser/Parsoid/ParsoidOutputAccess.php(244): MediaWiki\Parser\Parsoid\ParsoidOutputAccess->parse(MediaWiki\Page\PageStoreRecord, ParserOptions, array, MediaWiki\Revision\RevisionStoreRecord)
#21 /srv/mediawiki/php-1.40.0-wmf.26/includes/Rest/Handler/Helper/HtmlOutputRendererHelper.php(689): MediaWiki\Parser\Parsoid\ParsoidOutputAccess->getParserOutput(MediaWiki\Page\PageStoreRecord, ParserOptions, MediaWiki\Revision\RevisionStoreRecord, integer)
#22 /srv/mediawiki/php-1.40.0-wmf.26/includes/Rest/Handler/Helper/HtmlOutputRendererHelper.php(519): MediaWiki\Rest\Handler\Helper\HtmlOutputRendererHelper->getParserOutputInternal(ParserOptions)
#23 /srv/mediawiki/php-1.40.0-wmf.26/includes/Rest/Handler/Helper/HtmlOutputRendererHelper.php(612): MediaWiki\Rest\Handler\Helper\HtmlOutputRendererHelper->getParserOutput()
#24 /srv/mediawiki/php-1.40.0-wmf.26/includes/Rest/Handler/ParsoidHandler.php(870): MediaWiki\Rest\Handler\Helper\HtmlOutputRendererHelper->getPageBundle()
#25 /srv/mediawiki/php-1.40.0-wmf.26/vendor/wikimedia/parsoid/extension/src/Rest/Handler/PageHandler.php(92): MediaWiki\Rest\Handler\ParsoidHandler->wt2html(MediaWiki\Parser\Parsoid\Config\PageConfig, array)
#26 /srv/mediawiki/php-1.40.0-wmf.26/includes/Rest/Router.php(515): MWParsoid\Rest\Handler\PageHandler->execute()
#27 /srv/mediawiki/php-1.40.0-wmf.26/includes/Rest/Router.php(421): MediaWiki\Rest\Router->executeHandler(MWParsoid\Rest\Handler\PageHandler)
#28 /srv/mediawiki/php-1.40.0-wmf.26/includes/Rest/EntryPoint.php(195): MediaWiki\Rest\Router->execute(MediaWiki\Rest\RequestFromGlobals)
#29 /srv/mediawiki/php-1.40.0-wmf.26/includes/Rest/EntryPoint.php(135): MediaWiki\Rest\EntryPoint->execute()
#30 /srv/mediawiki/php-1.40.0-wmf.26/rest.php(31): MediaWiki\Rest\EntryPoint::main()
#31 /srv/mediawiki/w/rest.php(3): require(string)
#32 {main}
Impact
Notes

Event Timeline

This parse contains the literal wikitext:

{{#REDIRECT [[]]}}

for some reason, in the place where a signature would generally appear. The edit was done by an IP user in March 2014:
https://en.wikipedia.org/w/index.php?title=Talk%3AMehath&diff=598632387&oldid=579155148&diffmode=source
using the wikitext source editor, apparently (ie, it is not tagged with Visual Editor or any other editor tag).

Still, parsoid shouldn't *crash* on this input.

Change 900350 had a related patch set uploaded (by C. Scott Ananian; author: C. Scott Ananian):

[mediawiki/services/parsoid@master] Fix crasher when parser function name is not a valid title

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

Change 900350 merged by jenkins-bot:

[mediawiki/services/parsoid@master] Fix crasher when parser function name is not a valid title

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

Change 901245 had a related patch set uploaded (by Arlolra; author: Arlolra):

[mediawiki/vendor@master] Bump parsoid to 0.18.0-a2

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

Change 901245 merged by jenkins-bot:

[mediawiki/vendor@master] Bump parsoid to 0.18.0-a2

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

Change 928625 had a related patch set uploaded (by C. Scott Ananian; author: C. Scott Ananian):

[mediawiki/services/parsoid@REL1_40] Fix crasher when parser function name is not a valid title

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

Change 928625 merged by jenkins-bot:

[mediawiki/services/parsoid@REL1_40] Fix crasher when parser function name is not a valid title

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

I don't see any logstash message with "Invalid characters in title" in logstash in the last 3 months.