Page MenuHomePhabricator

AbuseFilter: PHP Catchable fatal error: Argument 1 passed to RequestContext::setTitle() must be an instance of Title, null given, called in AbuseFilter.class.php on
Closed, ResolvedPublic

Description

PHP Catchable fatal error: Argument 1 passed to RequestContext::setTitle() must be an instance of Title, null given, called in /usr/local/apache/common-local/php-1.22wmf20/extensions/AbuseFilter/AbuseFilter.class.php on line 901 and defined in /usr/local/apache/common-local/php-1.22wmf20/includes/context/RequestContext.php on line 93


Version: master
Severity: normal
See Also:
https://bugzilla.wikimedia.org/show_bug.cgi?id=28827

Details

Reference
bz55435

Event Timeline

bzimport raised the priority of this task from to High.Nov 22 2014, 2:14 AM
bzimport added a project: AbuseFilter.
bzimport set Reference to bz55435.
bzimport added a subscriber: Unknown Object (MLST).

[07-Oct-2013 18:28:17] Catchable fatal error: Argument 1 passed to RequestContext::setTitle() must be an instance of Title, null given, called in /usr/local/apache/common-local/php-1.22wmf20/extensions/AbuseFilter/AbuseFilter.class.php on line 901 and defined at /usr/local/apache/common-local/php-1.22wmf20/includes/context/RequestContext.php on line 93
Server: mw1219
Method: GET
URL: http://en.wikibooks.org/wiki/Special:CentralAutoLogin/start?type=1x1&from=commonswiki
Backtrace:
#0 /usr/local/apache/common-local/php-1.22wmf20/includes/context/RequestContext.php(93): RequestContext::setTitle()
#1 /usr/local/apache/common-local/php-1.22wmf20/extensions/AbuseFilter/AbuseFilter.class.php(901): RequestContext->setTitle(NULL)
#2 /usr/local/apache/common-local/php-1.22wmf20/extensions/AbuseFilter/AbuseFilter.hooks.php(373): AbuseFilter::filterAction(Object(AbuseFilterVariableHolder), Object(Title))
#3 /usr/local/apache/common-local/php-1.22wmf20/extensions/AbuseFilter/AbuseFilter.hooks.php(397): AbuseFilterHooks::checkNewAccount(Object(User), '', true)
#4 [internal function]: AbuseFilterHooks::onAbortAutoAccount(Object(User), '')
#5 /usr/local/apache/common-local/php-1.22wmf20/includes/Hooks.php(199): call_user_func_array('AbuseFilterHook...', Array)
#6 /usr/local/apache/common-local/php-1.22wmf20/includes/GlobalFunctions.php(3917): Hooks::run('AbortAutoAccoun...', Array)
#7 /usr/local/apache/common-local/php-1.22wmf20/extensions/CentralAuth/CentralAuthHooks.php(812): wfRunHooks('AbortAutoAccoun...', Array)
#8 /usr/local/apache/common-local/php-1.22wmf20/extensions/CentralAuth/CentralAuthHooks.php(552): CentralAuthHooks::attemptAddUser(Object(User))
#9 [internal function]: CentralAuthHooks::onUserLoadFromSession(Object(User), NULL)
#10 /usr/local/apache/common-local/php-1.22wmf20/includes/Hooks.php(199): call_user_func_array('CentralAuthHook...', Array)
#11 /usr/local/apache/common-local/php-1.22wmf20/includes/GlobalFunctions.php(3917): Hooks::run('UserLoadFromSes...', Array)
#12 /usr/local/apache/common-local/php-1.22wmf20/includes/User.php(935): wfRunHooks('UserLoadFromSes...', Array)
#13 /usr/local/apache/common-local/php-1.22wmf20/includes/User.php(297): User->loadFromSession()
#14 /usr/local/apache/common-local/php-1.22wmf20/includes/User.php(1743): User->load()
#15 /usr/local/apache/common-local/php-1.22wmf20/includes/User.php(2847): User->getId()
#16 /usr/local/apache/common-local/php-1.22wmf20/includes/Wiki.php(524): User->isLoggedIn()
#17 /usr/local/apache/common-local/php-1.22wmf20/includes/Wiki.php(467): MediaWiki->main()
#18 /usr/local/apache/common-local/php-1.22wmf20/index.php(49): MediaWiki->run()
#19 /usr/local/apache/common-local/w/index.php(3): require('/usr/local/apac...')
#20 {main}

Change 88189 had a related patch set uploaded by Anomie:
Allow $context->setTitle( null )

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

Change 88203 had a related patch set uploaded by CSteipp:
Move forceHTTPS check until after wgTitle is setup

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

Change 88203 merged by jenkins-bot:
Move forceHTTPS check until after wgTitle is setup

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

Change 88508 had a related patch set uploaded by Reedy:
Move forceHTTPS check until after wgTitle is setup

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

Change 88508 merged by jenkins-bot:
Move forceHTTPS check until after wgTitle is setup

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

Change 88189 merged by jenkins-bot:
Allow $context->setTitle( null )

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

This is seemingly still happening... Thought I guess it's because 88189 hasn't been backported to 1.22wmf20?

Catchable fatal error: Argument 1 passed to RequestContext::setTitle() must be an instance of Title, null given, called in /usr/local/apache/common-local/php-1.22wmf20/extensions/AbuseFilter/AbuseFilter.class.php on line 901 and defined in /usr/local/apache/common-local/php-1.22wmf20/includes/context/RequestContext.php on line 93

The stack trace is a little different in this case, and they seem to be much less frequent. Redacted stack trace below.

Also, every trace in the logs today is from zh.wikipedia.org. Coincidence?

[11-Oct-2013 00:00:27] Catchable fatal error: Argument 1 passed to RequestContext::setTitle() must be an instance of Title, null given, called in /usr/local/apache/common-local/php-1.22wmf20/extensions/AbuseFilter/AbuseFilter.class.php on line 901 and defined at /usr/local/apache/common-local/php-1.22wmf20/includes/context/RequestContext.php on line 93
Server: mw1185
Method: GET
URL: http://zh.wikipedia.org/wiki/
Cookie: centralauth_User=##; centralauth_Token=####; forceHTTPS=1
Backtrace:
#0 /usr/local/apache/common-local/php-1.22wmf20/includes/context/RequestContext.php(93): RequestContext::setTitle()
#1 /usr/local/apache/common-local/php-1.22wmf20/extensions/AbuseFilter/AbuseFilter.class.php(901): RequestContext->setTitle(NULL)
#2 /usr/local/apache/common-local/php-1.22wmf20/extensions/AbuseFilter/AbuseFilter.hooks.php(373): AbuseFilter::filterAction(Object(AbuseFilterVariableHolder), Object(Title))
#3 /usr/local/apache/common-local/php-1.22wmf20/extensions/AbuseFilter/AbuseFilter.hooks.php(397): AbuseFilterHooks::checkNewAccount(Object(User), '', true)
#4 [internal function]: AbuseFilterHooks::onAbortAutoAccount(Object(User), '')
#5 /usr/local/apache/common-local/php-1.22wmf20/includes/Hooks.php(199): call_user_func_array('AbuseFilterHook...', Array)
#6 /usr/local/apache/common-local/php-1.22wmf20/includes/GlobalFunctions.php(3917): Hooks::run('AbortAutoAccoun...', Array)
#7 /usr/local/apache/common-local/php-1.22wmf20/extensions/CentralAuth/CentralAuthHooks.php(812): wfRunHooks('AbortAutoAccoun...', Array)
#8 /usr/local/apache/common-local/php-1.22wmf20/extensions/CentralAuth/CentralAuthHooks.php(552): CentralAuthHooks::attemptAddUser(Object(User))
#9 [internal function]: CentralAuthHooks::onUserLoadFromSession(Object(User), NULL)
#10 /usr/local/apache/common-local/php-1.22wmf20/includes/Hooks.php(199): call_user_func_array('CentralAuthHook...', Array)
#11 /usr/local/apache/common-local/php-1.22wmf20/includes/GlobalFunctions.php(3917): Hooks::run('UserLoadFromSes...', Array)
#12 /usr/local/apache/common-local/php-1.22wmf20/includes/User.php(935): wfRunHooks('UserLoadFromSes...', Array)
#13 /usr/local/apache/common-local/php-1.22wmf20/includes/User.php(297): User->loadFromSession()
#14 /usr/local/apache/common-local/php-1.22wmf20/includes/User.php(4593): User->load()
#15 /usr/local/apache/common-local/php-1.22wmf20/includes/User.php(2305): User->loadOptions()
#16 /usr/local/apache/common-local/php-1.22wmf20/includes/context/RequestContext.php(296): User->getOption('language')
#17 /usr/local/apache/common-local/php-1.22wmf20/includes/StubObject.php(204): RequestContext->getLanguage()
#18 /usr/local/apache/common-local/php-1.22wmf20/includes/StubObject.php(149): StubUserLang->_newObject()
#19 /usr/local/apache/common-local/php-1.22wmf20/includes/StubObject.php(98): StubObject->_unstub('getCode', 5)
#20 /usr/local/apache/common-local/php-1.22wmf20/includes/StubObject.php(197): StubObject->_call('getCode', Array)
#21 /usr/local/apache/common-local/php-1.22wmf20/includes/Message.php(386): StubUserLang->__call('getCode', Array)
#22 /usr/local/apache/common-local/php-1.22wmf20/includes/Message.php(386): StubUserLang->getCode()
#23 /usr/local/apache/common-local/php-1.22wmf20/languages/LanguageConverter.php(581): Message->inLanguage('zh-hans')
#24 /usr/local/apache/common-local/php-1.22wmf20/languages/Language.php(693): LanguageConverter->convertNamespace(-2, 'zh-hans')
#25 /usr/local/apache/common-local/php-1.22wmf20/languages/Language.php(716): Language->getNamespaceAliases()
#26 /usr/local/apache/common-local/php-1.22wmf20/languages/Language.php(741): Language->getNamespaceIds()
#27 /usr/local/apache/common-local/php-1.22wmf20/includes/Title.php(3190): Language->getNsIndex('Wikipedia')
#28 /usr/local/apache/common-local/php-1.22wmf20/includes/Title.php(152): Title->secureAndSplit()
#29 /usr/local/apache/common-local/php-1.22wmf20/includes/Title.php(375): Title::newFromText('Wikipedia:?????...')
#30 /usr/local/apache/common-local/php-1.22wmf20/includes/Wiki.php(121): Title::newMainPage()
#31 /usr/local/apache/common-local/php-1.22wmf20/includes/Wiki.php(137): MediaWiki->parseTitle()
#32 /usr/local/apache/common-local/php-1.22wmf20/includes/Wiki.php(530): MediaWiki->getTitle()
#33 /usr/local/apache/common-local/php-1.22wmf20/includes/Wiki.php(467): MediaWiki->main()
#34 /usr/local/apache/common-local/php-1.22wmf20/index.php(49): MediaWiki->run()
#35 /usr/local/apache/common-local/w/index.php(3): require('/usr/local/apac...')
#36 {main}

(In reply to comment #8)

This is seemingly still happening... Thought I guess it's because 88189
hasn't been backported to 1.22wmf20?

Probably a good guess.

(In reply to comment #9)

The stack trace is a little different in this case, and they seem to be much
less frequent. Redacted stack trace below.

Also, every trace in the logs today is from zh.wikipedia.org. Coincidence?

Not a coincidence. This time the code path to unstub User before $wgTitle is set is only triggered when the wiki's content language has variants.

This is getting more frequent...

[Resetting to new as no patches are waiting for review anymore.]

Reedy: What does "more frequent" mean?
How is it on other wikis than zh which have language variants?

Reedy: What does "more frequent" mean?
How is it on other wikis than zh which have language variants?

Reedy: Does this still happen or can this be closed as WORKSFORME nowadays?

Reedy or anybody: Does this still happen or can this be closed as WORKSFORME nowadays?

Reedy or anybody: Can this still be seen or can this be closed as WORKSFORME nowadays?

Se4598 changed the task status from Open to Stalled.Dec 26 2014, 12:45 PM
Se4598 subscribed.

stalled since more than a year: waiting for information from ops if this is still happening in the logs.

bd808 claimed this task.
bd808 subscribed.

Let's file this again if it shows up in the logs.