Page MenuHomePhabricator

Transcluding Special:LanguageStats sometimes corrupts parser state
Closed, InvalidPublic

Description

[25-May-2013 11:48:27] Fatal error: Call to a member function pauseUsageTimer() on a non-object at /usr/local/apache/common-local/php-1.22wmf4/extensions/Scribunto/engines/LuaCommon/LuaCommon.php on line 405
Server: mw1029
Method: GET
URL: http://meta.wikimedia.org/wiki/User:Yerpo
Backtrace:
#0 /usr/local/apache/common-local/php-1.22wmf4/extensions/Scribunto/engines/LuaCommon/LuaCommon.php(405): Scribunto_LuaEngine::getExpandedArgument()
#1 [internal function]: Scribunto_LuaEngine->getExpandedArgument('parent', 'group2')
#2 /usr/local/apache/common-local/php-1.22wmf4/extensions/Scribunto/engines/LuaSandbox/Engine.php(237): call_user_func_array(Array, Array)
#3 [internal function]: Scribunto_LuaSandboxCallback->__call('getExpandedArgu...', Array)
#4 [internal function]: Scribunto_LuaSandboxCallback->getExpandedArgument('parent', 'group2')
#5 [internal function]: LuaSandboxFunction->call(Object(LuaSandboxFunction))
#6 /usr/local/apache/common-local/php-1.22wmf4/extensions/Scribunto/engines/LuaSandbox/Engine.php(158): call_user_func_array(Array, Array)
#7 /usr/local/apache/common-local/php-1.22wmf4/extensions/Scribunto/engines/LuaCommon/LuaCommon.php(186): Scribunto_LuaSandboxInterpreter->callFunction(Object(LuaSandboxFunction), Object(LuaSandboxFunction))
#8 /usr/local/apache/common-local/php-1.22wmf4/extensions/Scribunto/engines/LuaCommon/LuaCommon.php(643): Scribunto_LuaEngine->executeFunctionChunk(Object(LuaSandboxFunction), Object(PPTemplateFrame_DOM))
#9 /usr/local/apache/common-local/php-1.22wmf4/extensions/Scribunto/common/Hooks.php(108): Scribunto_LuaModule->invoke('navbox', Object(PPTemplateFrame_DOM))
#10 [internal function]: ScribuntoHooks::invokeHook(Object(Parser), Object(PPTemplateFrame_DOM), Array)


Version: master
Severity: normal

Details

Reference
bz48807

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 22 2014, 1:30 AM
bzimport set Reference to bz48807.
bzimport added a subscriber: Unknown Object (MLST).

rohan.j.verma wrote:

Hello Sam,
I was investigating your bug and managed to recreate it when emitting your user page. I also tried to narrow down what part of your page was causing the error. However before I completed this it seems I can no longer reproduce the crash. Is this the same for you?

I suspect that the order of events was something like this:

  • Page calls Module:Navbox, where list1 contains a transclusion of Special:LanguageStats/sl
  • Scribunto expands the list1 arg, from the loop at lines 347–350.
  • Something related to the transclusion of Special:LanguageStats/sl manages to somehow corrupt the Scribunto state. Not sure how. But the result is that the engine's interface is some non-object (probably null).
  • Then when Scribunto tries to expand the next arg (group2 on the next iteration of the loop), it runs into that null interface, and boom.
  • And then at some point, whatever it was about the data behind Special:LanguageStats/sl that was making it screw up the Scribunto state changed so it doesn't do it anymore.

Which makes this extremely difficult to reproduce and debug. Ugh.

Quite a few of these currently happening on wmf14

I've confirmed that it's Special:LanguageStats/sl: I created a module on meta that just returns the values of two parameters, and if I passed {{Special:LanguageStats/sl}} for the first one then this error occurred. Again, the error stopped occurring after a short time.

I also noted that page title on page preview of a page containing only {{Special:LanguageStats/sl}} (no Scribunto invocation at all) was being reported as "MediaWiki:Centralnotice-template-B13 0822 form newspacing left dr enYY" instead of "User:Anomie/Sandbox2" while the bug was occurring.

Other than the corrupt title, I also note the following differences between the output when the bug was occurring and when it wasn't:

  • Group rows (the ones with [expand]/[collapse]) have "..." in the value columns instead of actual numbers. A number of the value rows do too, although the row for "MediaWiki:Centralnotice-template-B13 0822 form newspacing left dr enYY" is not among these.
  • A bolded row for "Fundraising 2012" was present, with state "In Progress". There is another "In Progress" (but non-bolded) row in the non-bugged output, however.
  • A bolded row for "WMF Blog Posts" was present, with empty state.
  • The total row at the end also has "...".

(In reply to comment #4 by Reedy)

Quite a few of these currently happening on wmf14

Can this still be seen in logs recently?

(In reply to comment #4 by Reedy)

Quite a few of these currently happening on wmf14

Reedy: Can this still be seen in logs recently?

(In reply to comment #4 by Reedy)

Quite a few of these currently happening on wmf14

Reedy: Can this still be seen in logs recently?

Has anybody seen this in logs recently? Is this still an issue?

Nikerabbit claimed this task.

This error does not show up in logstash.