Page MenuHomePhabricator

TypeError: trim() expects parameter 1 to be string, null given
Closed, ResolvedPublicPRODUCTION ERROR

Description

Error
normalized_message
[{reqId}] {exception_url}   TypeError: trim() expects parameter 1 to be string, null given
exception.trace
from /srv/mediawiki/php-1.39.0-wmf.14/vendor/wikimedia/parsoid/src/Ext/ImageMap/ImageMap.php(315)
#0 /srv/mediawiki/php-1.39.0-wmf.14/vendor/wikimedia/parsoid/src/Ext/ImageMap/ImageMap.php(315): trim(NULL)
#1 /srv/mediawiki/php-1.39.0-wmf.14/vendor/wikimedia/parsoid/src/Wt2Html/TT/ExtensionHandler.php(94): Wikimedia\Parsoid\Ext\ImageMap\ImageMap->sourceToDom(Wikimedia\Parsoid\Ext\ParsoidExtensionAPI, string, array)
#2 /srv/mediawiki/php-1.39.0-wmf.14/vendor/wikimedia/parsoid/src/Wt2Html/TT/ExtensionHandler.php(277): Wikimedia\Parsoid\Wt2Html\TT\ExtensionHandler->onExtension(Wikimedia\Parsoid\Tokens\SelfclosingTagTk)
#3 /srv/mediawiki/php-1.39.0-wmf.14/vendor/wikimedia/parsoid/src/Wt2Html/TT/TokenHandler.php(150): Wikimedia\Parsoid\Wt2Html\TT\ExtensionHandler->onTag(Wikimedia\Parsoid\Tokens\SelfclosingTagTk)
#4 /srv/mediawiki/php-1.39.0-wmf.14/vendor/wikimedia/parsoid/src/Wt2Html/TokenTransformManager.php(132): Wikimedia\Parsoid\Wt2Html\TT\TokenHandler->process(array)
#5 /srv/mediawiki/php-1.39.0-wmf.14/vendor/wikimedia/parsoid/src/Wt2Html/TokenTransformManager.php(185): Wikimedia\Parsoid\Wt2Html\TokenTransformManager->processChunk(array)
#6 /srv/mediawiki/php-1.39.0-wmf.14/vendor/wikimedia/parsoid/src/Wt2Html/ParserPipeline.php(140): Wikimedia\Parsoid\Wt2Html\TokenTransformManager->process(array, array)
#7 /srv/mediawiki/php-1.39.0-wmf.14/vendor/wikimedia/parsoid/src/Utils/PipelineUtils.php(105): Wikimedia\Parsoid\Wt2Html\ParserPipeline->parse(string, array)
#8 /srv/mediawiki/php-1.39.0-wmf.14/vendor/wikimedia/parsoid/src/Wt2Html/TT/TemplateHandler.php(588): Wikimedia\Parsoid\Utils\PipelineUtils::processContentInPipeline(Wikimedia\Parsoid\Config\Env, Wikimedia\Parsoid\Wt2Html\PageConfigFrame, string, array)
#9 /srv/mediawiki/php-1.39.0-wmf.14/vendor/wikimedia/parsoid/src/Wt2Html/TT/TemplateHandler.php(1067): Wikimedia\Parsoid\Wt2Html\TT\TemplateHandler->processTemplateSource(Wikimedia\Parsoid\Tokens\SelfclosingTagTk, array, string)
#10 /srv/mediawiki/php-1.39.0-wmf.14/vendor/wikimedia/parsoid/src/Wt2Html/TT/TemplateHandler.php(1097): Wikimedia\Parsoid\Wt2Html\TT\TemplateHandler->expandTemplate(Wikimedia\Parsoid\Wt2Html\TT\TemplateEncapsulator)
#11 /srv/mediawiki/php-1.39.0-wmf.14/vendor/wikimedia/parsoid/src/Wt2Html/TT/TemplateHandler.php(1142): Wikimedia\Parsoid\Wt2Html\TT\TemplateHandler->onTemplate(Wikimedia\Parsoid\Tokens\SelfclosingTagTk)
#12 /srv/mediawiki/php-1.39.0-wmf.14/vendor/wikimedia/parsoid/src/Wt2Html/TT/TokenHandler.php(150): Wikimedia\Parsoid\Wt2Html\TT\TemplateHandler->onTag(Wikimedia\Parsoid\Tokens\SelfclosingTagTk)
#13 /srv/mediawiki/php-1.39.0-wmf.14/vendor/wikimedia/parsoid/src/Wt2Html/TokenTransformManager.php(132): Wikimedia\Parsoid\Wt2Html\TT\TokenHandler->process(array)
#14 /srv/mediawiki/php-1.39.0-wmf.14/vendor/wikimedia/parsoid/src/Wt2Html/TokenTransformManager.php(195): Wikimedia\Parsoid\Wt2Html\TokenTransformManager->processChunk(array)
#15 /srv/mediawiki/php-1.39.0-wmf.14/vendor/wikimedia/parsoid/src/Wt2Html/TokenTransformManager.php(193): Wikimedia\Parsoid\Wt2Html\TokenTransformManager->processChunkily(string, array)
#16 /srv/mediawiki/php-1.39.0-wmf.14/vendor/wikimedia/parsoid/src/Wt2Html/TreeBuilder/TreeBuilderStage.php(487): Wikimedia\Parsoid\Wt2Html\TokenTransformManager->processChunkily(string, array)
#17 [internal function]: Wikimedia\Parsoid\Wt2Html\TreeBuilder\TreeBuilderStage->processChunkily(string, array)
#18 /srv/mediawiki/php-1.39.0-wmf.14/vendor/wikimedia/parsoid/src/Wt2Html/DOMPostProcessor.php(903): Generator->current()
#19 /srv/mediawiki/php-1.39.0-wmf.14/vendor/wikimedia/parsoid/src/Wt2Html/ParserPipeline.php(180): Wikimedia\Parsoid\Wt2Html\DOMPostProcessor->processChunkily(string, array)
#20 /srv/mediawiki/php-1.39.0-wmf.14/vendor/wikimedia/parsoid/src/Wt2Html/ParserPipelineFactory.php(308): Wikimedia\Parsoid\Wt2Html\ParserPipeline->parseChunkily(string, array)
#21 /srv/mediawiki/php-1.39.0-wmf.14/vendor/wikimedia/parsoid/src/Wikitext/ContentModelHandler.php(123): Wikimedia\Parsoid\Wt2Html\ParserPipelineFactory->parse(string)
#22 /srv/mediawiki/php-1.39.0-wmf.14/vendor/wikimedia/parsoid/src/Parsoid.php(172): Wikimedia\Parsoid\Wikitext\ContentModelHandler->toDOM(Wikimedia\Parsoid\Ext\ParsoidExtensionAPI)
#23 /srv/mediawiki/php-1.39.0-wmf.14/vendor/wikimedia/parsoid/src/Parsoid.php(210): Wikimedia\Parsoid\Parsoid->parseWikitext(MediaWiki\Parser\Parsoid\Config\PageConfig, ParserOutput, array)
#24 /srv/mediawiki/php-1.39.0-wmf.14/vendor/wikimedia/parsoid/extension/src/Rest/Handler/ParsoidHandler.php(585): Wikimedia\Parsoid\Parsoid->wikitext2html(MediaWiki\Parser\Parsoid\Config\PageConfig, array, NULL, ParserOutput)
#25 /srv/mediawiki/php-1.39.0-wmf.14/vendor/wikimedia/parsoid/extension/src/Rest/Handler/PageHandler.php(88): MWParsoid\Rest\Handler\ParsoidHandler->wt2html(MediaWiki\Parser\Parsoid\Config\PageConfig, array)
#26 /srv/mediawiki/php-1.39.0-wmf.14/includes/Rest/Router.php(424): MWParsoid\Rest\Handler\PageHandler->execute()
#27 /srv/mediawiki/php-1.39.0-wmf.14/includes/Rest/Router.php(343): MediaWiki\Rest\Router->executeHandler(MWParsoid\Rest\Handler\PageHandler)
#28 /srv/mediawiki/php-1.39.0-wmf.14/includes/Rest/EntryPoint.php(171): MediaWiki\Rest\Router->execute(MediaWiki\Rest\RequestFromGlobals)
#29 /srv/mediawiki/php-1.39.0-wmf.14/includes/Rest/EntryPoint.php(136): MediaWiki\Rest\EntryPoint->execute()
#30 /srv/mediawiki/php-1.39.0-wmf.14/rest.php(31): MediaWiki\Rest\EntryPoint::main()
#31 /srv/mediawiki/w/rest.php(3): require(string)
#32 {main}
Impact
Notes

Details

Request URL
https://fr.wikipedia.org/w/rest.php/fr.wikipedia.org/v3/page/pagebundle/Projet%3AWikim%C3%A9dia/193295235

Event Timeline

Arlolra triaged this task as Medium priority.Jun 3 2022, 9:40 PM
Arlolra moved this task from Needs Triage to Bugs & Crashers on the Parsoid board.

Funny, the wikitext is,

<imagemap>
Image:Desktop_computer_clipart_-_Yellow_theme.svg|60x60px|Portail:Informatique]]
default [[Portail:Informatique]]
desc none
</imagemap>

The media option Portail:Informatique]] closes the link early, preventing us from adding |none to assure this is rendered as block and has a figcaption to extract the caption from,
https://github.com/wikimedia/parsoid/blob/master/src/Ext/ParsoidExtensionAPI.php#L789-L799

I just finished removing some robustness in the gallery extension because I assumed this wasn't possible,
https://github.com/wikimedia/parsoid/commit/5261741911abb096585091bdb44ca4e2850a85c0

Shows how wrong I can be.

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

[mediawiki/services/parsoid@master] Assure we have a figure if $forceBlock is set when rendering media

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

Change 802871 merged by jenkins-bot:

[mediawiki/services/parsoid@master] Assure we have a figure if $forceBlock is set when rendering media

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

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

[mediawiki/vendor@master] Bump parsoid to 0.16.0-a12

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

Change 805225 merged by jenkins-bot:

[mediawiki/vendor@master] Bump parsoid to 0.16.0-a12

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