Page MenuHomePhabricator

"TypeError: WikiReference::__construct(): Argument Title null" from Flow LinksTableUpdater->getReferencesForTitle while parsing a page
Open, Needs TriagePublicPRODUCTION ERROR

Description

Error
labels.normalized_message
[{reqId}] {exception_url}   TypeError: Flow\Model\WikiReference::__construct(): Argument #8 ($targetTitle) must be of type MediaWiki\Title\Title, null given, called in /srv/mediawiki/php-1.45.0-wmf.2/extensions/Flow/includes/Model/WikiReference.php on lin
FrameLocationCall
from/srv/mediawiki/php-1.45.0-wmf.2/extensions/Flow/includes/Model/WikiReference.php(28)
#0/srv/mediawiki/php-1.45.0-wmf.2/extensions/Flow/includes/Model/WikiReference.php(82)Flow\Model\WikiReference->__construct(Flow\Model\UUID, string, Flow\Model\UUID, MediaWiki\Title\Title, string, Flow\Model\UUID, string, null)
#1/srv/mediawiki/php-1.45.0-wmf.2/extensions/Flow/includes/Data/Mapper/BasicObjectMapper.php(40)Flow\Model\WikiReference::fromStorageRow(array, null)
#2/srv/mediawiki/php-1.45.0-wmf.2/extensions/Flow/includes/Data/ObjectLocator.php(315)Flow\Data\Mapper\BasicObjectMapper->fromStorageRow(array)
#3/srv/mediawiki/php-1.45.0-wmf.2/extensions/Flow/includes/Data/ObjectManager.php(307)Flow\Data\ObjectLocator->load(array)
#4/srv/mediawiki/php-1.45.0-wmf.2/extensions/Flow/includes/Data/ObjectLocator.php(119)Flow\Data\ObjectManager->load(array)
#5/srv/mediawiki/php-1.45.0-wmf.2/extensions/Flow/includes/Data/ObjectLocator.php(70)Flow\Data\ObjectLocator->findMulti(array, array)
#6/srv/mediawiki/php-1.45.0-wmf.2/extensions/Flow/includes/Data/ManagerGroup.php(127)Flow\Data\ObjectLocator->find(array)
#7/srv/mediawiki/php-1.45.0-wmf.2/extensions/Flow/includes/Data/ManagerGroup.php(139)Flow\Data\ManagerGroup->call(string, array)
#8/srv/mediawiki/php-1.45.0-wmf.2/extensions/Flow/includes/LinksTableUpdater.php(108)Flow\Data\ManagerGroup->find(string, array)
#9/srv/mediawiki/php-1.45.0-wmf.2/extensions/Flow/includes/LinksTableUpdater.php(42)Flow\LinksTableUpdater->getReferencesForTitle(MediaWiki\Title\Title)
#10/srv/mediawiki/php-1.45.0-wmf.2/extensions/Flow/includes/Content/BoardContentHandler.php(215)Flow\LinksTableUpdater->mutateParserOutput(MediaWiki\Title\Title, MediaWiki\Parser\ParserOutput)
#11/srv/mediawiki/php-1.45.0-wmf.2/includes/content/ContentHandler.php(1693)Flow\Content\BoardContentHandler->fillParserOutput(Flow\Content\BoardContent, MediaWiki\Content\Renderer\ContentParseParams, MediaWiki\Parser\ParserOutput)
#12/srv/mediawiki/php-1.45.0-wmf.2/includes/content/Renderer/ContentRenderer.php(75)MediaWiki\Content\ContentHandler->getParserOutput(Flow\Content\BoardContent, MediaWiki\Content\Renderer\ContentParseParams)
#13/srv/mediawiki/php-1.45.0-wmf.2/includes/Revision/RenderedRevision.php(261)MediaWiki\Content\Renderer\ContentRenderer->getParserOutput(Flow\Content\BoardContent, MediaWiki\Page\PageIdentityValue, MediaWiki\Revision\RevisionStoreRecord, MediaWiki\Parser\ParserOptions, array)
#14/srv/mediawiki/php-1.45.0-wmf.2/includes/Revision/RenderedRevision.php(233)MediaWiki\Revision\RenderedRevision->getSlotParserOutputUncached(Flow\Content\BoardContent, array)
#15/srv/mediawiki/php-1.45.0-wmf.2/includes/Revision/RevisionRenderer.php(236)MediaWiki\Revision\RenderedRevision->getSlotParserOutput(string, array)
#16/srv/mediawiki/php-1.45.0-wmf.2/includes/Revision/RevisionRenderer.php(169)MediaWiki\Revision\RevisionRenderer->combineSlotOutput(MediaWiki\Revision\RenderedRevision, MediaWiki\Parser\ParserOptions, array)
#17/srv/mediawiki/php-1.45.0-wmf.2/includes/Revision/RenderedRevision.php(196)MediaWiki\Revision\RevisionRenderer->MediaWiki\Revision\{closure}(MediaWiki\Revision\RenderedRevision, array)
#18/srv/mediawiki/php-1.45.0-wmf.2/includes/page/ParserOutputAccess.php(454)MediaWiki\Revision\RenderedRevision->getRevisionParserOutput()
#19/srv/mediawiki/php-1.45.0-wmf.2/includes/page/ParserOutputAccess.php(364)MediaWiki\Page\ParserOutputAccess->renderRevision(MediaWiki\Page\WikiPage, MediaWiki\Parser\ParserOptions, MediaWiki\Revision\RevisionStoreRecord, int, null)
#20/srv/mediawiki/php-1.45.0-wmf.2/includes/content/ContentHandler.php(1465)MediaWiki\Page\ParserOutputAccess->getParserOutput(MediaWiki\Page\WikiPage, MediaWiki\Parser\ParserOptions, MediaWiki\Revision\RevisionStoreRecord, int)
#21/srv/mediawiki/php-1.45.0-wmf.2/extensions/CirrusSearch/includes/BuildDocument/ParserOutputPageProperties.php(99)MediaWiki\Content\ContentHandler->getParserOutputForIndexing(MediaWiki\Page\WikiPage, null, MediaWiki\Revision\RevisionStoreRecord)
#22/srv/mediawiki/php-1.45.0-wmf.2/includes/libs/objectcache/WANObjectCache.php(1846)CirrusSearch\BuildDocument\ParserOutputPageProperties->CirrusSearch\BuildDocument\{closure}(bool, int, array, null, array)
#23/srv/mediawiki/php-1.45.0-wmf.2/includes/libs/objectcache/WANObjectCache.php(1650)Wikimedia\ObjectCache\WANObjectCache->fetchOrRegenerate(string, int, Closure, array, array)
#24/srv/mediawiki/php-1.45.0-wmf.2/extensions/CirrusSearch/includes/BuildDocument/ParserOutputPageProperties.php(113)Wikimedia\ObjectCache\WANObjectCache->getWithSetCallback(string, int, Closure)
#25/srv/mediawiki/php-1.45.0-wmf.2/extensions/CirrusSearch/includes/BuildDocument/ParserOutputPageProperties.php(49)CirrusSearch\BuildDocument\ParserOutputPageProperties->finalizeReal(Elastica\Document, MediaWiki\Page\WikiPage, CirrusSearch\CirrusSearch, MediaWiki\Revision\RevisionStoreRecord)
#26/srv/mediawiki/php-1.45.0-wmf.2/extensions/CirrusSearch/includes/BuildDocument/BuildDocument.php(215)CirrusSearch\BuildDocument\ParserOutputPageProperties->finalize(Elastica\Document, MediaWiki\Title\Title, MediaWiki\Revision\RevisionStoreRecord)
#27/srv/mediawiki/php-1.45.0-wmf.2/extensions/CirrusSearch/includes/Api/QueryBuildDocument.php(128)CirrusSearch\BuildDocument\BuildDocument->finalize(Elastica\Document, bool, MediaWiki\Revision\RevisionStoreRecord)
#28/srv/mediawiki/php-1.45.0-wmf.2/includes/api/ApiQuery.php(739)CirrusSearch\Api\QueryBuildDocument->execute()
#29/srv/mediawiki/php-1.45.0-wmf.2/includes/api/ApiMain.php(2010)MediaWiki\Api\ApiQuery->execute()
#30/srv/mediawiki/php-1.45.0-wmf.2/includes/api/ApiMain.php(948)MediaWiki\Api\ApiMain->executeAction()
#31/srv/mediawiki/php-1.45.0-wmf.2/includes/api/ApiMain.php(919)MediaWiki\Api\ApiMain->executeActionWithErrorHandling()
#32/srv/mediawiki/php-1.45.0-wmf.2/includes/api/ApiEntryPoint.php(152)MediaWiki\Api\ApiMain->execute()
#33/srv/mediawiki/php-1.45.0-wmf.2/includes/MediaWikiEntryPoint.php(198)MediaWiki\Api\ApiEntryPoint->execute()
#34/srv/mediawiki/php-1.45.0-wmf.2/api.php(44)MediaWiki\MediaWikiEntryPoint->run()
#35/srv/mediawiki/w/api.php(3)require(string)
#36{main}
Impact
Notes

Seems to be new in 1.45.0-wmf.2, not seen in the 90 days before

Details

MediaWiki Version
1.45.0-wmf.2
Request URL
https://www.mediawiki.org/w/api.php?action=query&format=*&cbbuilders=*&prop=*&formatversion=*&pageids=*

Event Timeline

Krinkle renamed this task from TypeError: Flow\Model\WikiReference::__construct(): Argument #8 ($targetTitle) must be of type MediaWiki\Title\Title, null given, called in /includes/Model/WikiReference.php to "TypeError: WikiReference::__construct(): Argument Title null" from Flow LinksTableUpdater->getReferencesForTitle during web request.May 20 2025, 5:49 PM
Krinkle renamed this task from "TypeError: WikiReference::__construct(): Argument Title null" from Flow LinksTableUpdater->getReferencesForTitle during web request to "TypeError: WikiReference::__construct(): Argument Title null" from Flow LinksTableUpdater->getReferencesForTitle while parsing a page.May 20 2025, 5:54 PM
Krinkle subscribed.

That corresponds to https://www.mediawiki.org/wiki/?curid=645389, which is https://www.mediawiki.org/wiki/Topic:Ti2gz6vobv30s3ks

Suspiciously that includes a link to a page in the "Data" namespace that no longer exists. Flow has long been known to have issues with lack of change propagation.

It was deleted on March 3, 2025 (T124748). Probably the CirrusSearch oldoc renderer discovered that the page was more than however many weeks it looks back, tried to rerender it, and triggered the error.