Page MenuHomePhabricator

PHP Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated
Closed, ResolvedPublicPRODUCTION ERROR

Description

Error
labels.normalized_message
[{reqId}] {exception_url}   PHP Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated
FrameLocationCall
from/srv/mediawiki/php-1.45.0-wmf.4/extensions/AbuseFilter/includes/View/AbuseFilterViewEdit.php(1303)
#0[internal function]MediaWiki\Exception\MWExceptionHandler::handleError(int, string, string, int)
#1/srv/mediawiki/php-1.45.0-wmf.4/extensions/AbuseFilter/includes/View/AbuseFilterViewEdit.php(1303)trim(null)
#2/srv/mediawiki/php-1.45.0-wmf.4/extensions/AbuseFilter/includes/View/AbuseFilterViewEdit.php(180)MediaWiki\Extension\AbuseFilter\View\AbuseFilterViewEdit->loadRequest(int)
#3/srv/mediawiki/php-1.45.0-wmf.4/extensions/AbuseFilter/includes/View/AbuseFilterViewEdit.php(145)MediaWiki\Extension\AbuseFilter\View\AbuseFilterViewEdit->attemptSave(int, null)
#4/srv/mediawiki/php-1.45.0-wmf.4/extensions/AbuseFilter/includes/Special/SpecialAbuseFilter.php(172)MediaWiki\Extension\AbuseFilter\View\AbuseFilterViewEdit->show()
#5/srv/mediawiki/php-1.45.0-wmf.4/includes/specialpage/SpecialPage.php(734)MediaWiki\Extension\AbuseFilter\Special\SpecialAbuseFilter->execute(string)
#6/srv/mediawiki/php-1.45.0-wmf.4/includes/specialpage/SpecialPageFactory.php(1738)MediaWiki\SpecialPage\SpecialPage->run(string)
#7/srv/mediawiki/php-1.45.0-wmf.4/includes/actions/ActionEntryPoint.php(499)MediaWiki\SpecialPage\SpecialPageFactory->executePath(string, MediaWiki\Context\RequestContext)
#8/srv/mediawiki/php-1.45.0-wmf.4/includes/actions/ActionEntryPoint.php(143)MediaWiki\Actions\ActionEntryPoint->performRequest()
#9/srv/mediawiki/php-1.45.0-wmf.4/includes/MediaWikiEntryPoint.php(198)MediaWiki\Actions\ActionEntryPoint->execute()
#10/srv/mediawiki/php-1.45.0-wmf.4/index.php(58)MediaWiki\MediaWikiEntryPoint->run()
#11/srv/mediawiki/w/index.php(3)require(string)
#12{main}
Impact
Notes

Related Objects

View Standalone Graph
This task is connected to more than 200 other tasks. Only direct parents and subtasks are shown here. Use View Standalone Graph to show more of the graph.

Event Timeline

Hmm, WebRequest::getVal is discouraged, yet AbuseFilter makes use of it. Is there any gotcha in changing these calls to WebRequest::getText?

According to the PHPDoc of WebRequest::getVal(),

It doesn't normalize line breaks and defaults to null instead of the empty string.

The second part clearly causes a bug here, but may mean a feature elsewhere (and it’s irrelevant when a custom default is provided, unless that default is null – which isn’t allowed by WebRequest::getText()). The first part is unlikely but not impossible to be significant (who wants to see CRLFs in inputs? well, maybe someone does).

Change #1171706 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/AbuseFilter@master] Provide default for missing request values on Special:AbuseFilter/new

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

Change #1171706 merged by jenkins-bot:

[mediawiki/extensions/AbuseFilter@master] Provide default for missing request values on Special:AbuseFilter/new

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

Change #1172076 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/AbuseFilter@REL1_44] Provide default for missing request values on Special:AbuseFilter/new

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

Change #1172077 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/AbuseFilter@REL1_43] Provide default for missing request values on Special:AbuseFilter/new

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

Change #1172078 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/AbuseFilter@REL1_39] Provide default for missing request values on Special:AbuseFilter/new

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

Change #1172078 merged by jenkins-bot:

[mediawiki/extensions/AbuseFilter@REL1_39] Provide default for missing request values on Special:AbuseFilter/new

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

Change #1172076 merged by jenkins-bot:

[mediawiki/extensions/AbuseFilter@REL1_44] Provide default for missing request values on Special:AbuseFilter/new

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

Change #1172077 merged by jenkins-bot:

[mediawiki/extensions/AbuseFilter@REL1_43] Provide default for missing request values on Special:AbuseFilter/new

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