Page MenuHomePhabricator

Fatal exception of type "Error" after Special:AbuseFilter/test submit
Closed, ResolvedPublicPRODUCTION ERROR

Description

normalized_message
[YDfYKVHPfO8owc0sdU7T2AAAAMQ] /wiki/Special:AbuseFilter/test   Error: Class 'StructuredDiscussions\Hooks\AbuseFilterHandler' not found
exception.trace
from /srv/mediawiki/php-1.36.0-wmf.32/vendor/wikimedia/object-factory/src/ObjectFactory.php(244)
#0 /srv/mediawiki/php-1.36.0-wmf.32/vendor/wikimedia/object-factory/src/ObjectFactory.php(150): Wikimedia\ObjectFactory::getObjectFromSpec(array, array)
#1 /srv/mediawiki/php-1.36.0-wmf.32/includes/HookContainer/HookContainer.php(468): Wikimedia\ObjectFactory->createObject(array)
#2 /srv/mediawiki/php-1.36.0-wmf.32/includes/HookContainer/HookContainer.php(159): MediaWiki\HookContainer\HookContainer->getHandlers(string, array)
#3 /srv/mediawiki/php-1.36.0-wmf.32/extensions/AbuseFilter/includes/Hooks/AbuseFilterHookRunner.php(173): MediaWiki\HookContainer\HookContainer->run(string, array)
#4 /srv/mediawiki/php-1.36.0-wmf.32/extensions/AbuseFilter/includes/VariableGenerator/RCVariableGenerator.php(85): MediaWiki\Extension\AbuseFilter\Hooks\AbuseFilterHookRunner->onAbuseFilterGenerateVarsForRecentChange(MediaWiki\Extension\AbuseFilter\VariableGenerator\RCVariableGenerator, RecentChange, MediaWiki\Extension\AbuseFilter\Variables\VariableHolder, User)
#5 /srv/mediawiki/php-1.36.0-wmf.32/extensions/AbuseFilter/includes/View/AbuseFilterViewTestBatch.php(309): MediaWiki\Extension\AbuseFilter\VariableGenerator\RCVariableGenerator->getVars()
#6 /srv/mediawiki/php-1.36.0-wmf.32/extensions/AbuseFilter/includes/View/AbuseFilterViewTestBatch.php(210): MediaWiki\Extension\AbuseFilter\View\AbuseFilterViewTestBatch->doTest()
#7 /srv/mediawiki/php-1.36.0-wmf.32/extensions/AbuseFilter/includes/Special/SpecialAbuseFilter.php(162): MediaWiki\Extension\AbuseFilter\View\AbuseFilterViewTestBatch->show()
#8 /srv/mediawiki/php-1.36.0-wmf.32/includes/specialpage/SpecialPage.php(645): MediaWiki\Extension\AbuseFilter\Special\SpecialAbuseFilter->execute(string)
#9 /srv/mediawiki/php-1.36.0-wmf.32/includes/specialpage/SpecialPageFactory.php(1405): SpecialPage->run(string)
#10 /srv/mediawiki/php-1.36.0-wmf.32/includes/MediaWiki.php(310): MediaWiki\SpecialPage\SpecialPageFactory->executePath(Title, RequestContext)
#11 /srv/mediawiki/php-1.36.0-wmf.32/includes/MediaWiki.php(944): MediaWiki->performRequest()
#12 /srv/mediawiki/php-1.36.0-wmf.32/includes/MediaWiki.php(548): MediaWiki->main()
#13 /srv/mediawiki/php-1.36.0-wmf.32/index.php(53): MediaWiki->run()
#14 /srv/mediawiki/php-1.36.0-wmf.32/index.php(46): wfIndexMain()
#15 /srv/mediawiki/w/index.php(3): require(string)
#16 {main}
Impact

Cannot test filters under some specific circumstances. I suspect this is because of Flow integration (T115128).

Notes

Can be reproduced on Wikidata. Inputs:

  • conditions: 1==1
  • user: VIGNERON
  • after: 20210225140000
  • before: 20210225150000

Details

Request ID
YDfYKVHPfO8owc0sdU7T2AAAAMQ
Request URL
https://www.wikidata.org/wiki/Special:AbuseFilter/test

Event Timeline

It is indeed due to flow integration... Looks like a silly error though. Should be an easy fix.

Change 666973 had a related patch set uploaded (by Daimona Eaytoy; owner: Daimona Eaytoy):
[mediawiki/extensions/Flow@master] Fix namespace in AbuseFilter hook handler

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

Change 666973 merged by jenkins-bot:
[mediawiki/extensions/Flow@master] Fix namespace in AbuseFilter hook handler

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

matej_suchanek removed Daimona as the assignee of this task.

Still getting an exception for the same query, although the fix is already in prod:
[YEOXDU@rKc0oxE97ffWbOAAAANU] 2021-03-06 14:51:57: Fatal exception of type „Error“

That sounds like another issue within the same special page. Needs a stack trace to look further.

Error: Call to undefined method MediaWiki\Extension\StructuredDiscussions\Hooks\AbuseFilterHandler::onAbuseFilter_generateVarsForRecentChange()
from /srv/mediawiki/php-1.36.0-wmf.33/includes/HookContainer/HookContainer.php(163)
#0 /srv/mediawiki/php-1.36.0-wmf.33/extensions/AbuseFilter/includes/Hooks/AbuseFilterHookRunner.php(173): MediaWiki\HookContainer\HookContainer->run(string, array)
#1 /srv/mediawiki/php-1.36.0-wmf.33/extensions/AbuseFilter/includes/VariableGenerator/RCVariableGenerator.php(85): MediaWiki\Extension\AbuseFilter\Hooks\AbuseFilterHookRunner->onAbuseFilterGenerateVarsForRecentChange(MediaWiki\Extension\AbuseFilter\VariableGenerator\RCVariableGenerator, RecentChange, MediaWiki\Extension\AbuseFilter\Variables\VariableHolder, User)
#2 /srv/mediawiki/php-1.36.0-wmf.33/extensions/AbuseFilter/includes/View/AbuseFilterViewTestBatch.php(309): MediaWiki\Extension\AbuseFilter\VariableGenerator\RCVariableGenerator->getVars()
#3 /srv/mediawiki/php-1.36.0-wmf.33/extensions/AbuseFilter/includes/View/AbuseFilterViewTestBatch.php(210): MediaWiki\Extension\AbuseFilter\View\AbuseFilterViewTestBatch->doTest()
#4 /srv/mediawiki/php-1.36.0-wmf.33/extensions/AbuseFilter/includes/Special/SpecialAbuseFilter.php(162): MediaWiki\Extension\AbuseFilter\View\AbuseFilterViewTestBatch->show()
#5 /srv/mediawiki/php-1.36.0-wmf.33/includes/specialpage/SpecialPage.php(645): MediaWiki\Extension\AbuseFilter\Special\SpecialAbuseFilter->execute(string)
#6 /srv/mediawiki/php-1.36.0-wmf.33/includes/specialpage/SpecialPageFactory.php(1383): SpecialPage->run(string)
#7 /srv/mediawiki/php-1.36.0-wmf.33/includes/MediaWiki.php(309): MediaWiki\SpecialPage\SpecialPageFactory->executePath(Title, RequestContext)
#8 /srv/mediawiki/php-1.36.0-wmf.33/includes/MediaWiki.php(925): MediaWiki->performRequest()
#9 /srv/mediawiki/php-1.36.0-wmf.33/includes/MediaWiki.php(547): MediaWiki->main()
#10 /srv/mediawiki/php-1.36.0-wmf.33/index.php(53): MediaWiki->run()
#11 /srv/mediawiki/php-1.36.0-wmf.33/index.php(46): wfIndexMain()
#12 /srv/mediawiki/w/index.php(3): require(string)
#13 {main}

Change 669091 had a related patch set uploaded (by Daimona Eaytoy; owner: Daimona Eaytoy):
[mediawiki/extensions/AbuseFilter@master] Fix hook name

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

Change 669091 merged by jenkins-bot:
[mediawiki/extensions/AbuseFilter@master] Fix hook name

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