Page MenuHomePhabricator

Wikimedia\Assert\PreconditionException: Precondition failed: This Title instance does not represent a proper page, but merely a link target.
Open, Needs TriagePublicPRODUCTION ERROR

Description

Error
labels.normalized_message
[{reqId}] {exception_url}   Wikimedia\Assert\PreconditionException: Precondition failed: This Title instance does not represent a proper page, but merely a link target.
error.stack_trace
from /srv/mediawiki/php-1.42.0-wmf.24/vendor/wikimedia/assert/src/Assert.php(49)
#0 /srv/mediawiki/php-1.42.0-wmf.24/includes/title/Title.php(3891): Wikimedia\Assert\Assert::precondition(boolean, string)
#1 /srv/mediawiki/php-1.42.0-wmf.24/includes/title/Title.php(3872): MediaWiki\Title\Title->assertProperPage()
#2 /srv/mediawiki/php-1.42.0-wmf.24/extensions/Disambiguator/includes/Hooks.php(202): MediaWiki\Title\Title->getId()
#3 [internal function]: MediaWiki\Extension\Disambiguator\Hooks::MediaWiki\Extension\Disambiguator\{closure}(MediaWiki\Title\Title)
#4 /srv/mediawiki/php-1.42.0-wmf.24/extensions/Disambiguator/includes/Hooks.php(201): array_map(Closure, array)
#5 /srv/mediawiki/php-1.42.0-wmf.24/includes/HookContainer/HookContainer.php(159): MediaWiki\Extension\Disambiguator\Hooks->onLinksUpdateComplete(MediaWiki\Deferred\LinksUpdate\LinksUpdate, integer)
#6 /srv/mediawiki/php-1.42.0-wmf.24/includes/HookContainer/HookRunner.php(2348): MediaWiki\HookContainer\HookContainer->run(string, array)
#7 /srv/mediawiki/php-1.42.0-wmf.24/includes/deferred/LinksUpdate/LinksUpdate.php(194): MediaWiki\HookContainer\HookRunner->onLinksUpdateComplete(MediaWiki\Deferred\LinksUpdate\LinksUpdate, integer)
#8 /srv/mediawiki/php-1.42.0-wmf.24/includes/deferred/AutoCommitUpdate.php(47): MediaWiki\Deferred\LinksUpdate\LinksUpdate->MediaWiki\Deferred\LinksUpdate\{closure}(Wikimedia\Rdbms\DBConnRef, string)
#9 /srv/mediawiki/php-1.42.0-wmf.24/includes/deferred/DeferredUpdates.php(486): MediaWiki\Deferred\AutoCommitUpdate->doUpdate()
#10 /srv/mediawiki/php-1.42.0-wmf.24/includes/deferred/DeferredUpdates.php(198): MediaWiki\Deferred\DeferredUpdates::attemptUpdate(MediaWiki\Deferred\AutoCommitUpdate)
#11 /srv/mediawiki/php-1.42.0-wmf.24/includes/deferred/DeferredUpdates.php(285): MediaWiki\Deferred\DeferredUpdates::run(MediaWiki\Deferred\AutoCommitUpdate)
#12 /srv/mediawiki/php-1.42.0-wmf.24/includes/deferred/DeferredUpdatesScope.php(269): MediaWiki\Deferred\DeferredUpdates::MediaWiki\Deferred\{closure}(MediaWiki\Deferred\AutoCommitUpdate, integer)
#13 /srv/mediawiki/php-1.42.0-wmf.24/includes/deferred/DeferredUpdatesScope.php(198): MediaWiki\Deferred\DeferredUpdatesScope->processStageQueue(integer, integer, Closure)
#14 /srv/mediawiki/php-1.42.0-wmf.24/includes/deferred/DeferredUpdates.php(304): MediaWiki\Deferred\DeferredUpdatesScope->processUpdates(integer, Closure)
#15 /srv/mediawiki/php-1.42.0-wmf.24/extensions/EventBus/includes/JobExecutor.php(110): MediaWiki\Deferred\DeferredUpdates::doUpdates()
#16 /srv/mediawiki/rpc/RunSingleJob.php(60): MediaWiki\Extension\EventBus\JobExecutor->execute(array)
#17 {main}
Notes
  • Started happening yesterday on zhwiktionary immediately following wmf.24 rollout
  • Only coming from jobrunners
  • Only from wikikube jobrunners

Details

Request URL
https://mw-jobrunner.discovery.wmnet/rpc/RunSingleJob.php

Event Timeline

Umherirrender subscribed.

Would say that some code is adding invalid titles via ParserOutput::addLink and that ends up in LinksUpdate and in the hooks. But that function requires a ParsoidLinkTarget that should be a valid title

It is also possible that a namespace alias was changed, interwiki added or namespace added and that makes some links invalid.

Could be related with T361177: APCU cache mixup across wikis (Incorrect namespace displayed as title on a zh.wikivoyage page) as some namespace aliases are mixed up. Needs check if logs are empty when train is ready.

It's been still happening after the train rollback, but just barely. Job queue delay I guess?