Page MenuHomePhabricator

Call to a member function purgeCache() on null
Closed, InvalidPublicPRODUCTION ERROR

Description

Error

MediaWiki version: 1.36.0-wmf.2

message
Call to a member function purgeCache() on null

Impact

There's been about 370 of these recently (in the past hour) on 1.36.0-wmf.2, but don't seem to have happened earlier.

Seems like a clear programming error, but might mask other problems.

I don't think this warrants a rollback of train at this rate, but it should be fixed for next train (which starts tomorrow).

Notes

Details

Request ID
fb664d66-fa5a-4bd3-81e2-79890941ef35
Request URL
https://hy.wikipedia.org/w/api.php
Stack Trace
exception.trace
#0 /srv/mediawiki/php-1.36.0-wmf.2/includes/revisiondelete/RevDelList.php(286): RevDelFileList->doPostCommitUpdates(array)
#1 /srv/mediawiki/php-1.36.0-wmf.2/includes/deferred/MWCallableUpdate.php(38): RevDelList->{closure}()
#2 /srv/mediawiki/php-1.36.0-wmf.2/includes/deferred/DeferredUpdates.php(467): MWCallableUpdate->doUpdate()
#3 /srv/mediawiki/php-1.36.0-wmf.2/includes/deferred/DeferredUpdates.php(344): DeferredUpdates::attemptUpdate(MWCallableUpdate, Wikimedia\Rdbms\LBFactoryMulti)
#4 /srv/mediawiki/php-1.36.0-wmf.2/includes/deferred/DeferredUpdates.php(278): DeferredUpdates::run(MWCallableUpdate, Wikimedia\Rdbms\LBFactoryMulti, Monolog\Logger, BufferingStatsdDataFactory, string)
#5 /srv/mediawiki/php-1.36.0-wmf.2/includes/deferred/DeferredUpdates.php(190): DeferredUpdates::handleUpdateQueue(array, string, integer)
#6 /srv/mediawiki/php-1.36.0-wmf.2/includes/MediaWiki.php(683): DeferredUpdates::doUpdates(string, integer)
#7 /srv/mediawiki/php-1.36.0-wmf.2/includes/api/ApiMain.php(555): MediaWiki::preOutputCommit(DerivativeContext)
#8 /srv/mediawiki/php-1.36.0-wmf.2/includes/api/ApiMain.php(500): ApiMain->executeActionWithErrorHandling()
#9 /srv/mediawiki/php-1.36.0-wmf.2/api.php(90): ApiMain->execute()
#10 /srv/mediawiki/php-1.36.0-wmf.2/api.php(45): wfApiMain()
#11 /srv/mediawiki/w/api.php(3): require(string)
#12 {main}

Event Timeline

LarsWirzenius triaged this task as Unbreak Now! priority.Aug 3 2020, 4:53 PM

This is happening enough that we're rolling back the train for it.

All on hywiki, from the looks of it. The rollback may well be overkill, but we figured we should make sure of that.

cc: @aaron as author of 3a922d36d8741e34d9ce46cb601e1f356dcf844d.

brennen lowered the priority of this task from Unbreak Now! to Needs Triage.Aug 3 2020, 5:25 PM

Ugh, sorry. False alarm on the blocker: This now also appears to be happening in wmf.1, and I misread the relevant commit date as recent.

	public function doPostCommitUpdates( array $visibilityChangeMap ) {
		$file = MediaWikiServices::getInstance()->getRepoGroup()->getLocalRepo()
			->newFile( $this->title );
		$file->purgeCache();
		$file->purgeDescription();

The revision deleted file is not found when the post commit update is running.

It is also possible that it was using Media:<filename>, it needs more information as given by this stack trace

When looking at the log: https://hy.wikipedia.org/wiki/%D5%8D%D5%BA%D5%A1%D5%BD%D5%A1%D6%80%D5%AF%D5%B8%D5%B2:%D5%8F%D5%A5%D5%B2%D5%A5%D5%AF%D5%A1%D5%B4%D5%A1%D5%BF%D5%B5%D5%A1%D5%B6?type=delete&user=&page=&wpdate=&tagfilter=&subtype=revision&uselang=en

It seems the revision deletion was running without the namespace "File:", but the revision deletion success. I am not sure if that result in the fatal

eprodromou subscribed.

We're untagging for this, since it seems to be a problem with revision deletion at a lower level, just surfacing through the API. Feel free to re-tag us if this is an interface issue instead.

Krinkle subscribed.

Not seen for 90 days.