Page MenuHomePhabricator

Wikimedia\Assert\InvariantException: Invariant failed: Found nested inserted dom-diff flags!
Closed, ResolvedPublicPRODUCTION ERROR

Description

Error
normalized_message
[{reqId}] {exception_url}   Wikimedia\Assert\InvariantException: Invariant failed: Found nested inserted dom-diff flags!
exception.trace
from /srv/mediawiki/php-1.40.0-wmf.7/vendor/wikimedia/assert/src/Assert.php(231)
#0 /srv/mediawiki/php-1.40.0-wmf.7/vendor/wikimedia/parsoid/src/Html2Wt/DOMNormalizer.php(832): Wikimedia\Assert\Assert::invariant(boolean, string)
#1 /srv/mediawiki/php-1.40.0-wmf.7/vendor/wikimedia/parsoid/src/Html2Wt/DOMNormalizer.php(771): Wikimedia\Parsoid\Html2Wt\DOMNormalizer->processNode(Wikimedia\Parsoid\DOM\Element, boolean)
#2 /srv/mediawiki/php-1.40.0-wmf.7/vendor/wikimedia/parsoid/src/Html2Wt/DOMNormalizer.php(839): Wikimedia\Parsoid\Html2Wt\DOMNormalizer->processSubtree(Wikimedia\Parsoid\DOM\Element, boolean)
#3 /srv/mediawiki/php-1.40.0-wmf.7/vendor/wikimedia/parsoid/src/Html2Wt/DOMNormalizer.php(771): Wikimedia\Parsoid\Html2Wt\DOMNormalizer->processNode(Wikimedia\Parsoid\DOM\Element, boolean)
#4 /srv/mediawiki/php-1.40.0-wmf.7/vendor/wikimedia/parsoid/src/Html2Wt/DOMNormalizer.php(839): Wikimedia\Parsoid\Html2Wt\DOMNormalizer->processSubtree(Wikimedia\Parsoid\DOM\Element, boolean)
#5 /srv/mediawiki/php-1.40.0-wmf.7/vendor/wikimedia/parsoid/src/Html2Wt/DOMNormalizer.php(771): Wikimedia\Parsoid\Html2Wt\DOMNormalizer->processNode(Wikimedia\Parsoid\DOM\Element, boolean)
#6 /srv/mediawiki/php-1.40.0-wmf.7/vendor/wikimedia/parsoid/src/Html2Wt/DOMNormalizer.php(839): Wikimedia\Parsoid\Html2Wt\DOMNormalizer->processSubtree(Wikimedia\Parsoid\DOM\Element, boolean)
#7 /srv/mediawiki/php-1.40.0-wmf.7/vendor/wikimedia/parsoid/src/Html2Wt/DOMNormalizer.php(762): Wikimedia\Parsoid\Html2Wt\DOMNormalizer->processNode(Wikimedia\Parsoid\DOM\Element, boolean)
#8 /srv/mediawiki/php-1.40.0-wmf.7/vendor/wikimedia/parsoid/src/Html2Wt/DOMNormalizer.php(839): Wikimedia\Parsoid\Html2Wt\DOMNormalizer->processSubtree(Wikimedia\Parsoid\DOM\Element, boolean)
#9 /srv/mediawiki/php-1.40.0-wmf.7/vendor/wikimedia/parsoid/src/Html2Wt/DOMNormalizer.php(771): Wikimedia\Parsoid\Html2Wt\DOMNormalizer->processNode(Wikimedia\Parsoid\DOM\Element, boolean)
#10 /srv/mediawiki/php-1.40.0-wmf.7/vendor/wikimedia/parsoid/src/Html2Wt/DOMNormalizer.php(839): Wikimedia\Parsoid\Html2Wt\DOMNormalizer->processSubtree(Wikimedia\Parsoid\DOM\Element, boolean)
#11 /srv/mediawiki/php-1.40.0-wmf.7/vendor/wikimedia/parsoid/src/Html2Wt/DOMNormalizer.php(864): Wikimedia\Parsoid\Html2Wt\DOMNormalizer->processNode(Wikimedia\Parsoid\DOM\Element, boolean)
#12 /srv/mediawiki/php-1.40.0-wmf.7/vendor/wikimedia/parsoid/src/Html2Wt/WikitextSerializer.php(1643): Wikimedia\Parsoid\Html2Wt\DOMNormalizer->normalize(Wikimedia\Parsoid\DOM\Element)
#13 /srv/mediawiki/php-1.40.0-wmf.7/vendor/wikimedia/parsoid/src/Html2Wt/SelectiveSerializer.php(233): Wikimedia\Parsoid\Html2Wt\WikitextSerializer->serializeDOM(Wikimedia\Parsoid\DOM\Element, boolean)
#14 /srv/mediawiki/php-1.40.0-wmf.7/vendor/wikimedia/parsoid/src/Wikitext/ContentModelHandler.php(188): Wikimedia\Parsoid\Html2Wt\SelectiveSerializer->serializeDOM(Wikimedia\Parsoid\DOM\Document)
#15 /srv/mediawiki/php-1.40.0-wmf.7/vendor/wikimedia/parsoid/src/Parsoid.php(296): Wikimedia\Parsoid\Wikitext\ContentModelHandler->fromDOM(Wikimedia\Parsoid\Ext\ParsoidExtensionAPI, Wikimedia\Parsoid\Core\SelserData)
#16 /srv/mediawiki/php-1.40.0-wmf.7/includes/parser/Parsoid/HTMLTransform.php(665): Wikimedia\Parsoid\Parsoid->dom2wikitext(MediaWiki\Parser\Parsoid\Config\PageConfig, Wikimedia\Parsoid\DOM\Document, array, Wikimedia\Parsoid\Core\SelserData)
#17 /srv/mediawiki/php-1.40.0-wmf.7/includes/parser/Parsoid/HTMLTransform.php(631): MediaWiki\Parser\Parsoid\HTMLTransform->htmlToText()
#18 /srv/mediawiki/php-1.40.0-wmf.7/includes/Rest/Handler/HtmlInputTransformHelper.php(413): MediaWiki\Parser\Parsoid\HTMLTransform->htmlToContent()
#19 /srv/mediawiki/php-1.40.0-wmf.7/includes/Rest/Handler/HtmlInputTransformHelper.php(438): MediaWiki\Rest\Handler\HtmlInputTransformHelper->getContent()
#20 /srv/mediawiki/php-1.40.0-wmf.7/includes/Rest/Handler/ParsoidHandler.php(903): MediaWiki\Rest\Handler\HtmlInputTransformHelper->putContent(MediaWiki\Rest\Response)
#21 /srv/mediawiki/php-1.40.0-wmf.7/includes/Rest/Handler/TransformHandler.php(125): MediaWiki\Rest\Handler\ParsoidHandler->html2wt(MediaWiki\Page\PageStoreRecord, array, string)
#22 /srv/mediawiki/php-1.40.0-wmf.7/includes/Rest/Router.php(487): MediaWiki\Rest\Handler\TransformHandler->execute()
#23 /srv/mediawiki/php-1.40.0-wmf.7/includes/Rest/Router.php(406): MediaWiki\Rest\Router->executeHandler(MWParsoid\Rest\Handler\TransformHandler)
#24 /srv/mediawiki/php-1.40.0-wmf.7/includes/Rest/EntryPoint.php(170): MediaWiki\Rest\Router->execute(MediaWiki\Rest\RequestFromGlobals)
#25 /srv/mediawiki/php-1.40.0-wmf.7/includes/Rest/EntryPoint.php(135): MediaWiki\Rest\EntryPoint->execute()
#26 /srv/mediawiki/php-1.40.0-wmf.7/rest.php(31): MediaWiki\Rest\EntryPoint::main()
#27 /srv/mediawiki/w/rest.php(3): require(string)
#28 {main}
Impact
Notes

Details

Request URL
https://cs.wikipedia.org/w/rest.php/cs.wikipedia.org/v3/transform/pagebundle/to/wikitext/Sharon_Tate/20623067

Event Timeline

Also seen with /w/rest.php/bn.wikipedia.org/v3/transform/pagebundle/to/wikitext/%E0%A6%AB%E0%A6%95%E0%A6%BF%E0%A6%B0_(%E0%A6%AE%E0%A7%81%E0%A6%B8%E0%A6%B2%E0%A6%BF%E0%A6%AE_%E0%A6%A4%E0%A6%AA%E0%A6%B8%E0%A7%8D%E0%A6%AC%E0%A7%80)/6176598

In T194083, we added logging to help debug these assertions since they aren't readily reproducible just roundtripping the article content,
https://github.com/wikimedia/mediawiki-services-parsoid/blob/master/src/Html2Wt/DOMNormalizer.php#L812-L831

Since the reqid is no longer in logstash and a search for other instances in the past few months isn't yielding any results for me, I'm going to close the task. For someone filing a duplicate in the future, expand around the log looking for other logs with --- Nested inserted dom-diff flags --- and capture that in the task as well.