Page MenuHomePhabricator

MassMessageJob failures due to invalid ChangeTags call
Open, Needs TriagePublic

Description

Error

Request ID: W7YBkArAAD0AADgzB2sAAABL

message
MWException:
At least one of: RCID, revision ID, and log ID MUST be specified when adding or removing a tag from a change!
stacktrace
#0 /srv/mediawiki/php-1.32.0-wmf.23/includes/changetags/ChangeTags.php(227): ChangeTags::updateTags(array, array, NULL, NULL, NULL, NULL, NULL)
#1 /srv/mediawiki/php-1.32.0-wmf.23/extensions/MassMessage/includes/job/MassMessageJob.php(233): ChangeTags::addTags(string, NULL, NULL, NULL)
#2 /srv/mediawiki/php-1.32.0-wmf.23/includes/deferred/MWCallableUpdate.php(34): Closure$MediaWiki\MassMessage\MassMessageJob::editPage()
#3 /srv/mediawiki/php-1.32.0-wmf.23/includes/deferred/DeferredUpdates.php(268): MWCallableUpdate->doUpdate()
#4 /srv/mediawiki/php-1.32.0-wmf.23/includes/deferred/DeferredUpdates.php(214): DeferredUpdates::runUpdate(MWCallableUpdate, Wikimedia\Rdbms\LBFactoryMulti, string, integer)
#5 /srv/mediawiki/php-1.32.0-wmf.23/includes/deferred/DeferredUpdates.php(134): DeferredUpdates::execute(array, string, integer)
#6 /srv/mediawiki/php-1.32.0-wmf.23/extensions/EventBus/includes/JobExecutor.php(91): DeferredUpdates::doUpdates()
#7 /srv/mediawiki/rpc/RunSingleJob.php(67): JobExecutor->execute(array)

Notes

A rapid spike today with 400 of these jobs all consistently failing.

Looking back, while no such spike has been seen before, a few MassMessage jobs have failed with the same error since at least September 5 (1.32.0-wmf.19). Although the 30 days prior combined add up to about 200 failures, whereas with wmf.24 we've had 400 failures in one day.

The spike could caused by something other than wmf.24, but either way, it certainly does appear to have a problem.

Event Timeline

Krinkle created this task.Oct 4 2018, 5:52 PM
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptOct 4 2018, 5:52 PM
TTO added a subscriber: Ladsgroup.Oct 4 2018, 11:42 PM
TTO added a subscriber: TTO.

I don't think this has anything to do with change tagging. The stack trace makes it clear that $revid is null at https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/extensions/MassMessage/+/master/includes/job/MassMessageJob.php#233.

Yes, Before all of refactoring done in change tagging, it would still throw an error if none of revid, rc_id, or log_id is not null. Probably something is using mass message more often. Will check later.

Given the line:

#1 /srv/mediawiki/php-1.32.0-wmf.23/extensions/MassMessage/includes/job/MassMessageJob.php(233): ChangeTags::addTags(string, NULL, NULL, NULL)

It's definitely an issue in MassMessage.