Page MenuHomePhabricator

PHP Warning: DOMNode::appendChild(): Document Fragment is empty
Closed, ResolvedPublicPRODUCTION ERROR

Description

Error
  • mwversion: 1.46.0-wmf.4
  • timestamp: 2025-11-28T00:11:17.493Z
  • phpversion: 8.3.26
  • reqId: 7ed05ae0-5512-4932-8370-a9593551d609
  • Find reqId in Logstash
normalized_message
[{reqId}] {exception_url}   PHP Warning: DOMNode::appendChild(): Document Fragment is empty
FrameLocationCall
from/srv/mediawiki/php-1.46.0-wmf.4/extensions/ProofreadPage/includes/Parser/ParsoidPagesTagParser.php(83)
#0[internal function]MediaWiki\Exception\MWExceptionHandler::handleError(int, string, string, int)
#1/srv/mediawiki/php-1.46.0-wmf.4/extensions/ProofreadPage/includes/Parser/ParsoidPagesTagParser.php(83)DOMNode->appendChild(Wikimedia\Parsoid\DOM\DocumentFragment)
#2/srv/mediawiki/php-1.46.0-wmf.4/vendor/wikimedia/parsoid/src/Wt2Html/TT/ExtensionHandler.php(122)ProofreadPage\Parser\ParsoidPagesTagParser->sourceToDom(Wikimedia\Parsoid\Ext\ParsoidExtensionAPI, string, array)
#3/srv/mediawiki/php-1.46.0-wmf.4/vendor/wikimedia/parsoid/src/Wt2Html/TT/ExtensionHandler.php(285)Wikimedia\Parsoid\Wt2Html\TT\ExtensionHandler->onExtension(Wikimedia\Parsoid\Tokens\SelfclosingTagTk)
#4/srv/mediawiki/php-1.46.0-wmf.4/vendor/wikimedia/parsoid/src/Wt2Html/TT/XMLTagBasedHandler.php(47)Wikimedia\Parsoid\Wt2Html\TT\ExtensionHandler->onTag(Wikimedia\Parsoid\Tokens\SelfclosingTagTk)
#5/srv/mediawiki/php-1.46.0-wmf.4/vendor/wikimedia/parsoid/src/Wt2Html/TokenHandlerPipeline.php(116)Wikimedia\Parsoid\Wt2Html\TT\XMLTagBasedHandler->process(array)
#6/srv/mediawiki/php-1.46.0-wmf.4/vendor/wikimedia/parsoid/src/Wt2Html/TokenHandlerPipeline.php(170)Wikimedia\Parsoid\Wt2Html\TokenHandlerPipeline->processChunk(array)
#7/srv/mediawiki/php-1.46.0-wmf.4/vendor/wikimedia/parsoid/src/Wt2Html/ParserPipeline.php(127)Wikimedia\Parsoid\Wt2Html\TokenHandlerPipeline->process(array, array)
#8/srv/mediawiki/php-1.46.0-wmf.4/vendor/wikimedia/parsoid/src/Utils/PipelineUtils.php(138)Wikimedia\Parsoid\Wt2Html\ParserPipeline->parse(string, array)
#9/srv/mediawiki/php-1.46.0-wmf.4/vendor/wikimedia/parsoid/src/Utils/PipelineUtils.php(255)Wikimedia\Parsoid\Utils\PipelineUtils::processContentInPipeline(Wikimedia\Parsoid\Config\Env, Wikimedia\Parsoid\Wt2Html\PageConfigFrame, string, array)
#10/srv/mediawiki/php-1.46.0-wmf.4/vendor/wikimedia/parsoid/src/Wt2Html/TT/TemplateHandler.php(593)Wikimedia\Parsoid\Utils\PipelineUtils::processTemplateSource(Wikimedia\Parsoid\Config\Env, Wikimedia\Parsoid\Wt2Html\PageConfigFrame, Wikimedia\Parsoid\Tokens\SelfclosingTagTk, array, Wikimedia\Parsoid\Core\SourceString, array)
#11/srv/mediawiki/php-1.46.0-wmf.4/vendor/wikimedia/parsoid/src/Wt2Html/TT/TemplateHandler.php(961)Wikimedia\Parsoid\Wt2Html\TT\TemplateHandler->processTemplateSource(Wikimedia\Parsoid\Wt2Html\PageConfigFrame, Wikimedia\Parsoid\Tokens\SelfclosingTagTk, array, string, array)
#12/srv/mediawiki/php-1.46.0-wmf.4/vendor/wikimedia/parsoid/src/Wt2Html/TT/TemplateHandler.php(1002)Wikimedia\Parsoid\Wt2Html\TT\TemplateHandler->expandTemplate(Wikimedia\Parsoid\Wt2Html\TT\TemplateEncapsulator)
#13/srv/mediawiki/php-1.46.0-wmf.4/vendor/wikimedia/parsoid/src/Wt2Html/TT/TemplateHandler.php(1042)Wikimedia\Parsoid\Wt2Html\TT\TemplateHandler->onTemplate(Wikimedia\Parsoid\Tokens\SelfclosingTagTk)
#14/srv/mediawiki/php-1.46.0-wmf.4/vendor/wikimedia/parsoid/src/Wt2Html/TT/XMLTagBasedHandler.php(47)Wikimedia\Parsoid\Wt2Html\TT\TemplateHandler->onTag(Wikimedia\Parsoid\Tokens\SelfclosingTagTk)
#15/srv/mediawiki/php-1.46.0-wmf.4/vendor/wikimedia/parsoid/src/Wt2Html/TokenHandlerPipeline.php(116)Wikimedia\Parsoid\Wt2Html\TT\XMLTagBasedHandler->process(array)
#16/srv/mediawiki/php-1.46.0-wmf.4/vendor/wikimedia/parsoid/src/Wt2Html/TokenHandlerPipeline.php(177)Wikimedia\Parsoid\Wt2Html\TokenHandlerPipeline->processChunk(array)
#17/srv/mediawiki/php-1.46.0-wmf.4/vendor/wikimedia/parsoid/src/Wt2Html/ParserPipeline.php(159)Wikimedia\Parsoid\Wt2Html\TokenHandlerPipeline->processChunkily(array, array)
#18/srv/mediawiki/php-1.46.0-wmf.4/vendor/wikimedia/parsoid/src/Wt2Html/ParserPipeline.php(158)Wikimedia\Parsoid\Wt2Html\ParserPipeline->processPipelineStages(array, string, array)
#19/srv/mediawiki/php-1.46.0-wmf.4/vendor/wikimedia/parsoid/src/Wt2Html/ParserPipeline.php(158)Wikimedia\Parsoid\Wt2Html\ParserPipeline->processPipelineStages(array, string, array)
#20/srv/mediawiki/php-1.46.0-wmf.4/vendor/wikimedia/parsoid/src/Wt2Html/ParserPipeline.php(158)Wikimedia\Parsoid\Wt2Html\ParserPipeline->processPipelineStages(array, string, array)
#21/srv/mediawiki/php-1.46.0-wmf.4/vendor/wikimedia/parsoid/src/Wt2Html/ParserPipeline.php(181)Wikimedia\Parsoid\Wt2Html\ParserPipeline->processPipelineStages(array, string, array)
#22/srv/mediawiki/php-1.46.0-wmf.4/vendor/wikimedia/parsoid/src/Wt2Html/ParserPipelineFactory.php(617)Wikimedia\Parsoid\Wt2Html\ParserPipeline->parseChunkily(string, array)
#23/srv/mediawiki/php-1.46.0-wmf.4/vendor/wikimedia/parsoid/src/Wikitext/ContentModelHandler.php(185)Wikimedia\Parsoid\Wt2Html\ParserPipelineFactory->parse(string)
#24/srv/mediawiki/php-1.46.0-wmf.4/vendor/wikimedia/parsoid/src/Parsoid.php(204)Wikimedia\Parsoid\Wikitext\ContentModelHandler->toDOM(Wikimedia\Parsoid\Ext\ParsoidExtensionAPI, null)
#25/srv/mediawiki/php-1.46.0-wmf.4/vendor/wikimedia/parsoid/src/Parsoid.php(270)Wikimedia\Parsoid\Parsoid->parseWikitext(MediaWiki\Parser\Parsoid\Config\PageConfig, MediaWiki\Parser\ParserOutput, array, null)
#26/srv/mediawiki/php-1.46.0-wmf.4/includes/Parser/Parsoid/ParsoidParser.php(153)Wikimedia\Parsoid\Parsoid->wikitext2html(MediaWiki\Parser\Parsoid\Config\PageConfig, array, null, MediaWiki\Parser\ParserOutput)
#27/srv/mediawiki/php-1.46.0-wmf.4/includes/Parser/Parsoid/ParsoidParser.php(286)MediaWiki\Parser\Parsoid\ParsoidParser->genParserOutput(MediaWiki\Parser\Parsoid\Config\PageConfig, MediaWiki\Parser\ParserOptions, MediaWiki\Parser\ParserOutput)
#28/srv/mediawiki/php-1.46.0-wmf.4/includes/Content/WikitextContentHandler.php(375)MediaWiki\Parser\Parsoid\ParsoidParser->parse(string, MediaWiki\Title\Title, MediaWiki\Parser\ParserOptions, bool, bool, int, MediaWiki\Parser\ParserOutput)
#29/srv/mediawiki/php-1.46.0-wmf.4/includes/Content/ContentHandler.php(1574)MediaWiki\Content\WikitextContentHandler->fillParserOutput(MediaWiki\Content\WikitextContent, MediaWiki\Content\Renderer\ContentParseParams, MediaWiki\Parser\ParserOutput)
#30/srv/mediawiki/php-1.46.0-wmf.4/includes/Content/Renderer/ContentRenderer.php(67)MediaWiki\Content\ContentHandler->getParserOutput(MediaWiki\Content\WikitextContent, MediaWiki\Content\Renderer\ContentParseParams)
#31/srv/mediawiki/php-1.46.0-wmf.4/includes/Revision/RenderedRevision.php(246)MediaWiki\Content\Renderer\ContentRenderer->getParserOutput(MediaWiki\Content\WikitextContent, MediaWiki\Page\PageStoreRecord, MediaWiki\Revision\RevisionStoreRecord, MediaWiki\Parser\ParserOptions, array)
#32/srv/mediawiki/php-1.46.0-wmf.4/includes/Revision/RenderedRevision.php(219)MediaWiki\Revision\RenderedRevision->getSlotParserOutputUncached(MediaWiki\Content\WikitextContent, array)
#33/srv/mediawiki/php-1.46.0-wmf.4/includes/Revision/RevisionRenderer.php(225)MediaWiki\Revision\RenderedRevision->getSlotParserOutput(string, array)
#34/srv/mediawiki/php-1.46.0-wmf.4/includes/Revision/RevisionRenderer.php(158)MediaWiki\Revision\RevisionRenderer->combineSlotOutput(MediaWiki\Revision\RenderedRevision, MediaWiki\Parser\ParserOptions, array)
#35/srv/mediawiki/php-1.46.0-wmf.4/includes/Revision/RenderedRevision.php(182)MediaWiki\Revision\RevisionRenderer->MediaWiki\Revision\{closure}(MediaWiki\Revision\RenderedRevision, array)
#36/srv/mediawiki/php-1.46.0-wmf.4/includes/Page/ParserOutputAccess.php(574)MediaWiki\Revision\RenderedRevision->getRevisionParserOutput()
#37/srv/mediawiki/php-1.46.0-wmf.4/includes/Page/ParserOutputAccess.php(660)MediaWiki\Page\ParserOutputAccess->renderRevision(MediaWiki\Page\PageStoreRecord, MediaWiki\Parser\ParserOptions, MediaWiki\Revision\RevisionStoreRecord, array)
#38/srv/mediawiki/php-1.46.0-wmf.4/includes/PoolCounter/PoolCounterWorkViaCallback.php(68)MediaWiki\Page\ParserOutputAccess->MediaWiki\Page\{closure}()
#39/srv/mediawiki/php-1.46.0-wmf.4/includes/PoolCounter/PoolCounterWork.php(159)MediaWiki\PoolCounter\PoolCounterWorkViaCallback->doWork()
#40/srv/mediawiki/php-1.46.0-wmf.4/includes/Page/ParserOutputAccess.php(481)MediaWiki\PoolCounter\PoolCounterWork->execute()
#41/srv/mediawiki/php-1.46.0-wmf.4/includes/Rest/Handler/Helper/HtmlOutputRendererHelper.php(921)MediaWiki\Page\ParserOutputAccess->getParserOutput(MediaWiki\Page\PageStoreRecord, MediaWiki\Parser\ParserOptions, MediaWiki\Revision\RevisionStoreRecord, array)
#42/srv/mediawiki/php-1.46.0-wmf.4/includes/Rest/Handler/Helper/HtmlOutputRendererHelper.php(650)MediaWiki\Rest\Handler\Helper\HtmlOutputRendererHelper->getParserOutputInternal()
#43/srv/mediawiki/php-1.46.0-wmf.4/includes/Rest/Handler/Helper/HtmlOutputRendererHelper.php(538)MediaWiki\Rest\Handler\Helper\HtmlOutputRendererHelper->getParserOutput()
#44/srv/mediawiki/php-1.46.0-wmf.4/includes/Rest/Handler/PageHTMLHandler.php(149)MediaWiki\Rest\Handler\Helper\HtmlOutputRendererHelper->getETag(string)
#45/srv/mediawiki/php-1.46.0-wmf.4/includes/Rest/ConditionalHeaderUtil.php(68)MediaWiki\Rest\Handler\PageHTMLHandler->getETag()
#46/srv/mediawiki/php-1.46.0-wmf.4/includes/Rest/ConditionalHeaderUtil.php(79)MediaWiki\Rest\ConditionalHeaderUtil->getETag()
#47/srv/mediawiki/php-1.46.0-wmf.4/includes/Rest/ConditionalHeaderUtil.php(163)MediaWiki\Rest\ConditionalHeaderUtil->getETagParts()
#48/srv/mediawiki/php-1.46.0-wmf.4/includes/Rest/Handler.php(568)MediaWiki\Rest\ConditionalHeaderUtil->checkPreconditions(MediaWiki\Rest\RequestFromGlobals)
#49/srv/mediawiki/php-1.46.0-wmf.4/includes/Rest/Module/Module.php(446)MediaWiki\Rest\Handler->checkPreconditions()
#50/srv/mediawiki/php-1.46.0-wmf.4/includes/Rest/Module/Module.php(301)MediaWiki\Rest\Module\Module->executeHandler(MediaWiki\Rest\Handler\PageHTMLHandler)
#51/srv/mediawiki/php-1.46.0-wmf.4/includes/Rest/Router.php(485)MediaWiki\Rest\Module\Module->execute(string, MediaWiki\Rest\RequestFromGlobals)
#52/srv/mediawiki/php-1.46.0-wmf.4/includes/Rest/Router.php(444)MediaWiki\Rest\Router->doExecute(string, MediaWiki\Rest\RequestFromGlobals)
#53/srv/mediawiki/php-1.46.0-wmf.4/includes/Rest/EntryPoint.php(207)MediaWiki\Rest\Router->execute(MediaWiki\Rest\RequestFromGlobals)
#54/srv/mediawiki/php-1.46.0-wmf.4/includes/MediaWikiEntryPoint.php(184)MediaWiki\Rest\EntryPoint->execute()
#55/srv/mediawiki/php-1.46.0-wmf.4/rest.php(25)MediaWiki\MediaWikiEntryPoint->run()
#56/srv/mediawiki/w/rest.php(3)require(string)
#57{main}
Impact
Notes

Event Timeline

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

[mediawiki/extensions/ProofreadPage@master] Avoid appending an empty Document Fragment

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

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

[mediawiki/services/parsoid@master] Add a DOMCompat::appendChild method

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

Change #1212612 merged by jenkins-bot:

[mediawiki/services/parsoid@master] Add a DOMCompat::appendChild method

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

Change #1212313 merged by jenkins-bot:

[mediawiki/extensions/ProofreadPage@master] Avoid appending an empty Document Fragment

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

Change #1213536 had a related patch set uploaded (by Isabelle Hurbain-Palatin; author: Isabelle Hurbain-Palatin):

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

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

Change #1213536 merged by jenkins-bot:

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

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

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

[mediawiki/extensions/ProofreadPage@master] Use DOMCompat to append document fragment

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

Change #1217469 merged by jenkins-bot:

[mediawiki/extensions/ProofreadPage@master] Use DOMCompat to append document fragment

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