Page MenuHomePhabricator

PHP Warning: mb_stripos(): Empty delimiter
Closed, ResolvedPublicPRODUCTION ERROR

Description

Error

MediaWiki version: 1.36.0-wmf.13

message
PHP Warning: mb_stripos(): Empty delimiter

Impact

In preparing to start the train for this week I noticed this has happened over 500 times in the past four hours. Seems like a clear programming error to me.

I am, however, not going to let this stop me from starting the train. If that changes, I"ll update the task.

Notes

Details

Request ID
a7d6c383-e44b-4ef6-9c1b-37706799e808
Request URL
https://it.wikipedia.org/wiki/Speciale:FiltroAntiAbusi/?deletedfilters=hide&querypattern=&searchoption=LIKE&limit=500&title=Speciale%3AFiltroAntiAbusi%2F
Stack Trace
exception.trace
#0 [internal function]: MWExceptionHandler::handleError(integer, string, string, integer, array)
#1 /srv/mediawiki/php-1.36.0-wmf.13/extensions/AbuseFilter/includes/pagers/AbuseFilterPager.php(125): mb_stripos(string, string)
#2 /srv/mediawiki/php-1.36.0-wmf.13/extensions/AbuseFilter/includes/pagers/AbuseFilterPager.php(94): AbuseFilterPager->matchesPattern(string)
#3 /srv/mediawiki/php-1.36.0-wmf.13/includes/pager/IndexPager.php(280): AbuseFilterPager->reallyDoQuery(string, integer, boolean)
#4 /srv/mediawiki/php-1.36.0-wmf.13/includes/pager/IndexPager.php(788): IndexPager->doQuery()
#5 /srv/mediawiki/php-1.36.0-wmf.13/includes/pager/TablePager.php(310): IndexPager->isNavigationBarShown()
#6 /srv/mediawiki/php-1.36.0-wmf.13/includes/pager/TablePager.php(112): TablePager->getNavigationBar()
#7 /srv/mediawiki/php-1.36.0-wmf.13/extensions/AbuseFilter/includes/Views/AbuseFilterViewList.php(259): TablePager->getFullOutput()
#8 /srv/mediawiki/php-1.36.0-wmf.13/extensions/AbuseFilter/includes/Views/AbuseFilterViewList.php(128): AbuseFilterViewList->showList(array, array)
#9 /srv/mediawiki/php-1.36.0-wmf.13/extensions/AbuseFilter/includes/special/SpecialAbuseFilter.php(63): AbuseFilterViewList->show()
#10 /srv/mediawiki/php-1.36.0-wmf.13/includes/specialpage/SpecialPage.php(600): SpecialAbuseFilter->execute(string)
#11 /srv/mediawiki/php-1.36.0-wmf.13/includes/specialpage/SpecialPageFactory.php(837): SpecialPage->run(string)
#12 /srv/mediawiki/php-1.36.0-wmf.13/includes/MediaWiki.php(307): MediaWiki\SpecialPage\SpecialPageFactory->executePath(Title, RequestContext)
#13 /srv/mediawiki/php-1.36.0-wmf.13/includes/MediaWiki.php(940): MediaWiki->performRequest()
#14 /srv/mediawiki/php-1.36.0-wmf.13/includes/MediaWiki.php(543): MediaWiki->main()
#15 /srv/mediawiki/php-1.36.0-wmf.13/index.php(53): MediaWiki->run()
#16 /srv/mediawiki/php-1.36.0-wmf.13/index.php(46): wfIndexMain()
#17 /srv/mediawiki/w/index.php(3): require(string)
#18 {main}

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald TranscriptOct 20 2020, 11:31 AM
Daimona claimed this task.Oct 20 2020, 11:35 AM
LarsWirzenius triaged this task as Unbreak Now! priority.Oct 20 2020, 11:51 AM

There's now over 2000 of these in the past four hours. Not blocking the train yet, but raising priority to UBN.

Change 635284 had a related patch set uploaded (by Daimona Eaytoy; owner: Daimona Eaytoy):
[mediawiki/extensions/AbuseFilter@master] Prevent uncaught warnings/exception on Special:AbuseFilter

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

This error doesn't cause any impact on the user, because the warning is swallowed silently, and the overall result is also correct (it's as if you didn't specify any search mode), so this is really just logspam.

I've also noticed the following error:

[ec25248c-fffc-41b6-b4d4-adb51aa1b214] /wiki/Speciale:FiltroAntiAbusi/?deletedfilters=hide&querypattern=&searchoption=LIKElimit=500&title=Speciale%3AFiltroAntiAbusi%2F   LogicException from line 127 of /srv/mediawiki/php-1.36.0-wmf.13/extensions/AbuseFilter/includes/pagers/AbuseFilterPager.php: Unknown search type LIKElimit=500
#0 /srv/mediawiki/php-1.36.0-wmf.13/extensions/AbuseFilter/includes/pagers/AbuseFilterPager.php(94): AbuseFilterPager->matchesPattern(string)
#1 /srv/mediawiki/php-1.36.0-wmf.13/includes/pager/IndexPager.php(280): AbuseFilterPager->reallyDoQuery(string, integer, boolean)
#2 /srv/mediawiki/php-1.36.0-wmf.13/includes/pager/IndexPager.php(788): IndexPager->doQuery()
#3 /srv/mediawiki/php-1.36.0-wmf.13/includes/pager/TablePager.php(310): IndexPager->isNavigationBarShown()
#4 /srv/mediawiki/php-1.36.0-wmf.13/includes/pager/TablePager.php(112): TablePager->getNavigationBar()
#5 /srv/mediawiki/php-1.36.0-wmf.13/extensions/AbuseFilter/includes/Views/AbuseFilterViewList.php(259): TablePager->getFullOutput()
#6 /srv/mediawiki/php-1.36.0-wmf.13/extensions/AbuseFilter/includes/Views/AbuseFilterViewList.php(128): AbuseFilterViewList->showList(array, array)
#7 /srv/mediawiki/php-1.36.0-wmf.13/extensions/AbuseFilter/includes/special/SpecialAbuseFilter.php(63): AbuseFilterViewList->show()
#8 /srv/mediawiki/php-1.36.0-wmf.13/includes/specialpage/SpecialPage.php(600): SpecialAbuseFilter->execute(string)
#9 /srv/mediawiki/php-1.36.0-wmf.13/includes/specialpage/SpecialPageFactory.php(837): SpecialPage->run(string)
#10 /srv/mediawiki/php-1.36.0-wmf.13/includes/MediaWiki.php(307): MediaWiki\SpecialPage\SpecialPageFactory->executePath(Title, RequestContext)
#11 /srv/mediawiki/php-1.36.0-wmf.13/includes/MediaWiki.php(940): MediaWiki->performRequest()
#12 /srv/mediawiki/php-1.36.0-wmf.13/includes/MediaWiki.php(543): MediaWiki->main()
#13 /srv/mediawiki/php-1.36.0-wmf.13/index.php(53): MediaWiki->run()
#14 /srv/mediawiki/php-1.36.0-wmf.13/index.php(46): wfIndexMain()
#15 /srv/mediawiki/w/index.php(3): require(string)
#16 {main}

which is also fixed by the patch above.

FTR, the PHP warning happens if you open Special:AbuseFilter and click "update" without doing anything else. The uncaught LogicException can only happen if you manually hack the URL.

It's excellent if it's not visible to users, but as train conductor, it makes my work harder if there's a lot of logspam that could be avoid. Thank you for fixing this.

Change 635284 merged by jenkins-bot:
[mediawiki/extensions/AbuseFilter@master] Prevent uncaught warnings/exception on Special:AbuseFilter

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

Change 635042 had a related patch set uploaded (by Urbanecm; owner: Daimona Eaytoy):
[mediawiki/extensions/AbuseFilter@wmf/1.36.0-wmf.14] Prevent uncaught warnings/exception on Special:AbuseFilter

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

Change 635043 had a related patch set uploaded (by Urbanecm; owner: Daimona Eaytoy):
[mediawiki/extensions/AbuseFilter@wmf/1.36.0-wmf.13] Prevent uncaught warnings/exception on Special:AbuseFilter

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

Change 635043 merged by jenkins-bot:
[mediawiki/extensions/AbuseFilter@wmf/1.36.0-wmf.13] Prevent uncaught warnings/exception on Special:AbuseFilter

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

Change 635042 merged by jenkins-bot:
[mediawiki/extensions/AbuseFilter@wmf/1.36.0-wmf.14] Prevent uncaught warnings/exception on Special:AbuseFilter

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

Mentioned in SAL (#wikimedia-operations) [2020-10-20T14:56:47Z] <urbanecm@deploy1001> Synchronized php-1.36.0-wmf.14/extensions/AbuseFilter/includes/Views/AbuseFilterViewList.php: 00ef00f59fd2a7a1366161ccc66c260be20e3e50: Prevent uncaught warnings/exception on Special:AbuseFilter (T265994) (duration: 01m 01s)

Mentioned in SAL (#wikimedia-operations) [2020-10-20T14:58:31Z] <urbanecm@deploy1001> Synchronized php-1.36.0-wmf.13/extensions/AbuseFilter/includes/Views/AbuseFilterViewList.php: fee2d3be13ae14d7ea51ff2db42090a1c27819bf: Prevent uncaught warnings/exception on Special:AbuseFilter (T265994) (duration: 01m 03s)

Urbanecm closed this task as Resolved.Oct 20 2020, 3:21 PM
Urbanecm added a subscriber: Urbanecm.

Seems to be fixed. Feel free to reopen if it's seen again.