Page MenuHomePhabricator

FilterLookup: No version of filter [x] closest to [y] found
Closed, ResolvedPublicPRODUCTION ERROR

Description

Error message
[YAhMuQpAAEEAAFt6bTUAAAEC] /wiki/Special:AbuseFilter/history/85/diff/prev/742   MediaWiki\Extension\AbuseFilter\Filter\ClosestFilterVersionNotFoundException: No version of filter 85 closest to 742 found
Stack Trace
from /srv/mediawiki/php-1.36.0-wmf.27/extensions/AbuseFilter/includes/FilterLookup.php(338)
#0 /srv/mediawiki/php-1.36.0-wmf.27/extensions/AbuseFilter/includes/View/AbuseFilterViewDiff.php(162): MediaWiki\Extension\AbuseFilter\FilterLookup->getClosestVersion(integer, integer, string)
#1 /srv/mediawiki/php-1.36.0-wmf.27/extensions/AbuseFilter/includes/View/AbuseFilterViewDiff.php(75): MediaWiki\Extension\AbuseFilter\View\AbuseFilterViewDiff->loadData()
#2 /srv/mediawiki/php-1.36.0-wmf.27/extensions/AbuseFilter/includes/Special/SpecialAbuseFilter.php(161): MediaWiki\Extension\AbuseFilter\View\AbuseFilterViewDiff->show()
#3 /srv/mediawiki/php-1.36.0-wmf.27/includes/specialpage/SpecialPage.php(645): MediaWiki\Extension\AbuseFilter\Special\SpecialAbuseFilter->execute(string)
#4 /srv/mediawiki/php-1.36.0-wmf.27/includes/specialpage/SpecialPageFactory.php(1405): SpecialPage->run(string)
#5 /srv/mediawiki/php-1.36.0-wmf.27/includes/MediaWiki.php(310): MediaWiki\SpecialPage\SpecialPageFactory->executePath(Title, RequestContext)
#6 /srv/mediawiki/php-1.36.0-wmf.27/includes/MediaWiki.php(944): MediaWiki->performRequest()
#7 /srv/mediawiki/php-1.36.0-wmf.27/includes/MediaWiki.php(548): MediaWiki->main()
#8 /srv/mediawiki/php-1.36.0-wmf.27/index.php(53): MediaWiki->run()
#9 /srv/mediawiki/php-1.36.0-wmf.27/index.php(46): wfIndexMain()
#10 /srv/mediawiki/w/index.php(3): require(string)
#11 {main}
Impact

Noticed shortly after rolling 1.36.0-wmf.27 to group0.

Exception reliably displayed at the URL, which is findable from "Changes" link here:

https://www.mediawiki.org/wiki/Special:AbuseFilter/history/85/

Was also able to reproduce for filter 83:

https://www.mediawiki.org/wiki/Special:AbuseFilter/history/83/diff/prev/746

Doesn't happen for every filter, but seems to be more general than just for 85.

Notes

Blocking train on this but not yet rolling back as it's only been hit by users a couple of times. Input welcome.

Details

Request ID
YAhMuQpAAEEAAFt6bTUAAAEC
Request URL
https://www.mediawiki.org/wiki/Special:AbuseFilter/history/85/diff/prev/742

Related Objects

StatusSubtypeAssignedTask
ResolvedReleasebrennen
ResolvedPRODUCTION ERRORDaimona

Event Timeline

brennen triaged this task as Unbreak Now! priority.Jan 20 2021, 4:17 PM
brennen moved this task from Backlog to Logs/Train on the User-brennen board.
Daimona subscribed.

The previous code was (silently) using null if no version could be find, it's an easy fix.

Change 657366 had a related patch set uploaded (by Daimona Eaytoy; owner: Daimona Eaytoy):
[mediawiki/extensions/AbuseFilter@master] Catch ClosestFilterVersionNotFoundException in ViewDiff

https://gerrit.wikimedia.org/r/657366

Change 657366 merged by jenkins-bot:
[mediawiki/extensions/AbuseFilter@master] Catch ClosestFilterVersionNotFoundException in ViewDiff

https://gerrit.wikimedia.org/r/657366

Change 657322 had a related patch set uploaded (by Brennen Bearnes; owner: Daimona Eaytoy):
[mediawiki/extensions/AbuseFilter@wmf/1.36.0-wmf.27] Catch ClosestFilterVersionNotFoundException in ViewDiff

https://gerrit.wikimedia.org/r/657322

Change 657322 merged by jenkins-bot:
[mediawiki/extensions/AbuseFilter@wmf/1.36.0-wmf.27] Catch ClosestFilterVersionNotFoundException in ViewDiff

https://gerrit.wikimedia.org/r/657322

Tested on mwdebug1002; works, deploying. Thanks much for speedy fix!

Mentioned in SAL (#wikimedia-operations) [2021-01-20T18:42:49Z] <brennen@deploy1001> Synchronized php-1.36.0-wmf.27/extensions/AbuseFilter/includes/View/AbuseFilterViewDiff.php: Backport: [[gerrit:657366|Catch ClosestFilterVersionNotFoundException in ViewDiff (T272505)]] (duration: 01m 06s)