Page MenuHomePhabricator

PHP Warning: Attempt to read property "key" /"start"/"end" on null in TransformHandler
Closed, ResolvedPublicPRODUCTION ERROR

Description

These errors are frequent (~800+/day), as seen on https://logstash.wikimedia.org/app/dashboards#/view/c7013c90-a487-11ec-be91-b3435f0c0c49 . They happen during transform/wikitext/to/html.

Impact is probably low since it's just a warning, though there could be some anomalies in the API results.

Typical backtrace:

from /srv/mediawiki/php-1.45.0-wmf.14/vendor/wikimedia/parsoid/src/Wt2Html/TT/TemplateHandler.php(803)
#0 /srv/mediawiki/php-1.45.0-wmf.14/vendor/wikimedia/parsoid/src/Wt2Html/TT/TemplateHandler.php(803): MediaWiki\Exception\MWExceptionHandler::handleError(int, string, string, int)
#1 /srv/mediawiki/php-1.45.0-wmf.14/vendor/wikimedia/parsoid/src/Wt2Html/TT/TemplateHandler.php(1060): Wikimedia\Parsoid\Wt2Html\TT\TemplateHandler->expandTemplate(Wikimedia\Parsoid\Wt2Html\TT\TemplateEncapsulator)
#2 /srv/mediawiki/php-1.45.0-wmf.14/vendor/wikimedia/parsoid/src/Wt2Html/TT/TemplateHandler.php(1101): Wikimedia\Parsoid\Wt2Html\TT\TemplateHandler->onTemplate(Wikimedia\Parsoid\Tokens\SelfclosingTagTk)
#3 /srv/mediawiki/php-1.45.0-wmf.14/vendor/wikimedia/parsoid/src/Wt2Html/TT/XMLTagBasedHandler.php(47): Wikimedia\Parsoid\Wt2Html\TT\TemplateHandler->onTag(Wikimedia\Parsoid\Tokens\SelfclosingTagTk)
#4 /srv/mediawiki/php-1.45.0-wmf.14/vendor/wikimedia/parsoid/src/Wt2Html/TokenHandlerPipeline.php(129): Wikimedia\Parsoid\Wt2Html\TT\XMLTagBasedHandler->process(array)
#5 /srv/mediawiki/php-1.45.0-wmf.14/vendor/wikimedia/parsoid/src/Wt2Html/TokenHandlerPipeline.php(183): Wikimedia\Parsoid\Wt2Html\TokenHandlerPipeline->processChunk(array)
#6 /srv/mediawiki/php-1.45.0-wmf.14/vendor/wikimedia/parsoid/src/Wt2Html/ParserPipeline.php(127): Wikimedia\Parsoid\Wt2Html\TokenHandlerPipeline->process(array, array)
#7 /srv/mediawiki/php-1.45.0-wmf.14/vendor/wikimedia/parsoid/src/Utils/PipelineUtils.php(135): Wikimedia\Parsoid\Wt2Html\ParserPipeline->parse(array, array)
#8 /srv/mediawiki/php-1.45.0-wmf.14/vendor/wikimedia/parsoid/src/Wt2Html/TT/TokenStreamPatcher.php(125): Wikimedia\Parsoid\Utils\PipelineUtils::processContentInPipeline(Wikimedia\Parsoid\Config\Env, Wikimedia\Parsoid\Wt2Html\PageConfigFrame, array, array)
#9 /srv/mediawiki/php-1.45.0-wmf.14/vendor/wikimedia/parsoid/src/Wt2Html/TT/TokenStreamPatcher.php(204): Wikimedia\Parsoid\Wt2Html\TT\TokenStreamPatcher->reprocessTokens(null, array, bool)
#10 /srv/mediawiki/php-1.45.0-wmf.14/vendor/wikimedia/parsoid/src/Wt2Html/TT/TokenStreamPatcher.php(373): Wikimedia\Parsoid\Wt2Html\TT\TokenStreamPatcher->convertNonHTMLTokenToString(Wikimedia\Parsoid\Tokens\TagTk)
#11 /srv/mediawiki/php-1.45.0-wmf.14/vendor/wikimedia/parsoid/src/Wt2Html/TT/TokenStreamPatcher.php(216): Wikimedia\Parsoid\Wt2Html\TT\TokenStreamPatcher->onAnyInternal(Wikimedia\Parsoid\Tokens\TagTk)
#12 /srv/mediawiki/php-1.45.0-wmf.14/vendor/wikimedia/parsoid/src/Wt2Html/TT/LineBasedHandler.php(147): Wikimedia\Parsoid\Wt2Html\TT\TokenStreamPatcher->onAny(Wikimedia\Parsoid\Tokens\TagTk)
#13 /srv/mediawiki/php-1.45.0-wmf.14/vendor/wikimedia/parsoid/src/Wt2Html/TokenHandlerPipeline.php(129): Wikimedia\Parsoid\Wt2Html\TT\LineBasedHandler->process(array)
#14 /srv/mediawiki/php-1.45.0-wmf.14/vendor/wikimedia/parsoid/src/Wt2Html/TokenHandlerPipeline.php(193): Wikimedia\Parsoid\Wt2Html\TokenHandlerPipeline->processChunk(array)
#15 /srv/mediawiki/php-1.45.0-wmf.14/vendor/wikimedia/parsoid/src/Wt2Html/TreeBuilder/TreeBuilderStage.php(503): Wikimedia\Parsoid\Wt2Html\TokenHandlerPipeline->processChunkily(string, array)
#16 [internal function]: Wikimedia\Parsoid\Wt2Html\TreeBuilder\TreeBuilderStage->processChunkily(string, array)
#17 /srv/mediawiki/php-1.45.0-wmf.14/vendor/wikimedia/parsoid/src/Wt2Html/DOMProcessorPipeline.php(196): Generator->current()
#18 /srv/mediawiki/php-1.45.0-wmf.14/vendor/wikimedia/parsoid/src/Wt2Html/ParserPipeline.php(164): Wikimedia\Parsoid\Wt2Html\DOMProcessorPipeline->processChunkily(string, array)
#19 /srv/mediawiki/php-1.45.0-wmf.14/vendor/wikimedia/parsoid/src/Wt2Html/ParserPipelineFactory.php(619): Wikimedia\Parsoid\Wt2Html\ParserPipeline->parseChunkily(string, array)
#20 /srv/mediawiki/php-1.45.0-wmf.14/vendor/wikimedia/parsoid/src/Wikitext/ContentModelHandler.php(187): Wikimedia\Parsoid\Wt2Html\ParserPipelineFactory->parse(string)
#21 /srv/mediawiki/php-1.45.0-wmf.14/vendor/wikimedia/parsoid/src/Parsoid.php(198): Wikimedia\Parsoid\Wikitext\ContentModelHandler->toDOM(Wikimedia\Parsoid\Ext\ParsoidExtensionAPI, null)
#22 /srv/mediawiki/php-1.45.0-wmf.14/vendor/wikimedia/parsoid/src/Parsoid.php(264): Wikimedia\Parsoid\Parsoid->parseWikitext(MediaWiki\Parser\Parsoid\Config\PageConfig, MediaWiki\Parser\ParserOutput, array, null)

Event Timeline

We triaged these in T401413#11087109. wmf.15 has the fixes for these. I'll keep this task open till the train rolls out and we confirm the logs quiet down. FYI @ABreault-WMF

Restricted Application changed the subtype of this task from "Task" to "Production Error". · View Herald TranscriptAug 21 2025, 1:18 PM

The last instance of these I see is at 2025-08-21T08:10:01+00:00 which corresponds with the train rolling out to group2 T396376#11105528
https://logstash.wikimedia.org/app/discover#/doc/logstash-*/logstash-deploy-1-7.0.0-1-2025.08.21?id=7Sqty5gBSq9zfLI0fmIR