Page MenuHomePhabricator

Warning: class_exists() expects parameter 1 to be string, array given in includes/logging/LogFormatter.php on line 39
Closed, ResolvedPublic

Description

I'm using trunk version of MediaWiki and installed [[mw:Extension:AbuseFilter]]. After creating my first filter, if I go to [[Special:RecentChanges]] I get

Warning: class_exists() expects parameter 1 to be string, array given in /var/www/mw/includes/logging/LogFormatter.php on line 39

in the top of the page. If I go to my filter and do some random edit to it and go back to Special:RecentChanges I get the previous message two times. If I edit my filter over and over again, the number of warnings will keep increasing.

If I go to /var/www/mw/includes/logging/LogFormatter.php and add the code

if( is_array( $handler ) ) { wfDebugDieBacktrace(); }

just before the line 39, I get:

Backtrace:
#0 /var/www/mw/includes/logging/LogFormatter.php(38): wfDebugDieBacktrace()
#1 /var/www/mw/includes/logging/LogFormatter.php(54): LogFormatter::newFromEntry(Object(RCDatabaseLogEntry))
#2 /var/www/mw/includes/ChangesList.php(365): LogFormatter::newFromRow(Array)
#3 /var/www/mw/includes/ChangesList.php(557): ChangesList->insertLogEntry(Object(RecentChange))
#4 /var/www/mw/includes/specials/SpecialRecentchanges.php(516): OldChangesList->recentChangesLine(Object(RecentChange), false, 2)
#5 /var/www/mw/includes/specials/SpecialRecentchanges.php(168): SpecialRecentChanges->webOutput(Object(ResultWrapper), Object(FormOptions))
#6 /var/www/mw/includes/SpecialPageFactory.php(465): SpecialRecentChanges->execute(NULL)
#7 /var/www/mw/includes/Wiki.php(225): SpecialPageFactory::executePath(Object(Title), Object(RequestContext))
#8 /var/www/mw/includes/Wiki.php(623): MediaWiki->performRequest()
#9 /var/www/mw/includes/Wiki.php(532): MediaWiki->main()
#10 /var/www/mw/index.php(58): MediaWiki->run()

#11 {main}


Version: 1.20.x
Severity: normal

Details

Reference
bz31728

Event Timeline

bzimport raised the priority of this task from to High.Nov 21 2014, 11:49 PM
bzimport set Reference to bz31728.
bzimport added a subscriber: Unknown Object (MLST).

Adding Default CC of AbuseFilter extension, since the warning goes away if I remove the extension from my LocalSettings.php.

http://svn.wikimedia.org/viewvc/mediawiki/trunk/phase3/includes/logging/LogFormatter.php?revision=98738&view=markup#l39

$handler = $wgLogActionsHandlers[ .. ]';
class_exists( $handler )

It comes from wgLogActionsHandlers

http://svn.wikimedia.org/viewvc/mediawiki/trunk/extensions/AbuseFilter/AbuseFilter.php?revision=98495&view=markup#l96

$wgLogActionsHandlers['abusefilter/modify'] = array( 'AbuseFilter', 'modifyActionText' );

Should be fixed by r100396/r100447.