https://bugzilla.wikimedia.org/show_bug.cgi?id=73073

--- Comment #7 from Keith Welter <[email protected]> ---
The StripState.php: Invalid marker exception is caused by a recursive call to
Parser::parse.  The documentation for Parser::parse says, "Do not call this
function recursively." 

Here is a bit of code I added at the beginning of Parser::parse to detect
recursion:
$callers = array_slice( debug_backtrace(), 1 );
foreach( $callers as $caller ) {
  if ( $caller['function'] == __FUNCTION__ && isset( $caller['class'] ) &&
$caller['class'] == __CLASS__ ) {
    throw new MWException( __METHOD__ . ": detected recursion");
  }
}

This yields a stack trace showing how the illegal recursion came about:

[fda8b10b] /wiki/Main_Page Exception from line 366 of
/home/welterkj/public_html/mediawiki/w23/includes/parser/Parser.php:
Parser::parse: detected recursion

Backtrace:

#0
/home/welterkj/public_html/mediawiki/w23/includes/content/WikitextContent.php(322):
Parser->parse(string, Title, ParserOptions, boolean, boolean, NULL)
#1 /home/welterkj/public_html/mediawiki/w23/includes/WikiPage.php(2091):
WikitextContent->getParserOutput(Title, NULL, ParserOptions)
#2
/home/welterkj/public_html/mediawiki/w23/extensions/SemanticMediaWiki/includes/src/MediaWiki/EditInfoProvider.php(88):
WikiPage->prepareContentForEdit(WikitextContent, NULL, User, string)
#3
/home/welterkj/public_html/mediawiki/w23/extensions/SemanticMediaWiki/includes/src/MediaWiki/EditInfoProvider.php(66):
SMW\MediaWiki\EditInfoProvider->prepareContentForEdit()
#4
/home/welterkj/public_html/mediawiki/w23/extensions/SemanticMediaWiki/includes/src/MediaWiki/Hooks/NewRevisionFromEditComplete.php(81):
SMW\MediaWiki\EditInfoProvider->fetchEditInfo()
#5
/home/welterkj/public_html/mediawiki/w23/extensions/SemanticMediaWiki/includes/src/MediaWiki/Hooks/NewRevisionFromEditComplete.php(76):
SMW\MediaWiki\Hooks\NewRevisionFromEditComplete->getParserOutputFromEditInfo()
#6
/home/welterkj/public_html/mediawiki/w23/extensions/SemanticMediaWiki/includes/Setup.php(392):
SMW\MediaWiki\Hooks\NewRevisionFromEditComplete->process()
#7 [internal function]: SMW\Setup->SMW\{closure}(WikiFilePage, Revision,
integer, User)
#8 /home/welterkj/public_html/mediawiki/w23/includes/Hooks.php(206):
call_user_func_array(Closure, array)
#9 /home/welterkj/public_html/mediawiki/w23/includes/GlobalFunctions.php(4004):
Hooks::run(string, array, NULL)
#10
/home/welterkj/public_html/mediawiki/w23/includes/filerepo/file/LocalFile.php(1393):
wfRunHooks(string, array)
#11
/home/welterkj/public_html/mediawiki/w23/includes/filerepo/file/LocalFile.php(1174):
LocalFile->recordUpload2(string, string, string, array, boolean, User)
#12
/home/welterkj/public_html/mediawiki/w23/includes/upload/UploadBase.php(694):
LocalFile->upload(string, string, string, integer, NULL, boolean, User)
#13
/home/welterkj/public_html/mediawiki/w23/extensions/GraphViz/UploadLocalFile.php(238):
UploadBase->performUpload(string, string, boolean, User)
#14
/home/welterkj/public_html/mediawiki/w23/extensions/GraphViz/GraphViz_body.php(1156):
UploadLocalFile::upload(string, string, User, string, string, boolean, boolean)
#15
/home/welterkj/public_html/mediawiki/w23/extensions/GraphViz/GraphViz_body.php(756):
GraphViz::render(string, array, Parser, PPFrame_DOM)
#16 [internal function]: GraphViz::graphvizParserHook(string, array, Parser,
PPFrame_DOM)
#17 /home/welterkj/public_html/mediawiki/w23/includes/parser/Parser.php(4028):
call_user_func_array(array, array)
#18
/home/welterkj/public_html/mediawiki/w23/includes/parser/Preprocessor_DOM.php(1178):
Parser->extensionSubstitution(array, PPFrame_DOM)
#19 /home/welterkj/public_html/mediawiki/w23/includes/parser/Parser.php(3162):
PPFrame_DOM->expand(PPNode_DOM, integer)
#20 /home/welterkj/public_html/mediawiki/w23/includes/parser/Parser.php(1225):
Parser->replaceVariables(string)
#21 /home/welterkj/public_html/mediawiki/w23/includes/parser/Parser.php(404):
Parser->internalParse(string)
#22
/home/welterkj/public_html/mediawiki/w23/includes/content/WikitextContent.php(322):
Parser->parse(string, Title, ParserOptions, boolean, boolean, integer)
#23 /home/welterkj/public_html/mediawiki/w23/includes/WikiPage.php(3614):
WikitextContent->getParserOutput(Title, integer, ParserOptions)
#24
/home/welterkj/public_html/mediawiki/w23/includes/poolcounter/PoolCounterWork.php(112):
PoolWorkArticleView->doWork()
#25 /home/welterkj/public_html/mediawiki/w23/includes/Article.php(710):
PoolCounterWork->execute()
#26
/home/welterkj/public_html/mediawiki/w23/includes/actions/ViewAction.php(44):
Article->view()
#27 /home/welterkj/public_html/mediawiki/w23/includes/Wiki.php(428):
ViewAction->show()
#28 /home/welterkj/public_html/mediawiki/w23/includes/Wiki.php(292):
MediaWiki->performAction(Article, Title)
#29 /home/welterkj/public_html/mediawiki/w23/includes/Wiki.php(588):
MediaWiki->performRequest()
#30 /home/welterkj/public_html/mediawiki/w23/includes/Wiki.php(447):
MediaWiki->main()
#31 /home/welterkj/public_html/mediawiki/w23/index.php(46): MediaWiki->run()
#32 {main}

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
Wikibugs-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikibugs-l

Reply via email to