Page MenuHomePhabricator

PHP Warning: Undefined array key "details"
Closed, ResolvedPublicPRODUCTION ERROR

Description

Error
  • mwversion: 1.45.0-wmf.7
  • timestamp: 2025-06-24T19:07:51.948Z
  • phpversion: 8.1.32
  • reqId: 1d32c249-c8c5-4330-a32c-92838dcd4ee8
  • Find reqId in Logstash
normalized_message
[{reqId}] {exception_url}   PHP Warning: Undefined array key "details"
FrameLocationCall
from/srv/mediawiki/php-1.45.0-wmf.7/extensions/Cite/src/Validator.php(145)
#0/srv/mediawiki/php-1.45.0-wmf.7/extensions/Cite/src/Validator.php(145)MediaWiki\Exception\MWExceptionHandler::handleError(int, string, string, int)
#1/srv/mediawiki/php-1.45.0-wmf.7/extensions/Cite/src/Validator.php(125)Cite\Validator->validateRefBeforeReferenceList(string, array)
#2/srv/mediawiki/php-1.45.0-wmf.7/extensions/Cite/src/Cite.php(148)Cite\Validator->validateRef(string, array)
#3/srv/mediawiki/php-1.45.0-wmf.7/extensions/Cite/src/Cite.php(121)Cite\Cite->guardedRef(MediaWiki\Parser\Parser, string, array)
#4/srv/mediawiki/php-1.45.0-wmf.7/extensions/Cite/src/Hooks/CiteParserTagHooks.php(48)Cite\Cite->ref(MediaWiki\Parser\Parser, string, array)
#5/srv/mediawiki/php-1.45.0-wmf.7/includes/parser/Parser.php(4091)Cite\Hooks\CiteParserTagHooks->ref(string, array, MediaWiki\Parser\Parser, MediaWiki\Parser\PPFrame_Hash)
#6/srv/mediawiki/php-1.45.0-wmf.7/includes/parser/PPFrame_Hash.php(362)MediaWiki\Parser\Parser->extensionSubstitution(array, MediaWiki\Parser\PPFrame_Hash, bool)
#7/srv/mediawiki/php-1.45.0-wmf.7/includes/parser/Parser.php(2982)MediaWiki\Parser\PPFrame_Hash->expand(MediaWiki\Parser\PPNode_Hash_Tree, int)
#8/srv/mediawiki/php-1.45.0-wmf.7/includes/parser/Parser.php(1618)MediaWiki\Parser\Parser->replaceVariables(string)
#9/srv/mediawiki/php-1.45.0-wmf.7/includes/parser/Parser.php(705)MediaWiki\Parser\Parser->internalParse(string)
#10/srv/mediawiki/php-1.45.0-wmf.7/includes/content/WikitextContentHandler.php(382)MediaWiki\Parser\Parser->parse(string, MediaWiki\Title\Title, MediaWiki\Parser\ParserOptions, bool, bool, int)
#11/srv/mediawiki/php-1.45.0-wmf.7/includes/content/ContentHandler.php(1693)MediaWiki\Content\WikitextContentHandler->fillParserOutput(MediaWiki\Content\WikitextContent, MediaWiki\Content\Renderer\ContentParseParams, MediaWiki\Parser\ParserOutput)
#12/srv/mediawiki/php-1.45.0-wmf.7/includes/content/Renderer/ContentRenderer.php(75)MediaWiki\Content\ContentHandler->getParserOutput(MediaWiki\Content\WikitextContent, MediaWiki\Content\Renderer\ContentParseParams)
#13/srv/mediawiki/php-1.45.0-wmf.7/includes/Revision/RenderedRevision.php(261)MediaWiki\Content\Renderer\ContentRenderer->getParserOutput(MediaWiki\Content\WikitextContent, MediaWiki\Page\PageIdentityValue, MediaWiki\Revision\RevisionStoreRecord, MediaWiki\Parser\ParserOptions, array)
#14/srv/mediawiki/php-1.45.0-wmf.7/includes/Revision/RenderedRevision.php(233)MediaWiki\Revision\RenderedRevision->getSlotParserOutputUncached(MediaWiki\Content\WikitextContent, array)
#15/srv/mediawiki/php-1.45.0-wmf.7/includes/Revision/RevisionRenderer.php(236)MediaWiki\Revision\RenderedRevision->getSlotParserOutput(string, array)
#16/srv/mediawiki/php-1.45.0-wmf.7/includes/Revision/RevisionRenderer.php(169)MediaWiki\Revision\RevisionRenderer->combineSlotOutput(MediaWiki\Revision\RenderedRevision, MediaWiki\Parser\ParserOptions, array)
#17/srv/mediawiki/php-1.45.0-wmf.7/includes/Revision/RenderedRevision.php(196)MediaWiki\Revision\RevisionRenderer->MediaWiki\Revision\{closure}(MediaWiki\Revision\RenderedRevision, array)
#18/srv/mediawiki/php-1.45.0-wmf.7/includes/page/ParserOutputAccess.php(586)MediaWiki\Revision\RenderedRevision->getRevisionParserOutput()
#19/srv/mediawiki/php-1.45.0-wmf.7/includes/page/ParserOutputAccess.php(673)MediaWiki\Page\ParserOutputAccess->renderRevision(MediaWiki\Page\WikiPage, MediaWiki\Parser\ParserOptions, MediaWiki\Revision\RevisionStoreRecord, array)
#20/srv/mediawiki/php-1.45.0-wmf.7/includes/poolcounter/PoolCounterWorkViaCallback.php(81)MediaWiki\Page\ParserOutputAccess->MediaWiki\Page\{closure}()
#21/srv/mediawiki/php-1.45.0-wmf.7/includes/poolcounter/PoolCounterWork.php(173)MediaWiki\PoolCounter\PoolCounterWorkViaCallback->doWork()
#22/srv/mediawiki/php-1.45.0-wmf.7/includes/page/ParserOutputAccess.php(490)MediaWiki\PoolCounter\PoolCounterWork->execute()
#23/srv/mediawiki/php-1.45.0-wmf.7/includes/page/Article.php(836)MediaWiki\Page\ParserOutputAccess->getParserOutput(MediaWiki\Page\WikiPage, MediaWiki\Parser\ParserOptions, MediaWiki\Revision\RevisionStoreRecord, array)
#24/srv/mediawiki/php-1.45.0-wmf.7/includes/page/Article.php(551)MediaWiki\Page\Article->generateContentOutput(MediaWiki\User\User, MediaWiki\Parser\ParserOptions, int, MediaWiki\Output\OutputPage, array)
#25/srv/mediawiki/php-1.45.0-wmf.7/includes/actions/ViewAction.php(84)MediaWiki\Page\Article->view()
#26/srv/mediawiki/php-1.45.0-wmf.7/includes/actions/ActionEntryPoint.php(728)MediaWiki\Actions\ViewAction->show()
#27/srv/mediawiki/php-1.45.0-wmf.7/includes/actions/ActionEntryPoint.php(505)MediaWiki\Actions\ActionEntryPoint->performAction(MediaWiki\Page\Article, MediaWiki\Title\Title)
#28/srv/mediawiki/php-1.45.0-wmf.7/includes/actions/ActionEntryPoint.php(143)MediaWiki\Actions\ActionEntryPoint->performRequest()
#29/srv/mediawiki/php-1.45.0-wmf.7/includes/MediaWikiEntryPoint.php(198)MediaWiki\Actions\ActionEntryPoint->execute()
#30/srv/mediawiki/php-1.45.0-wmf.7/index.php(58)MediaWiki\MediaWikiEntryPoint->run()
#31/srv/mediawiki/w/index.php(3)require(string)
#32{main}
Impact

There have been thousands of these in the 10 min since deploying the train

Notes

Related Objects

StatusSubtypeAssignedTask
ResolvedReleasejeena
ResolvedPRODUCTION ERRORthiemowmde

Event Timeline

Change #1163455 had a related patch set uploaded (by Zabe; author: Zabe):

[mediawiki/extensions/Cite@master] Check if details marker is set before accessing it

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

thiemowmde lowered the priority of this task from Unbreak Now! to Needs Triage.Jun 25 2025, 5:26 AM

I'm confused how something mundane as this can be an "unbreak now"? It impossible to cause any harm other than being logged.

Change #1163455 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] Check if details marker is set before accessing it

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

I'm confused how something mundane as this can be an "unbreak now"? It impossible to cause any harm other than being logged.

Our policy is to reduce the stream of logged errors to a minimum so that ideally there is nothing being logged. This way we can detect errors more easily (that is not automated). We file tasks for new errors and flag them as train blockers and unbreak now to ensure they get triaged. In most case the train conductor barely know the code or what effect it can have.

That got triaged and even fixed!!! I'll deploy it. Thank you :)

Change #1163696 had a related patch set uploaded (by Hashar; author: Zabe):

[mediawiki/extensions/Cite@wmf/1.45.0-wmf.7] Check if details marker is set before accessing it

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

Ok, that makes sense. Thanks for explaining!

Change #1163696 merged by jenkins-bot:

[mediawiki/extensions/Cite@wmf/1.45.0-wmf.7] Check if details marker is set before accessing it

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

Mentioned in SAL (#wikimedia-operations) [2025-06-25T08:32:24Z] <hashar@deploy1003> Started scap sync-world: Backport for [[gerrit:1163696|Check if details marker is set before accessing it (T397760)]]

Change #1163703 had a related patch set uploaded (by Thiemo Kreuz (WMDE); author: Thiemo Kreuz (WMDE)):

[mediawiki/extensions/Cite@master] Add extra parser test with sub-ref feature flag disabled

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

Mentioned in SAL (#wikimedia-operations) [2025-06-25T08:34:35Z] <hashar@deploy1003> hashar: Backport for [[gerrit:1163696|Check if details marker is set before accessing it (T397760)]] synced to the testservers (see https://wikitech.wikimedia.org/wiki/Mwdebug). Changes can now be verified there.

I ran the backport :-] Thank you for the patches.

Mentioned in SAL (#wikimedia-operations) [2025-06-25T08:42:15Z] <hashar@deploy1003> Finished scap sync-world: Backport for [[gerrit:1163696|Check if details marker is set before accessing it (T397760)]] (duration: 09m 51s)

Change #1163703 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] Add extra parser test with sub-ref feature flag disabled

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