Error
- mwversion: 1.43.0-wmf.19
- reqId: 42709551-ebee-4b67-8bd6-8e4a02d356e5
- Find reqId in Logstash
[{reqId}] {exception_url} Wikimedia\Assert\InvariantException: Invariant failed: Bad UTF-8 at end of string (2 byte sequence)from /srv/mediawiki/php-1.43.0-wmf.19/vendor/wikimedia/assert/src/Assert.php(231)
#0 /srv/mediawiki/php-1.43.0-wmf.19/vendor/wikimedia/parsoid/src/Utils/PHPUtils.php(194): Wikimedia\Assert\Assert::invariant(bool, string)
#1 /srv/mediawiki/php-1.43.0-wmf.19/vendor/wikimedia/parsoid/src/Tokens/SourceRange.php(86): Wikimedia\Parsoid\Utils\PHPUtils::safeSubstr(string, int, int)
#2 /srv/mediawiki/php-1.43.0-wmf.19/vendor/wikimedia/parsoid/src/Wt2Html/TT/WikiLinkHandler.php(253): Wikimedia\Parsoid\Tokens\SourceRange->substr(string)
#3 /srv/mediawiki/php-1.43.0-wmf.19/vendor/wikimedia/parsoid/src/Wt2Html/TT/ExternalLinkHandler.php(244): Wikimedia\Parsoid\Wt2Html\TT\WikiLinkHandler::bailTokens(Wikimedia\Parsoid\Wt2Html\TokenTransformManager, Wikimedia\Parsoid\Tokens\SelfclosingTagTk)
#4 /srv/mediawiki/php-1.43.0-wmf.19/vendor/wikimedia/parsoid/src/Wt2Html/TT/ExternalLinkHandler.php(254): Wikimedia\Parsoid\Wt2Html\TT\ExternalLinkHandler->onExtLink(Wikimedia\Parsoid\Tokens\SelfclosingTagTk)
#5 /srv/mediawiki/php-1.43.0-wmf.19/vendor/wikimedia/parsoid/src/Wt2Html/TT/TokenHandler.php(138): Wikimedia\Parsoid\Wt2Html\TT\ExternalLinkHandler->onTag(Wikimedia\Parsoid\Tokens\SelfclosingTagTk)
#6 /srv/mediawiki/php-1.43.0-wmf.19/vendor/wikimedia/parsoid/src/Wt2Html/TokenTransformManager.php(113): Wikimedia\Parsoid\Wt2Html\TT\TokenHandler->process(array)
#7 /srv/mediawiki/php-1.43.0-wmf.19/vendor/wikimedia/parsoid/src/Wt2Html/TokenTransformManager.php(166): Wikimedia\Parsoid\Wt2Html\TokenTransformManager->processChunk(array)
#8 /srv/mediawiki/php-1.43.0-wmf.19/vendor/wikimedia/parsoid/src/Wt2Html/ParserPipeline.php(130): Wikimedia\Parsoid\Wt2Html\TokenTransformManager->process(array, array)
#9 /srv/mediawiki/php-1.43.0-wmf.19/vendor/wikimedia/parsoid/src/Utils/PipelineUtils.php(107): Wikimedia\Parsoid\Wt2Html\ParserPipeline->parse(string, array)
#10 /srv/mediawiki/php-1.43.0-wmf.19/vendor/wikimedia/parsoid/src/Ext/ParsoidExtensionAPI.php(392): Wikimedia\Parsoid\Utils\PipelineUtils::processContentInPipeline(Wikimedia\Parsoid\Config\Env, Wikimedia\Parsoid\Wt2Html\Frame, string, array)
#11 /srv/mediawiki/php-1.43.0-wmf.19/extensions/Kartographer/includes/Tag/ParsoidMapFrame.php(106): Wikimedia\Parsoid\Ext\ParsoidExtensionAPI->wikitextToDOM(string, array, bool)
#12 /srv/mediawiki/php-1.43.0-wmf.19/vendor/wikimedia/parsoid/src/Wt2Html/TT/ExtensionHandler.php(101): Kartographer\Tag\ParsoidMapFrame->sourceToDom(Wikimedia\Parsoid\Ext\ParsoidExtensionAPI, string, array)
#13 /srv/mediawiki/php-1.43.0-wmf.19/vendor/wikimedia/parsoid/src/Wt2Html/TT/ExtensionHandler.php(273): Wikimedia\Parsoid\Wt2Html\TT\ExtensionHandler->onExtension(Wikimedia\Parsoid\Tokens\SelfclosingTagTk)
#14 /srv/mediawiki/php-1.43.0-wmf.19/vendor/wikimedia/parsoid/src/Wt2Html/TT/TokenHandler.php(138): Wikimedia\Parsoid\Wt2Html\TT\ExtensionHandler->onTag(Wikimedia\Parsoid\Tokens\SelfclosingTagTk)
#15 /srv/mediawiki/php-1.43.0-wmf.19/vendor/wikimedia/parsoid/src/Wt2Html/TokenTransformManager.php(113): Wikimedia\Parsoid\Wt2Html\TT\TokenHandler->process(array)
#16 /srv/mediawiki/php-1.43.0-wmf.19/vendor/wikimedia/parsoid/src/Wt2Html/TokenTransformManager.php(166): Wikimedia\Parsoid\Wt2Html\TokenTransformManager->processChunk(array)
#17 /srv/mediawiki/php-1.43.0-wmf.19/vendor/wikimedia/parsoid/src/Wt2Html/ParserPipeline.php(130): Wikimedia\Parsoid\Wt2Html\TokenTransformManager->process(array, array)
#18 /srv/mediawiki/php-1.43.0-wmf.19/vendor/wikimedia/parsoid/src/Utils/PipelineUtils.php(107): Wikimedia\Parsoid\Wt2Html\ParserPipeline->parse(string, array)
#19 /srv/mediawiki/php-1.43.0-wmf.19/vendor/wikimedia/parsoid/src/Wt2Html/TT/TemplateHandler.php(643): Wikimedia\Parsoid\Utils\PipelineUtils::processContentInPipeline(Wikimedia\Parsoid\Config\Env, Wikimedia\Parsoid\Wt2Html\PageConfigFrame, string, array)
#20 /srv/mediawiki/php-1.43.0-wmf.19/vendor/wikimedia/parsoid/src/Wt2Html/TT/TemplateHandler.php(1080): Wikimedia\Parsoid\Wt2Html\TT\TemplateHandler->processTemplateSource(Wikimedia\Parsoid\Tokens\SelfclosingTagTk, array, string)
#21 /srv/mediawiki/php-1.43.0-wmf.19/vendor/wikimedia/parsoid/src/Wt2Html/TT/TemplateHandler.php(1110): Wikimedia\Parsoid\Wt2Html\TT\TemplateHandler->expandTemplate(Wikimedia\Parsoid\Wt2Html\TT\TemplateEncapsulator)
#22 /srv/mediawiki/php-1.43.0-wmf.19/vendor/wikimedia/parsoid/src/Wt2Html/TT/TemplateHandler.php(1151): Wikimedia\Parsoid\Wt2Html\TT\TemplateHandler->onTemplate(Wikimedia\Parsoid\Tokens\SelfclosingTagTk)
#23 /srv/mediawiki/php-1.43.0-wmf.19/vendor/wikimedia/parsoid/src/Wt2Html/TT/TokenHandler.php(138): Wikimedia\Parsoid\Wt2Html\TT\TemplateHandler->onTag(Wikimedia\Parsoid\Tokens\SelfclosingTagTk)
#24 /srv/mediawiki/php-1.43.0-wmf.19/vendor/wikimedia/parsoid/src/Wt2Html/TokenTransformManager.php(113): Wikimedia\Parsoid\Wt2Html\TT\TokenHandler->process(array)
#25 /srv/mediawiki/php-1.43.0-wmf.19/vendor/wikimedia/parsoid/src/Wt2Html/TokenTransformManager.php(176): Wikimedia\Parsoid\Wt2Html\TokenTransformManager->processChunk(array)
#26 /srv/mediawiki/php-1.43.0-wmf.19/vendor/wikimedia/parsoid/src/Wt2Html/TokenTransformManager.php(174): Wikimedia\Parsoid\Wt2Html\TokenTransformManager->processChunkily(string, array)
#27 /srv/mediawiki/php-1.43.0-wmf.19/vendor/wikimedia/parsoid/src/Wt2Html/TreeBuilder/TreeBuilderStage.php(476): Wikimedia\Parsoid\Wt2Html\TokenTransformManager->processChunkily(string, array)
#28 [internal function]: Wikimedia\Parsoid\Wt2Html\TreeBuilder\TreeBuilderStage->processChunkily(string, array)
#29 /srv/mediawiki/php-1.43.0-wmf.19/vendor/wikimedia/parsoid/src/Wt2Html/DOMPostProcessor.php(956): Generator->current()
#30 /srv/mediawiki/php-1.43.0-wmf.19/vendor/wikimedia/parsoid/src/Wt2Html/ParserPipeline.php(170): Wikimedia\Parsoid\Wt2Html\DOMPostProcessor->processChunkily(string, array)
#31 /srv/mediawiki/php-1.43.0-wmf.19/vendor/wikimedia/parsoid/src/Wt2Html/ParserPipelineFactory.php(279): Wikimedia\Parsoid\Wt2Html\ParserPipeline->parseChunkily(string, array)
#32 /srv/mediawiki/php-1.43.0-wmf.19/vendor/wikimedia/parsoid/src/Wikitext/ContentModelHandler.php(159): Wikimedia\Parsoid\Wt2Html\ParserPipelineFactory->parse(string)
#33 /srv/mediawiki/php-1.43.0-wmf.19/vendor/wikimedia/parsoid/src/Parsoid.php(194): Wikimedia\Parsoid\Wikitext\ContentModelHandler->toDOM(Wikimedia\Parsoid\Ext\ParsoidExtensionAPI)
#34 /srv/mediawiki/php-1.43.0-wmf.19/vendor/wikimedia/parsoid/src/Parsoid.php(236): Wikimedia\Parsoid\Parsoid->parseWikitext(MediaWiki\Parser\Parsoid\Config\PageConfig, MediaWiki\Parser\ParserOutput, array)
#35 /srv/mediawiki/php-1.43.0-wmf.19/includes/parser/Parsoid/ParsoidParser.php(133): Wikimedia\Parsoid\Parsoid->wikitext2html(MediaWiki\Parser\Parsoid\Config\PageConfig, array, null, MediaWiki\Parser\ParserOutput)
#36 /srv/mediawiki/php-1.43.0-wmf.19/includes/parser/Parsoid/ParsoidParser.php(237): MediaWiki\Parser\Parsoid\ParsoidParser->genParserOutput(MediaWiki\Parser\Parsoid\Config\PageConfig, ParserOptions)
#37 /srv/mediawiki/php-1.43.0-wmf.19/includes/content/WikitextContentHandler.php(381): MediaWiki\Parser\Parsoid\ParsoidParser->parse(string, MediaWiki\Title\Title, ParserOptions, bool, bool, int)
#38 /srv/mediawiki/php-1.43.0-wmf.19/includes/content/ContentHandler.php(1693): MediaWiki\Content\WikitextContentHandler->fillParserOutput(MediaWiki\Content\WikitextContent, MediaWiki\Content\Renderer\ContentParseParams, MediaWiki\Parser\ParserOutput)
#39 /srv/mediawiki/php-1.43.0-wmf.19/includes/content/Renderer/ContentRenderer.php(67): MediaWiki\Content\ContentHandler->getParserOutput(MediaWiki\Content\WikitextContent, MediaWiki\Content\Renderer\ContentParseParams)
#40 /srv/mediawiki/php-1.43.0-wmf.19/includes/Revision/RenderedRevision.php(260): MediaWiki\Content\Renderer\ContentRenderer->getParserOutput(MediaWiki\Content\WikitextContent, MediaWiki\Title\Title, MediaWiki\Revision\RevisionStoreCacheRecord, ParserOptions, bool)
#41 /srv/mediawiki/php-1.43.0-wmf.19/includes/Revision/RenderedRevision.php(232): MediaWiki\Revision\RenderedRevision->getSlotParserOutputUncached(MediaWiki\Content\WikitextContent, bool)
#42 /srv/mediawiki/php-1.43.0-wmf.19/includes/Revision/RevisionRenderer.php(226): MediaWiki\Revision\RenderedRevision->getSlotParserOutput(string, array)
#43 /srv/mediawiki/php-1.43.0-wmf.19/includes/Revision/RevisionRenderer.php(164): MediaWiki\Revision\RevisionRenderer->combineSlotOutput(MediaWiki\Revision\RenderedRevision, ParserOptions, array)
#44 [internal function]: MediaWiki\Revision\RevisionRenderer->MediaWiki\Revision\{closure}(MediaWiki\Revision\RenderedRevision, array)
#45 /srv/mediawiki/php-1.43.0-wmf.19/includes/Revision/RenderedRevision.php(199): call_user_func(Closure, MediaWiki\Revision\RenderedRevision, array)
#46 /srv/mediawiki/php-1.43.0-wmf.19/includes/poolcounter/PoolWorkArticleView.php(91): MediaWiki\Revision\RenderedRevision->getRevisionParserOutput()
#47 /srv/mediawiki/php-1.43.0-wmf.19/includes/poolcounter/PoolWorkArticleViewCurrent.php(107): MediaWiki\PoolCounter\PoolWorkArticleView->renderRevision()
#48 /srv/mediawiki/php-1.43.0-wmf.19/includes/poolcounter/PoolCounterWork.php(171): MediaWiki\PoolCounter\PoolWorkArticleViewCurrent->doWork()
#49 /srv/mediawiki/php-1.43.0-wmf.19/includes/page/ParserOutputAccess.php(330): MediaWiki\PoolCounter\PoolCounterWork->execute()
#50 /srv/mediawiki/php-1.43.0-wmf.19/includes/page/Article.php(826): MediaWiki\Page\ParserOutputAccess->getParserOutput(WikiPage, ParserOptions, MediaWiki\Revision\RevisionStoreCacheRecord, int)
#51 /srv/mediawiki/php-1.43.0-wmf.19/includes/page/Article.php(545): Article->generateContentOutput(MediaWiki\User\User, ParserOptions, int, MediaWiki\Output\OutputPage, array)
#52 /srv/mediawiki/php-1.43.0-wmf.19/includes/actions/ViewAction.php(78): Article->view()
#53 /srv/mediawiki/php-1.43.0-wmf.19/includes/actions/ActionEntryPoint.php(731): ViewAction->show()
#54 /srv/mediawiki/php-1.43.0-wmf.19/includes/actions/ActionEntryPoint.php(508): MediaWiki\Actions\ActionEntryPoint->performAction(Article, MediaWiki\Title\Title)
#55 /srv/mediawiki/php-1.43.0-wmf.19/includes/actions/ActionEntryPoint.php(145): MediaWiki\Actions\ActionEntryPoint->performRequest()
#56 /srv/mediawiki/php-1.43.0-wmf.19/includes/MediaWikiEntryPoint.php(200): MediaWiki\Actions\ActionEntryPoint->execute()
#57 /srv/mediawiki/php-1.43.0-wmf.19/index.php(58): MediaWiki\MediaWikiEntryPoint->run()
#58 /srv/mediawiki/w/index.php(3): require(string)
#59 {main}Impact
Crashes the Parsoid read-views and /page/<>/html API, mostly on hewiki; a few instances on ukwiki.
Example:
/w/rest.php/uk.wikipedia.org/v3/page/pagebundle/%D0%91%D0%B8%D1%82%D0%B2%D0%B0_%D0%B7%D0%B0_%D0%9A%D0%B8%D1%97%D0%B2_(2022)/42920343 with a trace that also involves Kartographer but that crashes on templatehandler, not linkhandler
Notes
This is probably related to the parsoid+kartographer roll-out.