Page MenuHomePhabricator

Echo breaks extensions showing 'invalid magic word' errors
Closed, ResolvedPublic

Description

This has been happening since https://gerrit.wikimedia.org/r/#/c/115341/
This should either be fixed or the commit reverted!
See https://tech.orain.org/wiki/Incidents/2014-06-ExtensionIssues

Example stacktrace below:

2014-06-18 23:27:13 prod4 extloadwiki: [7ad42023] [no req] Exception from line 318 of /w/includes/MagicWord.php: Error: invalid magic word 'useliquidthreads'
#0 /w/includes/MagicWord.php(241): MagicWord->load('useliquidthread...')
#1 /w/includes/parser/Parser.php(4984): MagicWord::get('useliquidthread...')
#2 /w/extensions/LiquidThreads/classes/Hooks.php(860): Parser->setFunctionHook('useliquidthread...', Array)
#3 [internal function]: LqtHooks::onParserFirstCallInit(Object(Parser))
#4 /w/includes/Hooks.php(206): call_user_func_array('LqtHooks::onPar...', Array)
#5 /w/includes/GlobalFunctions.php(4004): Hooks::run('ParserFirstCall...', Array, NULL)
#6 /w/includes/parser/Parser.php(275): wfRunHooks('ParserFirstCall...', Array)
#7 [internal function]: Parser->firstCallInit()
#8 /w/includes/StubObject.php(99): call_user_func_array(Array, Array)
#9 /w/includes/StubObject.php(119): StubObject->_call('firstCallInit', Array)
#10 /w/includes/cache/MessageCache.php(1023): StubObject->__call('firstCallInit', Array)
#11 /w/includes/cache/MessageCache.php(1023): StubObject->firstCallInit()
#12 /w/includes/cache/MessageCache.php(1000): MessageCache->getParser()
#13 /w/includes/Message.php(977): MessageCache->transform('{{SITENAME}}', false, Object(Language), NULL)
#14 /w/includes/Message.php(669): Message->transformText('{{SITENAME}}')
#15 /w/includes/Message.php(732): Message->toString()
#16 /w/extensions/Echo/Hooks.php(35): Message->text()
#17 [internal function]: EchoHooks::initEchoExtension()
#18 /w/includes/Setup.php(601): call_user_func('EchoHooks::init...')
#19 /w/maintenance/doMaintenance.php(100): require_once('/usr/share/ngin...')
#20 /w/maintenance/rebuildLocalisationCache.php(179): require_once('/usr/share/ngin...')
#21 {main}

Seems to affect a number of extensions including but not limmited to:

  • DPLForum
  • LiquidThreads
  • CSS
  • AJAXPoll
  • VoteNY
  • SubpageFun
  • RegexFun
  • Arrays
  • Comments
  • Disambiguator
  • HeaderTabs

Version: unspecified
Severity: major

Details

Reference
bz66992

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 22 2014, 3:33 AM
bzimport set Reference to bz66992.

We should have a static function that returns the value of $wgNotificationSenderName, that all callers should use instead. Doing so wouldn't require it to be initialized in an ExtensionFunction.

Work around for now is just set $wgNotificationSenderName = $wgSitename.

  • Bug 68695 has been marked as a duplicate of this bug. ***

Change 152968 had a related patch set uploaded by Legoktm:
Fix Echo breaking

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

Change 152968 merged by jenkins-bot:
Fix Echo breaking

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

Fixed and backported to REL1_23.