Page MenuHomePhabricator

PHP Deprecated: preg_replace_callback(): Passing null to parameter #3 ($subject) of type array|string is deprecated
Closed, ResolvedPublicPRODUCTION ERROR

Description

Error
normalized_message
[{reqId}] {exception_url}   PHP Deprecated: preg_replace_callback(): Passing null to parameter #3 ($subject) of type array|string is deprecated
FrameLocationCall
from/srv/mediawiki/php-1.44.0-wmf.19/extensions/Quiz/includes/Quiz.php(248)
#0[internal function]MWExceptionHandler::handleError(int, string, string, int)
#1/srv/mediawiki/php-1.44.0-wmf.19/extensions/Quiz/includes/Quiz.php(248)preg_replace_callback(string, array, null)
#2/srv/mediawiki/php-1.44.0-wmf.19/extensions/Quiz/includes/Quiz.php(211)MediaWiki\Extension\Quiz\Quiz->parseIncludes(null)
#3/srv/mediawiki/php-1.44.0-wmf.19/extensions/Quiz/includes/Hooks.php(35)MediaWiki\Extension\Quiz\Quiz->parseQuiz(null)
#4/srv/mediawiki/php-1.44.0-wmf.19/includes/parser/Parser.php(4077)MediaWiki\Extension\Quiz\Hooks::renderQuiz(null, array, MediaWiki\Parser\Parser, MediaWiki\Parser\PPFrame_Hash)
#5/srv/mediawiki/php-1.44.0-wmf.19/includes/parser/PPFrame_Hash.php(362)MediaWiki\Parser\Parser->extensionSubstitution(array, MediaWiki\Parser\PPFrame_Hash, bool)
#6/srv/mediawiki/php-1.44.0-wmf.19/includes/parser/Parser.php(2969)MediaWiki\Parser\PPFrame_Hash->expand(MediaWiki\Parser\PPNode_Hash_Tree, int)
#7/srv/mediawiki/php-1.44.0-wmf.19/includes/parser/Parser.php(1601)MediaWiki\Parser\Parser->replaceVariables(string)
#8/srv/mediawiki/php-1.44.0-wmf.19/includes/parser/Parser.php(700)MediaWiki\Parser\Parser->internalParse(string)
#9/srv/mediawiki/php-1.44.0-wmf.19/includes/content/WikitextContentHandler.php(384)MediaWiki\Parser\Parser->parse(string, MediaWiki\Title\Title, MediaWiki\Parser\ParserOptions, bool, bool, int)
#10/srv/mediawiki/php-1.44.0-wmf.19/includes/content/ContentHandler.php(1697)MediaWiki\Content\WikitextContentHandler->fillParserOutput(MediaWiki\Content\WikitextContent, MediaWiki\Content\Renderer\ContentParseParams, MediaWiki\Parser\ParserOutput)
#11/srv/mediawiki/php-1.44.0-wmf.19/includes/content/Renderer/ContentRenderer.php(75)MediaWiki\Content\ContentHandler->getParserOutput(MediaWiki\Content\WikitextContent, MediaWiki\Content\Renderer\ContentParseParams)
#12/srv/mediawiki/php-1.44.0-wmf.19/includes/Revision/RenderedRevision.php(261)MediaWiki\Content\Renderer\ContentRenderer->getParserOutput(MediaWiki\Content\WikitextContent, MediaWiki\Page\PageIdentityValue, MediaWiki\Revision\RevisionStoreRecord, MediaWiki\Parser\ParserOptions, array)
#13/srv/mediawiki/php-1.44.0-wmf.19/includes/Revision/RenderedRevision.php(233)MediaWiki\Revision\RenderedRevision->getSlotParserOutputUncached(MediaWiki\Content\WikitextContent, array)
#14/srv/mediawiki/php-1.44.0-wmf.19/includes/Revision/RevisionRenderer.php(236)MediaWiki\Revision\RenderedRevision->getSlotParserOutput(string, array)
#15/srv/mediawiki/php-1.44.0-wmf.19/includes/Revision/RevisionRenderer.php(169)MediaWiki\Revision\RevisionRenderer->combineSlotOutput(MediaWiki\Revision\RenderedRevision, MediaWiki\Parser\ParserOptions, array)
#16/srv/mediawiki/php-1.44.0-wmf.19/includes/Revision/RenderedRevision.php(196)MediaWiki\Revision\RevisionRenderer->MediaWiki\Revision\{closure}(MediaWiki\Revision\RenderedRevision, array)
#17/srv/mediawiki/php-1.44.0-wmf.19/includes/poolcounter/PoolWorkArticleView.php(106)MediaWiki\Revision\RenderedRevision->getRevisionParserOutput()
#18/srv/mediawiki/php-1.44.0-wmf.19/includes/poolcounter/PoolWorkArticleViewCurrent.php(123)MediaWiki\PoolCounter\PoolWorkArticleView->renderRevision(null, bool, string)
#19/srv/mediawiki/php-1.44.0-wmf.19/includes/poolcounter/PoolCounterWork.php(171)MediaWiki\PoolCounter\PoolWorkArticleViewCurrent->doWork()
#20/srv/mediawiki/php-1.44.0-wmf.19/includes/page/ParserOutputAccess.php(369)MediaWiki\PoolCounter\PoolCounterWork->execute()
#21/srv/mediawiki/php-1.44.0-wmf.19/includes/page/Article.php(829)MediaWiki\Page\ParserOutputAccess->getParserOutput(WikiPage, MediaWiki\Parser\ParserOptions, MediaWiki\Revision\RevisionStoreRecord, int)
#22/srv/mediawiki/php-1.44.0-wmf.19/includes/page/Article.php(545)Article->generateContentOutput(MediaWiki\User\User, MediaWiki\Parser\ParserOptions, int, MediaWiki\Output\OutputPage, array)
#23/srv/mediawiki/php-1.44.0-wmf.19/includes/actions/ViewAction.php(78)Article->view()
#24/srv/mediawiki/php-1.44.0-wmf.19/includes/actions/ActionEntryPoint.php(732)ViewAction->show()
#25/srv/mediawiki/php-1.44.0-wmf.19/includes/actions/ActionEntryPoint.php(509)MediaWiki\Actions\ActionEntryPoint->performAction(Article, MediaWiki\Title\Title)
#26/srv/mediawiki/php-1.44.0-wmf.19/includes/actions/ActionEntryPoint.php(145)MediaWiki\Actions\ActionEntryPoint->performRequest()
#27/srv/mediawiki/php-1.44.0-wmf.19/includes/MediaWikiEntryPoint.php(202)MediaWiki\Actions\ActionEntryPoint->execute()
#28/srv/mediawiki/php-1.44.0-wmf.19/index.php(58)MediaWiki\MediaWikiEntryPoint->run()
#29/srv/mediawiki/w/index.php(3)require(string)
#30{main}
Impact
Notes

Event Timeline

Change #1125599 had a related patch set uploaded (by Reedy; author: Reedy):

[mediawiki/extensions/Quiz@master] Note that some parameters may be null

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

Change #1125600 had a related patch set uploaded (by Reedy; author: Reedy):

[mediawiki/extensions/Quiz@master] Quiz: Bail out early if $input is null

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

Thanks!

Extension definitely needs some hardening too, because it assumes it's going to be passed a string, when it's documented in the Parser that it can return null (in the case of self closed tags..)

Change #1125599 merged by jenkins-bot:

[mediawiki/extensions/Quiz@master] Note that some parameters may be null

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

Change #1125648 had a related patch set uploaded (by Reedy; author: Reedy):

[mediawiki/extensions/Quiz@REL1_43] Note that some parameters may be null

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

Change #1125649 had a related patch set uploaded (by Reedy; author: Reedy):

[mediawiki/extensions/Quiz@REL1_42] Note that some parameters may be null

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

Change #1125650 had a related patch set uploaded (by Reedy; author: Reedy):

[mediawiki/extensions/Quiz@REL1_39] Note that some parameters may be null

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

Change #1125650 merged by jenkins-bot:

[mediawiki/extensions/Quiz@REL1_39] Note that some parameters may be null

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

Change #1125649 merged by jenkins-bot:

[mediawiki/extensions/Quiz@REL1_42] Note that some parameters may be null

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

Change #1125648 merged by jenkins-bot:

[mediawiki/extensions/Quiz@REL1_43] Note that some parameters may be null

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

Change #1125600 merged by jenkins-bot:

[mediawiki/extensions/Quiz@master] Quiz: Bail out early if $input is null

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

Change #1125982 had a related patch set uploaded (by Reedy; author: Reedy):

[mediawiki/extensions/Quiz@REL1_43] Quiz: Bail out early if $input is null

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

Change #1125983 had a related patch set uploaded (by Reedy; author: Reedy):

[mediawiki/extensions/Quiz@REL1_42] Quiz: Bail out early if $input is null

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

Change #1125984 had a related patch set uploaded (by Reedy; author: Reedy):

[mediawiki/extensions/Quiz@REL1_39] Quiz: Bail out early if $input is null

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

Reedy claimed this task.

Change #1125984 merged by jenkins-bot:

[mediawiki/extensions/Quiz@REL1_39] Quiz: Bail out early if $input is null

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

Change #1125982 merged by jenkins-bot:

[mediawiki/extensions/Quiz@REL1_43] Quiz: Bail out early if $input is null

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

Change #1125983 merged by jenkins-bot:

[mediawiki/extensions/Quiz@REL1_42] Quiz: Bail out early if $input is null

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