Page MenuHomePhabricator

TypeError: substr() expects parameter 2 to be int, null given
Closed, ResolvedPublicPRODUCTION ERROR

Description

Error
normalized_message
[{reqId}] {exception_url}   TypeError: substr() expects parameter 2 to be int, null given
exception.trace
from /srv/mediawiki/php-1.42.0-wmf.10/vendor/wikimedia/parsoid/src/Wt2Html/PP/Handlers/TableFixups.php(511)
#0 /srv/mediawiki/php-1.42.0-wmf.10/vendor/wikimedia/parsoid/src/Wt2Html/PP/Handlers/TableFixups.php(511): substr(string, NULL)
#1 /srv/mediawiki/php-1.42.0-wmf.10/vendor/wikimedia/parsoid/src/Wt2Html/PP/Handlers/TableFixups.php(655): Wikimedia\Parsoid\Wt2Html\PP\Handlers\TableFixups->combineWithPreviousCell(Wikimedia\Parsoid\Wt2Html\PageConfigFrame, Wikimedia\Parsoid\DOM\Element)
#2 /srv/mediawiki/php-1.42.0-wmf.10/vendor/wikimedia/parsoid/src/Wt2Html/DOMPostProcessor.php(459): Wikimedia\Parsoid\Wt2Html\PP\Handlers\TableFixups->handleTableCellTemplates(Wikimedia\Parsoid\DOM\Element, Wikimedia\Parsoid\Wt2Html\PageConfigFrame)
#3 [internal function]: Wikimedia\Parsoid\Wt2Html\DOMPostProcessor->Wikimedia\Parsoid\Wt2Html\{closure}(Wikimedia\Parsoid\DOM\Element, Wikimedia\Parsoid\Utils\DTState)
#4 /srv/mediawiki/php-1.42.0-wmf.10/vendor/wikimedia/parsoid/src/Utils/DOMTraverser.php(111): call_user_func(Closure, Wikimedia\Parsoid\DOM\Element, Wikimedia\Parsoid\Utils\DTState)
#5 /srv/mediawiki/php-1.42.0-wmf.10/vendor/wikimedia/parsoid/src/Utils/DOMTraverser.php(189): Wikimedia\Parsoid\Utils\DOMTraverser->callHandlers(Wikimedia\Parsoid\DOM\Element, Wikimedia\Parsoid\Ext\ParsoidExtensionAPI, Wikimedia\Parsoid\Utils\DTState)
#6 /srv/mediawiki/php-1.42.0-wmf.10/vendor/wikimedia/parsoid/src/Utils/DOMTraverser.php(204): Wikimedia\Parsoid\Utils\DOMTraverser->traverseInternal(boolean, Wikimedia\Parsoid\Ext\ParsoidExtensionAPI, Wikimedia\Parsoid\DOM\Element, Wikimedia\Parsoid\Utils\DTState)
#7 /srv/mediawiki/php-1.42.0-wmf.10/vendor/wikimedia/parsoid/src/Utils/DOMTraverser.php(204): Wikimedia\Parsoid\Utils\DOMTraverser->traverseInternal(boolean, Wikimedia\Parsoid\Ext\ParsoidExtensionAPI, Wikimedia\Parsoid\DOM\Element, Wikimedia\Parsoid\Utils\DTState)
#8 /srv/mediawiki/php-1.42.0-wmf.10/vendor/wikimedia/parsoid/src/Utils/DOMTraverser.php(204): Wikimedia\Parsoid\Utils\DOMTraverser->traverseInternal(boolean, Wikimedia\Parsoid\Ext\ParsoidExtensionAPI, Wikimedia\Parsoid\DOM\Element, Wikimedia\Parsoid\Utils\DTState)
#9 /srv/mediawiki/php-1.42.0-wmf.10/vendor/wikimedia/parsoid/src/Utils/DOMTraverser.php(204): Wikimedia\Parsoid\Utils\DOMTraverser->traverseInternal(boolean, Wikimedia\Parsoid\Ext\ParsoidExtensionAPI, Wikimedia\Parsoid\DOM\Element, Wikimedia\Parsoid\Utils\DTState)
#10 /srv/mediawiki/php-1.42.0-wmf.10/vendor/wikimedia/parsoid/src/Utils/DOMTraverser.php(145): Wikimedia\Parsoid\Utils\DOMTraverser->traverseInternal(boolean, Wikimedia\Parsoid\Ext\ParsoidExtensionAPI, Wikimedia\Parsoid\DOM\Element, Wikimedia\Parsoid\Utils\DTState)
#11 /srv/mediawiki/php-1.42.0-wmf.10/vendor/wikimedia/parsoid/src/Wt2Html/DOMPPTraverser.php(43): Wikimedia\Parsoid\Utils\DOMTraverser->traverse(Wikimedia\Parsoid\Ext\ParsoidExtensionAPI, Wikimedia\Parsoid\DOM\Element, Wikimedia\Parsoid\Utils\DTState)
#12 /srv/mediawiki/php-1.42.0-wmf.10/vendor/wikimedia/parsoid/src/Wt2Html/DOMPostProcessor.php(145): Wikimedia\Parsoid\Wt2Html\DOMPPTraverser->run(Wikimedia\Parsoid\Config\Env, Wikimedia\Parsoid\DOM\Element, array, boolean)
#13 /srv/mediawiki/php-1.42.0-wmf.10/vendor/wikimedia/parsoid/src/Wt2Html/DOMPostProcessor.php(932): Wikimedia\Parsoid\Wt2Html\DOMPostProcessor->Wikimedia\Parsoid\Wt2Html\{closure}(Wikimedia\Parsoid\DOM\Element, array, boolean)
#14 /srv/mediawiki/php-1.42.0-wmf.10/vendor/wikimedia/parsoid/src/Wt2Html/DOMPostProcessor.php(973): Wikimedia\Parsoid\Wt2Html\DOMPostProcessor->doPostProcess(Wikimedia\Parsoid\DOM\Element)
#15 /srv/mediawiki/php-1.42.0-wmf.10/vendor/wikimedia/parsoid/src/Wt2Html/DOMPostProcessor.php(991): Wikimedia\Parsoid\Wt2Html\DOMPostProcessor->process(Wikimedia\Parsoid\DOM\Element)
#16 /srv/mediawiki/php-1.42.0-wmf.10/vendor/wikimedia/parsoid/src/Wt2Html/ParserPipeline.php(180): Wikimedia\Parsoid\Wt2Html\DOMPostProcessor->processChunkily(string, array)
#17 /srv/mediawiki/php-1.42.0-wmf.10/vendor/wikimedia/parsoid/src/Wt2Html/ParserPipelineFactory.php(293): Wikimedia\Parsoid\Wt2Html\ParserPipeline->parseChunkily(string, array)
#18 /srv/mediawiki/php-1.42.0-wmf.10/vendor/wikimedia/parsoid/src/Wikitext/ContentModelHandler.php(164): Wikimedia\Parsoid\Wt2Html\ParserPipelineFactory->parse(string)
#19 /srv/mediawiki/php-1.42.0-wmf.10/vendor/wikimedia/parsoid/src/Parsoid.php(199): Wikimedia\Parsoid\Wikitext\ContentModelHandler->toDOM(Wikimedia\Parsoid\Ext\ParsoidExtensionAPI)
#20 /srv/mediawiki/php-1.42.0-wmf.10/vendor/wikimedia/parsoid/src/Parsoid.php(240): Wikimedia\Parsoid\Parsoid->parseWikitext(MediaWiki\Parser\Parsoid\Config\PageConfig, MediaWiki\Parser\ParserOutput, array)
#21 /srv/mediawiki/php-1.42.0-wmf.10/includes/parser/Parsoid/ParsoidParser.php(152): Wikimedia\Parsoid\Parsoid->wikitext2html(MediaWiki\Parser\Parsoid\Config\PageConfig, array, NULL, MediaWiki\Parser\ParserOutput)
#22 /srv/mediawiki/php-1.42.0-wmf.10/includes/parser/Parsoid/ParsoidParser.php(257): MediaWiki\Parser\Parsoid\ParsoidParser->genParserOutput(MediaWiki\Parser\Parsoid\Config\PageConfig, ParserOptions)
#23 /srv/mediawiki/php-1.42.0-wmf.10/includes/content/WikitextContentHandler.php(397): MediaWiki\Parser\Parsoid\ParsoidParser->parse(string, MediaWiki\Title\Title, ParserOptions, boolean, boolean, integer)
#24 /srv/mediawiki/php-1.42.0-wmf.10/includes/content/ContentHandler.php(1698): WikitextContentHandler->fillParserOutput(WikitextContent, MediaWiki\Content\Renderer\ContentParseParams, MediaWiki\Parser\ParserOutput)
#25 /srv/mediawiki/php-1.42.0-wmf.10/includes/content/Renderer/ContentRenderer.php(47): ContentHandler->getParserOutput(WikitextContent, MediaWiki\Content\Renderer\ContentParseParams)
#26 /srv/mediawiki/php-1.42.0-wmf.10/includes/Revision/RenderedRevision.php(260): MediaWiki\Content\Renderer\ContentRenderer->getParserOutput(WikitextContent, MediaWiki\Title\Title, integer, ParserOptions, boolean)
#27 /srv/mediawiki/php-1.42.0-wmf.10/includes/Revision/RenderedRevision.php(232): MediaWiki\Revision\RenderedRevision->getSlotParserOutputUncached(WikitextContent, boolean)
#28 /srv/mediawiki/php-1.42.0-wmf.10/includes/Revision/RevisionRenderer.php(226): MediaWiki\Revision\RenderedRevision->getSlotParserOutput(string, array)
#29 /srv/mediawiki/php-1.42.0-wmf.10/includes/Revision/RevisionRenderer.php(164): MediaWiki\Revision\RevisionRenderer->combineSlotOutput(MediaWiki\Revision\RenderedRevision, ParserOptions, array)
#30 [internal function]: MediaWiki\Revision\RevisionRenderer->MediaWiki\Revision\{closure}(MediaWiki\Revision\RenderedRevision, array)
#31 /srv/mediawiki/php-1.42.0-wmf.10/includes/Revision/RenderedRevision.php(199): call_user_func(Closure, MediaWiki\Revision\RenderedRevision, array)
#32 /srv/mediawiki/php-1.42.0-wmf.10/includes/poolcounter/PoolWorkArticleView.php(84): MediaWiki\Revision\RenderedRevision->getRevisionParserOutput()
#33 /srv/mediawiki/php-1.42.0-wmf.10/includes/poolcounter/PoolWorkArticleViewCurrent.php(105): PoolWorkArticleView->renderRevision()
#34 /srv/mediawiki/php-1.42.0-wmf.10/includes/poolcounter/PoolCounterWork.php(167): PoolWorkArticleViewCurrent->doWork()
#35 /srv/mediawiki/php-1.42.0-wmf.10/includes/page/ParserOutputAccess.php(307): PoolCounterWork->execute()
#36 /srv/mediawiki/php-1.42.0-wmf.10/includes/parser/Parsoid/ParsoidOutputAccess.php(197): MediaWiki\Page\ParserOutputAccess->getParserOutput(MediaWiki\Page\PageStoreRecord, ParserOptions, MediaWiki\Revision\RevisionStoreRecord, integer)
#37 /srv/mediawiki/php-1.42.0-wmf.10/includes/Rest/Handler/Helper/HtmlOutputRendererHelper.php(756): MediaWiki\Parser\Parsoid\ParsoidOutputAccess->getParserOutput(MediaWiki\Page\PageStoreRecord, ParserOptions, MediaWiki\Revision\RevisionStoreRecord, integer, boolean)
#38 /srv/mediawiki/php-1.42.0-wmf.10/includes/Rest/Handler/Helper/HtmlOutputRendererHelper.php(564): MediaWiki\Rest\Handler\Helper\HtmlOutputRendererHelper->getParserOutputInternal(ParserOptions)
#39 /srv/mediawiki/php-1.42.0-wmf.10/includes/Rest/Handler/Helper/HtmlOutputRendererHelper.php(660): MediaWiki\Rest\Handler\Helper\HtmlOutputRendererHelper->getParserOutput()
#40 /srv/mediawiki/php-1.42.0-wmf.10/includes/Rest/Handler/ParsoidHandler.php(741): MediaWiki\Rest\Handler\Helper\HtmlOutputRendererHelper->getPageBundle()
#41 /srv/mediawiki/php-1.42.0-wmf.10/vendor/wikimedia/parsoid/extension/src/Rest/Handler/PageHandler.php(92): MediaWiki\Rest\Handler\ParsoidHandler->wt2html(MediaWiki\Parser\Parsoid\Config\PageConfig, array)
#42 /srv/mediawiki/php-1.42.0-wmf.10/includes/Rest/Router.php(561): MWParsoid\Rest\Handler\PageHandler->execute()
#43 /srv/mediawiki/php-1.42.0-wmf.10/includes/Rest/Router.php(452): MediaWiki\Rest\Router->executeHandler(MWParsoid\Rest\Handler\PageHandler)
#44 /srv/mediawiki/php-1.42.0-wmf.10/includes/Rest/EntryPoint.php(195): MediaWiki\Rest\Router->execute(MediaWiki\Rest\RequestFromGlobals)
#45 /srv/mediawiki/php-1.42.0-wmf.10/includes/Rest/EntryPoint.php(135): MediaWiki\Rest\EntryPoint->execute()
#46 /srv/mediawiki/php-1.42.0-wmf.10/rest.php(31): MediaWiki\Rest\EntryPoint::main()
#47 /srv/mediawiki/w/rest.php(3): require(string)
#48 {main}
Impact
Notes

Details

Request URL
https://de.wikipedia.org/w/rest.php/de.wikipedia.org/v3/page/pagebundle/Benutzer%3AQuassy%2FTurniertabelle%2FKopf/129107390

Event Timeline

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

[mediawiki/services/parsoid@master] WIP: Bail out if we run into T354204

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

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

[mediawiki/services/parsoid@master] TableFixups: Fix checks pertaining to cell recombination

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

Change 987200 merged by jenkins-bot:

[mediawiki/services/parsoid@master] TableFixups: Fix checks pertaining to cell recombination

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

ssastry triaged this task as Medium priority.
ssastry moved this task from Needs Triage to Bugs & Crashers on the Parsoid board.
ssastry moved this task from Backlog to To Deploy on the Content-Transform-Team-WIP board.

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

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

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

Change 988723 merged by jenkins-bot:

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

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

This no longer crashes now but the output is still a bit broken but https://gerrit.wikimedia.org/r/c/mediawiki/services/parsoid/+/987493 should take care of that. But, I'm going to close this ticket.