https://bugzilla.wikimedia.org/show_bug.cgi?id=31419
Roan Kattouw <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |[email protected] --- Comment #12 from Roan Kattouw <[email protected]> 2011-11-14 06:55:50 UTC --- (In reply to comment #11) > The same error seems to be happening on kwiki right now. > kwiki? You seem to have dropped a character there. Did you mean kwwiki? Typically, these errors happen when there's an overzealous TitleBlacklist rule that blocks your username, usually because someone who didn't read the documentation wrote a rule that accidentally blacklists all user creations. We had this problem on kwwiktionary on Saturday: the offending rule was that accounts matching [A-Z ]{10,}.* (first ten chars are caps or spaces) couldn't be created, however: 1) TB regexes are case-insensitive by default, unless explicitly specified otherwise. So the regex matched any string starting with at least ten characters that were either a letter (uppercase or lowercase) or a space 2) for user creations, the TB regex matches against "User:Foo", or the localized equivalent thereof. In kw, this is "Devnydhyer:Foo", which matches the regex regardless of what "Foo" is because "Devnydhyer" is ten characters (if the prefix were shorter, no username would've matched, because of the colon) This sort of thing is very annoying because only existing sysop accounts are exempt from TB checks. Global sysadmins are exempt from TB in theory (and usually in practice), but this bug prevents them from autocreating their local account if it doesn't already exist. To fix this, sysadmins have to disable TB, autocreate their account, reenable TB, then fix the blacklist. Even creating an account from the command line doesn't work because TB blocks that too. > Every page acces fails, including special pages (tried special:preferences and > specila:specialpages) > > the error trace seems similar to the one posted above : > > Unstub loop detected on call of $wgLang->getCode from MessageCache::get > That said, this is a bug. I'll see if I can fix the unstub loop, but I sometimes wonder what the use of stubbing $wgLang is. I guess there are API requests where it's not used. Annotations to the backtrace for my own benefit: > Backtrace: > > #0 /usr/local/apache/common-local/php-1.18/includes/StubObject.php(57): > StubObject->_unstub('getCode', 5) > #1 /usr/local/apache/common-local/php-1.18/includes/StubObject.php(147): > StubObject->_call('getCode', Array) > #2 [internal function]: StubUserLang->__call('getCode', Array) > #3 > /usr/local/apache/common-local/php-1.18/includes/cache/MessageCache.php(611): > StubUserLang->getCode() Third unstubbing of $wgLang. > #4 /usr/local/apache/common-local/php-1.18/includes/GlobalFunctions.php(1339): > MessageCache->get('gadgets-definit...', true, false) > #5 > /usr/local/apache/common-local/php-1.18/extensions/Gadgets/Gadgets_body.php(510): > wfEmptyMsg('gadgets-definit...', '<gadgets-def...') > #6 > /usr/local/apache/common-local/php-1.18/extensions/Gadgets/Gadgets_body.php(38): > Gadget::loadStructuredList() > #7 [internal function]: GadgetHooks::userGetDefaultOptions(Array) > #8 /usr/local/apache/common-local/php-1.18/includes/Hooks.php(216): > call_user_func_array('GadgetHooks::us...', Array) Gadgets extension responding to a hook and using wfEmptyMsg() > #9 /usr/local/apache/common-local/php-1.18/includes/GlobalFunctions.php(3621): > Hooks::run('UserGetDefaultO...', Array) > #10 /usr/local/apache/common-local/php-1.18/includes/User.php(1211): > wfRunHooks('UserGetDefaultO...', Array) > #11 /usr/local/apache/common-local/php-1.18/includes/User.php(2131): > User::getDefaultOptions() User::getDefaultOptions() called, calls Gadgets hook. > #12 /usr/local/apache/common-local/php-1.18/includes/RequestContext.php(213): > User->getOption('language') > #13 /usr/local/apache/common-local/php-1.18/includes/StubObject.php(151): > RequestContext->getLang() > #14 /usr/local/apache/common-local/php-1.18/includes/StubObject.php(103): > StubUserLang->_newObject() > #15 /usr/local/apache/common-local/php-1.18/includes/StubObject.php(57): > StubObject->_unstub('getCode', 5) > #16 /usr/local/apache/common-local/php-1.18/includes/StubObject.php(147): > StubObject->_call('getCode', Array) > #17 [internal function]: StubUserLang->__call('getCode', Array) > #18 > /usr/local/apache/common-local/php-1.18/includes/cache/MessageCache.php(611): > StubUserLang->getCode() Second unstubbing of $wgLang causing user options fetch. > #19 > /usr/local/apache/common-local/php-1.18/includes/GlobalFunctions.php(1173): > MessageCache->get('titleblacklist-...', true, false) > #20 > /usr/local/apache/common-local/php-1.18/includes/GlobalFunctions.php(1242): > wfMsgGetKey('titleblacklist-...') > #21 > /usr/local/apache/common-local/php-1.18/extensions/TitleBlacklist/TitleBlacklist.hooks.php(85): > wfMsgWikiHtml('titleblacklist-...', ' [A-Z ]{10,}.* ...', 'Darkoneko') TitleBlacklist calling wfMgsWikiHtml() to display an error message, causing a $wgLang call > #22 > /usr/local/apache/common-local/php-1.18/extensions/TitleBlacklist/TitleBlacklist.hooks.php(106): > TitleBlacklistHooks::acceptNewUserName('Darkoneko', Object(User), '') > #23 [internal function]: > TitleBlacklistHooks::centralAuthAutoCreate(Object(User), 'Darkoneko') > #24 /usr/local/apache/common-local/php-1.18/includes/Hooks.php(216): > call_user_func_array('TitleBlacklistH...', Array) TitleBlacklist verifying the autocreation > #25 > /usr/local/apache/common-local/php-1.18/includes/GlobalFunctions.php(3621): > Hooks::run('CentralAuthAuto...', Array) > #26 > /usr/local/apache/common-local/php-1.18/extensions/CentralAuth/CentralAuthHooks.php(469): > wfRunHooks('CentralAuthAuto...', Array) > #27 > /usr/local/apache/common-local/php-1.18/extensions/CentralAuth/CentralAuthHooks.php(253): > CentralAuthHooks::attemptAddUser(Object(User), 'Darkoneko') > #28 [internal function]: CentralAuthHooks::onUserLoadFromSession(Object(User), > NULL) > #29 /usr/local/apache/common-local/php-1.18/includes/Hooks.php(216): > call_user_func_array('CentralAuthHook...', Array) CentralAuth trying to autocreate the account > #30 > /usr/local/apache/common-local/php-1.18/includes/GlobalFunctions.php(3621): > Hooks::run('UserLoadFromSes...', Array) > #31 /usr/local/apache/common-local/php-1.18/includes/User.php(930): > wfRunHooks('UserLoadFromSes...', Array) > #32 /usr/local/apache/common-local/php-1.18/includes/User.php(272): > User->loadFromSession() Loading user data from session > #33 /usr/local/apache/common-local/php-1.18/includes/User.php(3928): > User->load() > #34 /usr/local/apache/common-local/php-1.18/includes/User.php(2125): > User->loadOptions() > #35 /usr/local/apache/common-local/php-1.18/includes/RequestContext.php(213): > User->getOption('language') > #36 /usr/local/apache/common-local/php-1.18/includes/StubObject.php(151): > RequestContext->getLang() > #37 /usr/local/apache/common-local/php-1.18/includes/StubObject.php(103): > StubUserLang->_newObject() > #38 /usr/local/apache/common-local/php-1.18/includes/StubObject.php(57): > StubObject->_unstub('getCode', 5) > #39 /usr/local/apache/common-local/php-1.18/includes/StubObject.php(147): > StubObject->_call('getCode', Array) > #40 [internal function]: StubUserLang->__call('getCode', Array) > #41 > /usr/local/apache/common-local/php-1.18/includes/cache/MessageCache.php(611): > StubUserLang->getCode() First $wgLang unstub, causes user options fetch > #42 > /usr/local/apache/common-local/php-1.18/includes/GlobalFunctions.php(1173): > MessageCache->get('preferences', true, false) > #43 > /usr/local/apache/common-local/php-1.18/includes/GlobalFunctions.php(1153): > wfMsgGetKey('preferences', true, false, true) > #44 > /usr/local/apache/common-local/php-1.18/includes/GlobalFunctions.php(1071): > wfMsgReal('preferences', Array) > #45 /usr/local/apache/common-local/php-1.18/includes/SpecialPage.php(592): > wfMsg('preferences') Probably the first wfMsg() call > #46 /usr/local/apache/common-local/php-1.18/includes/SpecialPage.php(531): > SpecialPage->getDescription() > #47 > /usr/local/apache/common-local/php-1.18/includes/specials/SpecialPreferences.php(37): > SpecialPage->setHeaders() > #48 > /usr/local/apache/common-local/php-1.18/includes/SpecialPageFactory.php(460): > SpecialPreferences->execute(NULL) Special:Preference executing > #49 /usr/local/apache/common-local/php-1.18/includes/Wiki.php(226): > SpecialPageFactory::executePath(Object(Title), Object(RequestContext)) > #50 /usr/local/apache/common-local/php-1.18/includes/Wiki.php(626): > MediaWiki->performRequest() > #51 /usr/local/apache/common-local/php-1.18/includes/Wiki.php(533): > MediaWiki->main() > #52 /usr/local/apache/common-local/php-1.18/index.php(57): MediaWiki->run() > #53 /usr/local/apache/common-local/live-1.5/index.php(3): > require('/usr/local/apac...') > #54 {main} Normal init path for a special page view -- Configure bugmail: https://bugzilla.wikimedia.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. You are on the CC list for the bug. _______________________________________________ Wikibugs-l mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/wikibugs-l
