Page MenuHomePhabricator

Wikimedia\Assert\ParameterAssertionException: Bad value for parameter $title: invalid name 'not_existing_"Hut_8",_Bletchley_Park_-_geograph.org.uk_-_1592862.jpg_bla_bla_'
Open, Needs TriagePublicPRODUCTION ERROR

Description

Error
  • mwversion: 1.45.0-wmf.19
  • timestamp: 2025-09-22T09:59:25.079Z
  • phpversion: 8.1.33
  • reqId: e91ec5eb-e443-462a-8311-6fdb3702cbee
  • Find reqId in Logstash
normalized_message
[{reqId}] {exception_url}   Wikimedia\Assert\ParameterAssertionException: Bad value for parameter $title: invalid name 'not_existing_"Hut_8",_Bletchley_Park_-_geograph.org.uk_-_1592862.jpg_bla_bla_'
FrameLocationCall
from/srv/mediawiki/php-1.45.0-wmf.19/vendor/wikimedia/assert/src/Assert.php(72)
#0/srv/mediawiki/php-1.45.0-wmf.19/includes/title/TitleValue.php(204)Wikimedia\Assert\Assert::parameter(bool, string, string)
#1/srv/mediawiki/php-1.45.0-wmf.19/includes/title/TitleValue.php(168)MediaWiki\Title\TitleValue::assertValidSpec(int, string, string, string)
#2/srv/mediawiki/php-1.45.0-wmf.19/includes/parser/ParserOutput.php(813)MediaWiki\Title\TitleValue->__construct(int, string)
#3/srv/mediawiki/php-1.45.0-wmf.19/includes/deferred/LinksUpdate/ImageLinksTable.php(34)MediaWiki\Parser\ParserOutput->getLinkList(string)
#4/srv/mediawiki/php-1.45.0-wmf.19/includes/deferred/LinksUpdate/LinksTableGroup.php(272)MediaWiki\Deferred\LinksUpdate\ImageLinksTable->setParserOutput(MediaWiki\Parser\ParserOutput)
#5/srv/mediawiki/php-1.45.0-wmf.19/includes/deferred/LinksUpdate/LinksTableGroup.php(294)MediaWiki\Deferred\LinksUpdate\LinksTableGroup->get(string)
#6/srv/mediawiki/php-1.45.0-wmf.19/includes/deferred/LinksUpdate/LinksUpdate.php(171)MediaWiki\Deferred\LinksUpdate\LinksTableGroup->getAll()
#7/srv/mediawiki/php-1.45.0-wmf.19/includes/deferred/DeferredUpdates.php(459)MediaWiki\Deferred\LinksUpdate\LinksUpdate->doUpdate()
#8/srv/mediawiki/php-1.45.0-wmf.19/includes/deferred/RefreshSecondaryDataUpdate.php(113)MediaWiki\Deferred\DeferredUpdates::attemptUpdate(MediaWiki\Deferred\LinksUpdate\LinksUpdate)
#9/srv/mediawiki/php-1.45.0-wmf.19/includes/deferred/DeferredUpdates.php(459)MediaWiki\Deferred\RefreshSecondaryDataUpdate->doUpdate()
#10/srv/mediawiki/php-1.45.0-wmf.19/includes/deferred/DeferredUpdates.php(201)MediaWiki\Deferred\DeferredUpdates::attemptUpdate(MediaWiki\Deferred\RefreshSecondaryDataUpdate)
#11/srv/mediawiki/php-1.45.0-wmf.19/includes/deferred/DeferredUpdates.php(288)MediaWiki\Deferred\DeferredUpdates::run(MediaWiki\Deferred\RefreshSecondaryDataUpdate)
#12/srv/mediawiki/php-1.45.0-wmf.19/includes/deferred/DeferredUpdatesScope.php(240)MediaWiki\Deferred\DeferredUpdates::MediaWiki\Deferred\{closure}(MediaWiki\Deferred\RefreshSecondaryDataUpdate, int)
#13/srv/mediawiki/php-1.45.0-wmf.19/includes/deferred/DeferredUpdatesScope.php(172)MediaWiki\Deferred\DeferredUpdatesScope->processStageQueue(int, int, Closure)
#14/srv/mediawiki/php-1.45.0-wmf.19/includes/deferred/DeferredUpdates.php(307)MediaWiki\Deferred\DeferredUpdatesScope->processUpdates(int, Closure)
#15/srv/mediawiki/php-1.45.0-wmf.19/includes/MediaWikiEntryPoint.php(670)MediaWiki\Deferred\DeferredUpdates::doUpdates()
#16/srv/mediawiki/php-1.45.0-wmf.19/includes/MediaWikiEntryPoint.php(492)MediaWiki\MediaWikiEntryPoint->restInPeace()
#17/srv/mediawiki/php-1.45.0-wmf.19/includes/MediaWikiEntryPoint.php(450)MediaWiki\MediaWikiEntryPoint->doPostOutputShutdown()
#18/srv/mediawiki/php-1.45.0-wmf.19/includes/MediaWikiEntryPoint.php(207)MediaWiki\MediaWikiEntryPoint->postOutputShutdown()
#19/srv/mediawiki/php-1.45.0-wmf.19/index.php(58)MediaWiki\MediaWikiEntryPoint->run()
#20/srv/mediawiki/w/index.php(3)require(string)
#21{main}
Impact

Logspam (114 errors with this message in the past 48 hours), user impact not yet known.

Notes

Only seems to occur on Wikidata.

Details

Request URL
https://www.wikidata.org/w/index.php?action=submit&restore=32936998&title=Q4115189

Event Timeline

The request URL – I picked the one from the very first occurrence in logstash – tries to restore the sandbox item to an edit from 2013, the early days of Wikidata. And apparently it succeeded in that, because I can see the invalid title on the item now (permalink); presumably this is causing subsequent errors in links update jobs etc.

I’m guessing either Wikibase or MediaWiki needs to filter out these invalid links when emitting the page links. (I’m not convinced Wikibase should prevent saving them: that wouldn’t solve the problem for existing revisions, and also, the existence of the CommonsLink constraint checker in WikibaseQualityConstraints kinda suggests that it’s intentional that it’s not rejected at a “stricter” level.)

I’m guessing either Wikibase or MediaWiki needs to filter out these invalid links when emitting the page links.

Probably somewhere in Wikibase’s ImageLinksDataUpdater, I suspect, or perhaps in the core ParserOutput::addImage() that it calls.