Page MenuHomePhabricator

PHP Warning: array_merge(): Expected parameter 3 to be an array, object given
Closed, ResolvedPublicPRODUCTION ERROR

Description

Error
normalized_message
[{reqId}] {exception_url}   PHP Warning: array_merge(): Expected parameter 3 to be an array, object given
exception.trace
from /srv/mediawiki/php-1.41.0-wmf.3/vendor/wikimedia/parsoid/src/Wt2Html/Grammar.php(836)
#0 [internal function]: MWExceptionHandler::handleError(integer, string, string, integer, array)
#1 /srv/mediawiki/php-1.41.0-wmf.3/vendor/wikimedia/parsoid/src/Wt2Html/Grammar.php(836): array_merge(array, array, Wikimedia\Parsoid\Tokens\SelfclosingTagTk)
#2 /srv/mediawiki/php-1.41.0-wmf.3/vendor/wikimedia/parsoid/src/Wt2Html/Grammar.php(4315): Wikimedia\Parsoid\Wt2Html\Grammar->a49(Wikimedia\Parsoid\Tokens\SelfclosingTagTk, array, Wikimedia\Parsoid\Tokens\SelfclosingTagTk)
#3 /srv/mediawiki/php-1.41.0-wmf.3/vendor/wikimedia/parsoid/src/Wt2Html/Grammar.php(2883): Wikimedia\Parsoid\Wt2Html\Grammar->parseblock(boolean, integer, NULL, NULL)
#4 /srv/mediawiki/php-1.41.0-wmf.3/vendor/wikimedia/parsoid/src/Wt2Html/Grammar.php(1968): Wikimedia\Parsoid\Wt2Html\Grammar->parsetlb(boolean, NULL)
#5 /srv/mediawiki/php-1.41.0-wmf.3/vendor/wikimedia/parsoid/src/Wt2Html/PegTokenizer.php(129): Wikimedia\Parsoid\Wt2Html\Grammar->streamstart_async(boolean, NULL)
#6 /srv/mediawiki/php-1.41.0-wmf.3/vendor/wikimedia/parsoid/src/Wt2Html/TokenTransformManager.php(193): Wikimedia\Parsoid\Wt2Html\PegTokenizer->processChunkily(string, array)
#7 /srv/mediawiki/php-1.41.0-wmf.3/vendor/wikimedia/parsoid/src/Wt2Html/TokenTransformManager.php(193): Wikimedia\Parsoid\Wt2Html\TokenTransformManager->processChunkily(string, array)
#8 /srv/mediawiki/php-1.41.0-wmf.3/vendor/wikimedia/parsoid/src/Wt2Html/TreeBuilder/TreeBuilderStage.php(497): Wikimedia\Parsoid\Wt2Html\TokenTransformManager->processChunkily(string, array)
#9 [internal function]: Wikimedia\Parsoid\Wt2Html\TreeBuilder\TreeBuilderStage->processChunkily(string, array)
#10 /srv/mediawiki/php-1.41.0-wmf.3/vendor/wikimedia/parsoid/src/Wt2Html/DOMPostProcessor.php(923): Generator->current()
#11 /srv/mediawiki/php-1.41.0-wmf.3/vendor/wikimedia/parsoid/src/Wt2Html/ParserPipeline.php(180): Wikimedia\Parsoid\Wt2Html\DOMPostProcessor->processChunkily(string, array)
#12 /srv/mediawiki/php-1.41.0-wmf.3/vendor/wikimedia/parsoid/src/Wt2Html/ParserPipelineFactory.php(299): Wikimedia\Parsoid\Wt2Html\ParserPipeline->parseChunkily(string, array)
#13 /srv/mediawiki/php-1.41.0-wmf.3/vendor/wikimedia/parsoid/src/Wikitext/ContentModelHandler.php(130): Wikimedia\Parsoid\Wt2Html\ParserPipelineFactory->parse(string)
#14 /srv/mediawiki/php-1.41.0-wmf.3/vendor/wikimedia/parsoid/src/Parsoid.php(174): Wikimedia\Parsoid\Wikitext\ContentModelHandler->toDOM(Wikimedia\Parsoid\Ext\ParsoidExtensionAPI)
#15 /srv/mediawiki/php-1.41.0-wmf.3/vendor/wikimedia/parsoid/src/Parsoid.php(216): Wikimedia\Parsoid\Parsoid->parseWikitext(MediaWiki\Parser\Parsoid\Config\PageConfig, ParserOutput, array)
#16 /srv/mediawiki/php-1.41.0-wmf.3/includes/parser/Parsoid/ParsoidOutputAccess.php(298): Wikimedia\Parsoid\Parsoid->wikitext2html(MediaWiki\Parser\Parsoid\Config\PageConfig, array, NULL, ParserOutput)
#17 /srv/mediawiki/php-1.41.0-wmf.3/includes/parser/Parsoid/ParsoidOutputAccess.php(465): MediaWiki\Parser\Parsoid\ParsoidOutputAccess->parseInternal(MediaWiki\Parser\Parsoid\Config\PageConfig, array)
#18 /srv/mediawiki/php-1.41.0-wmf.3/includes/parser/Parsoid/ParsoidOutputAccess.php(244): MediaWiki\Parser\Parsoid\ParsoidOutputAccess->parse(MediaWiki\Page\PageStoreRecord, ParserOptions, array, MediaWiki\Revision\RevisionStoreRecord)
#19 /srv/mediawiki/php-1.41.0-wmf.3/includes/Rest/Handler/Helper/HtmlOutputRendererHelper.php(705): MediaWiki\Parser\Parsoid\ParsoidOutputAccess->getParserOutput(MediaWiki\Page\PageStoreRecord, ParserOptions, MediaWiki\Revision\RevisionStoreRecord, integer)
#20 /srv/mediawiki/php-1.41.0-wmf.3/includes/Rest/Handler/Helper/HtmlOutputRendererHelper.php(532): MediaWiki\Rest\Handler\Helper\HtmlOutputRendererHelper->getParserOutputInternal(ParserOptions)
#21 /srv/mediawiki/php-1.41.0-wmf.3/includes/Rest/Handler/Helper/HtmlOutputRendererHelper.php(628): MediaWiki\Rest\Handler\Helper\HtmlOutputRendererHelper->getParserOutput()
#22 /srv/mediawiki/php-1.41.0-wmf.3/includes/Rest/Handler/ParsoidHandler.php(913): MediaWiki\Rest\Handler\Helper\HtmlOutputRendererHelper->getPageBundle()
#23 /srv/mediawiki/php-1.41.0-wmf.3/vendor/wikimedia/parsoid/extension/src/Rest/Handler/PageHandler.php(92): MediaWiki\Rest\Handler\ParsoidHandler->wt2html(MediaWiki\Parser\Parsoid\Config\PageConfig, array)
#24 /srv/mediawiki/php-1.41.0-wmf.3/includes/Rest/Router.php(517): MWParsoid\Rest\Handler\PageHandler->execute()
#25 /srv/mediawiki/php-1.41.0-wmf.3/includes/Rest/Router.php(422): MediaWiki\Rest\Router->executeHandler(MWParsoid\Rest\Handler\PageHandler)
#26 /srv/mediawiki/php-1.41.0-wmf.3/includes/Rest/EntryPoint.php(195): MediaWiki\Rest\Router->execute(MediaWiki\Rest\RequestFromGlobals)
#27 /srv/mediawiki/php-1.41.0-wmf.3/includes/Rest/EntryPoint.php(135): MediaWiki\Rest\EntryPoint->execute()
#28 /srv/mediawiki/php-1.41.0-wmf.3/rest.php(31): MediaWiki\Rest\EntryPoint::main()
#29 /srv/mediawiki/w/rest.php(3): require(string)
#30 {main}
Impact
Notes

Details

Request URL
https://en.wikipedia.org/w/rest.php/en.wikipedia.org/v3/page/pagebundle/User%3ALmollenkamp%2FSEND_International/312399525

Event Timeline

Easily reproducible with this wikitext snippet. Might need some minor tweaking in the block or redirect grammar production.

~/work/wmf/parsoid (indicators ✘)✭ ᐅ echo "#REDIRECT [[SEND International]]----" | php bin/parse.php
PHP Warning:  array_merge(): Expected parameter 3 to be an array, object given in /home/subbu/work/wmf/parsoid/src/Wt2Html/Grammar.php on line 836
Arlolra triaged this task as Medium priority.

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

[mediawiki/services/parsoid@master] Make block_line always return an array

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

Change 926538 merged by jenkins-bot:

[mediawiki/services/parsoid@master] Make block_line always return an array

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

Change 927241 had a related patch set uploaded (by Sbailey; author: Sbailey):

[mediawiki/vendor@master] Bump parsoid to 0.18.0-a13

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

Change 927241 merged by jenkins-bot:

[mediawiki/vendor@master] Bump parsoid to 0.18.0-a13

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