Page MenuHomePhabricator

AbuseFilterViewEdit.php: PHP Warning: Invalid operand type was used: loadRequest expects array(s)
Closed, DuplicatePublicPRODUCTION ERROR

Description

Error

Request ID: W8OOXQpAIEIAAIENAVMAAADD

message 1
ErrorException from line 2412 of /srv/mediawiki/php-1.32.0-wmf.24/extensions/AbuseFilter/includes/AbuseFilter.php:
PHP Warning: Invalid operand type was used: implode() expects a container as one of the arguments

#0 /srv/mediawiki/php-1.32.0-wmf.24/extensions/AbuseFilter/includes/AbuseFilter.php(2412): MWExceptionHandler::handleError(integer, string, string, integer, array, array)
#1 /srv/mediawiki/php-1.32.0-wmf.24/extensions/AbuseFilter/includes/AbuseFilter.php(2330): AbuseFilter::doSaveFilter(array, array, string, array, boolean, AbuseFilterViewEdit)
#2 /srv/mediawiki/php-1.32.0-wmf.24/extensions/AbuseFilter/includes/Views/AbuseFilterViewEdit.php(65): AbuseFilter::saveFilter(AbuseFilterViewEdit, string, WebRequest, stdClass, array)
#3 /srv/mediawiki/php-1.32.0-wmf.24/extensions/AbuseFilter/includes/special/SpecialAbuseFilter.php(122): AbuseFilterViewEdit->show()
#4 /srv/mediawiki/php-1.32.0-wmf.24/includes/specialpage/SpecialPage.php(569): SpecialAbuseFilter->execute(string)
#5 /srv/mediawiki/php-1.32.0-wmf.24/includes/specialpage/SpecialPageFactory.php(568): SpecialPage->run(string)
#6 /srv/mediawiki/php-1.32.0-wmf.24/includes/MediaWiki.php(288): MediaWiki\Special\SpecialPageFactory->executePath(Title, RequestContext)
#7 /srv/mediawiki/php-1.32.0-wmf.24/includes/MediaWiki.php(868): MediaWiki->performRequest()
#8 /srv/mediawiki/php-1.32.0-wmf.24/includes/MediaWiki.php(525): MediaWiki->main()
message 2
ErrorException from line 1158 of /srv/mediawiki/php-1.32.0-wmf.24/extensions/AbuseFilter/includes/Views/AbuseFilterViewEdit.php:
PHP Warning: Invalid operand type was used: loadRequest expects array(s)

#0 /srv/mediawiki/php-1.32.0-wmf.24/extensions/AbuseFilter/includes/Views/AbuseFilterViewEdit.php(1158): MWExceptionHandler::handleError(integer, string, string, integer, array, array)
#1 /srv/mediawiki/php-1.32.0-wmf.24/extensions/AbuseFilter/includes/Views/AbuseFilterViewEdit.php(64): AbuseFilterViewEdit->loadRequest(string)
#2 /srv/mediawiki/php-1.32.0-wmf.24/extensions/AbuseFilter/includes/special/SpecialAbuseFilter.php(122): AbuseFilterViewEdit->show()
#3 /srv/mediawiki/php-1.32.0-wmf.24/includes/specialpage/SpecialPage.php(569): SpecialAbuseFilter->execute(string)
#4 /srv/mediawiki/php-1.32.0-wmf.24/includes/specialpage/SpecialPageFactory.php(568): SpecialPage->run(string)
#5 /srv/mediawiki/php-1.32.0-wmf.24/includes/MediaWiki.php(288): MediaWiki\Special\SpecialPageFactory->executePath(Title, RequestContext)
#6 /srv/mediawiki/php-1.32.0-wmf.24/includes/MediaWiki.php(868): MediaWiki->performRequest()
#7 /srv/mediawiki/php-1.32.0-wmf.24/includes/MediaWiki.php(525): MediaWiki->main()

Impact

Unknown.

Notes

Seen for the first time today. Does not appear in the 30 days prior. Might be due to a broken rule that someone recently created, given no code was deployed today.

Event Timeline

The first one could be due to literally anything, since we don't know for which action parameters are broken. However, the second is due to throttle parameters, and I'd say: of course! Throttle is completely broken right now, so this doesn't surprise me at all. As I said in T203336, with the switch to OOUI I changed the parameters textarea to a checkboxmultiselect, because I didn't really understand how it worked (long explanation at T203587#4569698). So right now throttle is completely unpredictable: for new filters, people can only use a less powerful syntax than they previously could; the situation for old filters is more complicated: if they didn't use commas, they still work. If, instead, there were commas inside throttle parameters, whenever that filter is executed it fires PHP errors/notices, throttle doesn't work and everything may happen (e.g. other actions are never executed, or potentially dangerous actions are executed without any throttling). Also, saving these old filters can produce other errors, and/or empty throttle groups (because in these cases the checkboxmultiselect isn't back-compat) which will in turn cause other problems. There's a big chaos in there, and that's why I originally triaged T203587 as UBN, and why I added lots of reviewers to this patch.
These two errors are surely related, and will likely go away as everything is fixed.

mmodell changed the subtype of this task from "Task" to "Production Error".Aug 28 2019, 11:08 PM