Page MenuHomePhabricator

User::loadFromSession called before the end of Setup.php
Closed, ResolvedPublicPRODUCTION ERROR

Description

The session log channel has a bunch of these (about 100/sec). A lot of URLs that are loaded as assets (Special:CentralAutoLogin/*, Special:BannerLoader, Special:HideBanners, gadgets) but some normal pages as well. Mostly seems to come in batches: 5-10 log events with the same content and same uid.

Last 24 hours in Logstash: https://logstash.wikimedia.org/goto/c80940cd1442170eb706598fc54cdd06

As of December 2017: 240+ per day.

Details

SubjectRepoBranchLines +/-
mediawiki/coremaster+11 -1
mediawiki/extensions/AbuseFilterwmf/1.28.0-wmf.11+19 -10
mediawiki/extensions/AbuseFilterwmf/1.28.0-wmf.10+19 -10
mediawiki/extensions/AbuseFiltermaster+19 -10
mediawiki/coremaster+1 -1
mediawiki/coremaster+10 -4
mediawiki/extensions/AbuseFiltermaster+7 -3
mediawiki/extensions/AbuseFiltermaster+1 -1
mediawiki/coremaster+22 -4
mediawiki/coremaster+32 -1
mediawiki/coremaster+22 -15
mediawiki/extensions/WikimediaEventsmaster+1 -1
mediawiki/coremaster+11 -0
mediawiki/corewmf/1.27.0-wmf.11+3 -1
mediawiki/coremaster+3 -1
Show related patches Customize query in gerrit

Related Objects

StatusSubtypeAssignedTask
Resolved Deskana
ResolvedAnomie
OpenNone
ResolvedAnomie
OpenNone
ResolvedTgr
ResolvedAnomie
OpenFeatureNone
OpenNone
ResolvedAnomie
ResolvedPRODUCTION ERRORNone
ResolvedPRODUCTION ERRORCatrope
ResolvedPRODUCTION ERRORNone
ResolvedPRODUCTION ERRORUmherirrender
ResolvedPRODUCTION ERRORAddshore
ResolvedNone
ResolvedPRODUCTION ERRORAnomie
ResolvedUmherirrender
ResolvedPRODUCTION ERRORTgr

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes

Change 268174 had a related patch set uploaded (by Anomie):
Avoid unstubbing $wgUser before the end of Setup.php in User::getBlockedStatus()

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

Change 268177 had a related patch set uploaded (by Anomie):
Avoid unstubbing $wgUser during AbortAutoAccount hook

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

Change 268184 had a related patch set uploaded (by Anomie):
Use stub threshold from ParserOptions when parsing

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

For the ones that include WikimediaEvents in the trace, I left a comment on https://gerrit.wikimedia.org/r/#/c/247512/. If that doesn't get a response, we should probably file a separate task for people who know what they're trying to do there to answer the question I asked.

Change 268219 had a related patch set uploaded (by Anomie):
Add User::isSafeToLoad() and ParserOptions::newFromAnon()

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

Change 268220 had a related patch set uploaded (by Anomie):
OutputPage: Don't get a ParserOptions for $wgUser before the end of Setup.php

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

Change 268221 had a related patch set uploaded (by Anomie):
Avoid unstubbing $wgUser when unsafe during filter failures

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

Change 268224 had a related patch set uploaded (by Anomie):
Use the user who actually made the revision for onRevisionInsertComplete

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

Change 268219 merged by jenkins-bot:
Add User::isSafeToLoad() and ParserOptions::newFromAnon()

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

Change 268174 merged by jenkins-bot:
Avoid unstubbing $wgUser before the end of Setup.php in User::getBlockedStatus()

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

Change 268224 merged by jenkins-bot:
Use the user who actually made the revision for onRevisionInsertComplete

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

Change 268184 merged by jenkins-bot:
Use stub threshold from ParserOptions when parsing

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

Change 268177 merged by jenkins-bot:
Avoid unstubbing $wgUser during AbortAutoAccount hook

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

Change 268220 merged by jenkins-bot:
OutputPage: Don't get a ParserOptions for $wgUser before the end of Setup.php

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

Change 268221 merged by jenkins-bot:
Avoid unstubbing $wgUser when unsafe during filter failures

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

bd808 triaged this task as Medium priority.Feb 11 2016, 2:08 AM
bd808 subscribed.

Change 294089 had a related patch set uploaded (by Anomie):
Don't try to use the context language when auto-creating

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

Change 294089 merged by jenkins-bot:
Don't try to use the context language when auto-creating

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

Change 297903 had a related patch set uploaded (by Anomie):
AFPUserVisibleException should log in English, not the user's language

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

Current culprits:

  • Notifications has EchoHooks::onUserSaveSettingsMWEchoNotifUser::resetNotificationCountMWEchoNotifUser::getForeignCountMWEchoNotifUser::getForeignDataEchoForeignWikiRequest::executeEchoForeignWikiRequest::getRequestParamsEchoForeignNotifications::getApiEndpointsEchoForeignNotifications::getWikiTitle → using a Message object without ensuring a valid language.
  • AbuseFilter has various paths that get to AFPUserVisibleException::__construct which uses a Message object without ensuring a valid language.

I have no idea how to fix the first one. The second seems easy enough.

Change 297903 merged by jenkins-bot:
AFPUserVisibleException should log in English, not the user's language

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

Change 300050 had a related patch set uploaded (by Chad):
AFPUserVisibleException should log in English, not the user's language

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

Change 300051 had a related patch set uploaded (by Chad):
AFPUserVisibleException should log in English, not the user's language

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

Change 300050 merged by jenkins-bot:
AFPUserVisibleException should log in English, not the user's language

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

Change 300051 merged by jenkins-bot:
AFPUserVisibleException should log in English, not the user's language

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

Change 382517 had a related patch set uploaded (by Anomie; owner: Anomie):
[mediawiki/core@master] CheckBlocksSecondaryAuthenticationProvider: Avoid user language during auto-creation

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

Change 382517 merged by jenkins-bot:
[mediawiki/core@master] CheckBlocksSecondaryAuthenticationProvider: Avoid user language during auto-creation

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

There are some pretty crazy spikes in the logs.

spike.png (203×1 px, 31 KB)

Oh, okay, that was the TwoColConflict revert.

Krinkle subscribed.

As of December 2017: 240+ per day.

Most are triggered during regular page views, via:

WebStart
 > AuthManager->autoCreateUser
 > AbuseFilterPreAuthenticationProvider
 > ...
 > Parser->parse
 > ...
 > StubUserLang->_newObject
 > RequestContext->getLanguage
 > User->getOption
 > ...
 > User->load
mmodell changed the subtype of this task from "Task" to "Production Error".Aug 28 2019, 11:11 PM

Is this bug still an issue or just stay open for similar kind of errors?

For the last error was a new task open: T267445
I would suggest to close this and use new tasks if there are still issues to get fresh stack traces to look at.

I would suggest to close this and use new tasks if there are still issues to get fresh stack traces to look at.

No reply. Boldly closing.

Please create fresh task with a fresh stacktrace.
The same error message can have different issues and needs to be tracked separated.