Page MenuHomePhabricator

Wikimedia\Assert\InvariantException: Invariant failed: Bad source in ::convertOffsets
Closed, ResolvedPublicPRODUCTION ERROR

Description

Error
  • service.version: 1.46.0-wmf.1
  • timestamp: 2025-11-05T19:40:46.713Z
  • labels.phpversion: 8.3.26
  • trace.id: 7080d850-6b79-47ac-b0a6-196d277f9d0c
  • Find trace.id in Logstash
labels.normalized_message
[{reqId}] {exception_url}   Wikimedia\Assert\InvariantException: Invariant failed: Bad source in ::convertOffsets
FrameLocationCall
from/srv/mediawiki/php-1.46.0-wmf.1/vendor/wikimedia/assert/src/Assert.php(231)
#0/srv/mediawiki/php-1.46.0-wmf.1/vendor/wikimedia/parsoid/src/Utils/ContentUtils.php(398)Wikimedia\Assert\Assert::invariant(bool, string)
#1/srv/mediawiki/php-1.46.0-wmf.1/vendor/wikimedia/parsoid/src/Utils/ContentUtils.php(303)Wikimedia\Parsoid\Utils\ContentUtils::Wikimedia\Parsoid\Utils\{closure}(Wikimedia\Parsoid\Core\DomSourceRange)
#2/srv/mediawiki/php-1.46.0-wmf.1/vendor/wikimedia/parsoid/src/Utils/DOMPostOrder.php(32)Wikimedia\Parsoid\Utils\ContentUtils::Wikimedia\Parsoid\Utils\{closure}(Wikimedia\Parsoid\DOM\Element)
#3/srv/mediawiki/php-1.46.0-wmf.1/vendor/wikimedia/parsoid/src/Utils/ContentUtils.php(351)Wikimedia\Parsoid\Utils\DOMPostOrder::traverse(Wikimedia\Parsoid\DOM\Element, Closure)
#4/srv/mediawiki/php-1.46.0-wmf.1/vendor/wikimedia/parsoid/src/Utils/ContentUtils.php(413)Wikimedia\Parsoid\Utils\ContentUtils::shiftDSR(Wikimedia\Parsoid\Config\Env, Wikimedia\Parsoid\DOM\Element, Closure)
#5/srv/mediawiki/php-1.46.0-wmf.1/vendor/wikimedia/parsoid/src/Wt2Html/DOM/Processors/ConvertOffsets.php(31)Wikimedia\Parsoid\Utils\ContentUtils::convertOffsets(Wikimedia\Parsoid\Config\Env, Wikimedia\Parsoid\DOM\Document, string, string)
#6/srv/mediawiki/php-1.46.0-wmf.1/vendor/wikimedia/parsoid/src/Wt2Html/DOMProcessorPipeline.php(131)Wikimedia\Parsoid\Wt2Html\DOM\Processors\ConvertOffsets->run(Wikimedia\Parsoid\Config\Env, Wikimedia\Parsoid\DOM\Element, array, bool)
#7/srv/mediawiki/php-1.46.0-wmf.1/vendor/wikimedia/parsoid/src/Wt2Html/DOMProcessorPipeline.php(175)Wikimedia\Parsoid\Wt2Html\DOMProcessorPipeline->doPostProcess(Wikimedia\Parsoid\DOM\Element)
#8/srv/mediawiki/php-1.46.0-wmf.1/vendor/wikimedia/parsoid/src/Wt2Html/DOMProcessorPipeline.php(188)Wikimedia\Parsoid\Wt2Html\DOMProcessorPipeline->process(Wikimedia\Parsoid\DOM\Element, array)
#9/srv/mediawiki/php-1.46.0-wmf.1/vendor/wikimedia/parsoid/src/Wt2Html/ParserPipeline.php(159)Wikimedia\Parsoid\Wt2Html\DOMProcessorPipeline->processChunkily(Wikimedia\Parsoid\DOM\Element, array)
#10/srv/mediawiki/php-1.46.0-wmf.1/vendor/wikimedia/parsoid/src/Wt2Html/ParserPipeline.php(181)Wikimedia\Parsoid\Wt2Html\ParserPipeline->processPipelineStages(array, string, array)
#11/srv/mediawiki/php-1.46.0-wmf.1/vendor/wikimedia/parsoid/src/Wt2Html/ParserPipelineFactory.php(617)Wikimedia\Parsoid\Wt2Html\ParserPipeline->parseChunkily(string, array)
#12/srv/mediawiki/php-1.46.0-wmf.1/vendor/wikimedia/parsoid/src/Wikitext/ContentModelHandler.php(185)Wikimedia\Parsoid\Wt2Html\ParserPipelineFactory->parse(string)
#13/srv/mediawiki/php-1.46.0-wmf.1/vendor/wikimedia/parsoid/src/Parsoid.php(203)Wikimedia\Parsoid\Wikitext\ContentModelHandler->toDOM(Wikimedia\Parsoid\Ext\ParsoidExtensionAPI, null)
#14/srv/mediawiki/php-1.46.0-wmf.1/vendor/wikimedia/parsoid/src/Parsoid.php(455)Wikimedia\Parsoid\Parsoid->parseWikitext(MediaWiki\Parser\Parsoid\Config\PageConfig, MediaWiki\Parser\ParserOutput, array)
#15/srv/mediawiki/php-1.46.0-wmf.1/includes/Rest/Handler/ParsoidHandler.php(653)Wikimedia\Parsoid\Parsoid->wikitext2lint(MediaWiki\Parser\Parsoid\Config\PageConfig, array, MediaWiki\Parser\ParserOutput)
#16/srv/mediawiki/php-1.46.0-wmf.1/includes/Rest/Handler/ParsoidHandler.php(696)MediaWiki\Rest\Handler\ParsoidHandler->wtLint(MediaWiki\Parser\Parsoid\Config\PageConfig, array, array)
#17/srv/mediawiki/php-1.46.0-wmf.1/includes/Rest/Handler/TransformHandler.php(199)MediaWiki\Rest\Handler\ParsoidHandler->wt2html(MediaWiki\Parser\Parsoid\Config\PageConfig, array, string)
#18/srv/mediawiki/php-1.46.0-wmf.1/includes/Rest/Module/Module.php(454)MediaWiki\Rest\Handler\TransformHandler->execute()
#19/srv/mediawiki/php-1.46.0-wmf.1/includes/Rest/Module/Module.php(301)MediaWiki\Rest\Module\Module->executeHandler(MediaWiki\Rest\Handler\TransformWikitextToLintHandler)
#20/srv/mediawiki/php-1.46.0-wmf.1/includes/Rest/Router.php(485)MediaWiki\Rest\Module\Module->execute(string, MediaWiki\Rest\RequestFromGlobals)
#21/srv/mediawiki/php-1.46.0-wmf.1/includes/Rest/Router.php(444)MediaWiki\Rest\Router->doExecute(string, MediaWiki\Rest\RequestFromGlobals)
#22/srv/mediawiki/php-1.46.0-wmf.1/includes/Rest/EntryPoint.php(207)MediaWiki\Rest\Router->execute(MediaWiki\Rest\RequestFromGlobals)
#23/srv/mediawiki/php-1.46.0-wmf.1/includes/MediaWikiEntryPoint.php(184)MediaWiki\Rest\EntryPoint->execute()
#24/srv/mediawiki/php-1.46.0-wmf.1/rest.php(25)MediaWiki\MediaWikiEntryPoint->run()
#25/srv/mediawiki/w/rest.php(3)require(string)
#26{main}
Impact
Notes

Details

Request URL
https://commons.wikimedia.org/w/rest.php/v1/transform/wikitext/to/lint
Related Changes in Gerrit:

Event Timeline

This assertion was added in Add assertions of source consistency (1196506) · Gerrit Code Review but I don't think we've got enough information here to understand why it triggered.

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

[mediawiki/services/parsoid@master] T409345: Convert assertion into logged error

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

matmarex subscribed.

All of the logged errors have occurred on PHP 8.3.

Oh, that's probably because all Parsoid traffic is served by PHP 8.3 now? (T405955#11346217) Ignore me then :)

Change #1202293 merged by jenkins-bot:

[mediawiki/services/parsoid@master] T409345: Convert assertion into logged error

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

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

[mediawiki/vendor@master] Bump wikimedia/parsoid to 0.23.0-a5

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

Change #1206434 merged by jenkins-bot:

[mediawiki/vendor@master] Bump wikimedia/parsoid to 0.23.0-a5

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

ssastry assigned this task to cscott.

I am going to close this as resolved for now. If we run into more instances of this, we will have more useful info to debug this based. As it stands now, it is not debuggable.