Is it possible to fork plugin execution so that it executes in a separate
process?
I think doxia+markdown has a threading bug with peg down.
I get the attached exception.
Works fine with default options but -T 8 breaks it.
I assume if I just have the site plugin in a separate proc that it will
probably work since I won’t have two site builds stepping on each other.
java.lang.ClassCastException: java.lang.Integer cannot be cast to
org.pegdown.ast.SuperNode
at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:353)
at org.parboiled.matchers.SequenceMatcher.match(SequenceMatcher.java:46)
at
org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77)
at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:338)
at org.parboiled.matchers.OneOrMoreMatcher.match(OneOrMoreMatcher.java:38)
at
org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77)
at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:338)
at org.parboiled.matchers.SequenceMatcher.match(SequenceMatcher.java:46)
at
org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77)
at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:338)
at org.parboiled.matchers.FirstOfMatcher.match(FirstOfMatcher.java:41)
at
org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77)
at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:338)
at org.parboiled.matchers.SequenceMatcher.match(SequenceMatcher.java:46)
at
org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77)
at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:338)
at org.parboiled.matchers.FirstOfMatcher.match(FirstOfMatcher.java:41)
at
org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77)
at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:338)
at org.parboiled.matchers.SequenceMatcher.match(SequenceMatcher.java:46)
at
org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77)
at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:338)
at org.parboiled.matchers.SequenceMatcher.match(SequenceMatcher.java:46)
at
org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77)
at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:338)
at org.parboiled.matchers.ZeroOrMoreMatcher.match(ZeroOrMoreMatcher.java:39)
at
org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77)
at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:338)
at org.parboiled.matchers.SequenceMatcher.match(SequenceMatcher.java:46)
at
org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77)
at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:338)
at org.parboiled.matchers.SequenceMatcher.match(SequenceMatcher.java:46)
at
org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77)
at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:338)
at org.parboiled.parserunners.BasicParseRunner.run(BasicParseRunner.java:72)
at
org.parboiled.parserunners.ReportingParseRunner.runBasicMatch(ReportingParseRunner.java:86)
at
org.parboiled.parserunners.ReportingParseRunner.run(ReportingParseRunner.java:66)
at
org.parboiled.parserunners.AbstractParseRunner.run(AbstractParseRunner.java:81)
at org.pegdown.Parser.parseToParsingResult(Parser.java:1329)
at org.pegdown.Parser.parseInternal(Parser.java:1316)
at org.pegdown.Parser.parse(Parser.java:78)
at org.pegdown.PegDownProcessor.parseMarkdown(PegDownProcessor.java:137)
at
org.apache.maven.doxia.module.markdown.MarkdownParser.parse(MarkdownParser.java:170)
at org.apache.maven.doxia.DefaultDoxia.parse(DefaultDoxia.java:65)
at
org.apache.maven.doxia.siterenderer.DefaultSiteRenderer.renderDocument(DefaultSiteRenderer.java:398)
at
org.apache.maven.doxia.siterenderer.DoxiaDocumentRenderer.renderDocument(DoxiaDocumentRenderer.java:51)
at
org.apache.maven.doxia.siterenderer.DefaultSiteRenderer.renderModule(DefaultSiteRenderer.java:311)
at
org.apache.maven.doxia.siterenderer.DefaultSiteRenderer.render(DefaultSiteRenderer.java:129)
at
org.apache.maven.plugins.site.render.SiteMojo.renderDoxiaDocuments(SiteMojo.java:261)
at
org.apache.maven.plugins.site.render.SiteMojo.renderLocale(SiteMojo.java:172)
at org.apache.maven.plugins.site.render.SiteMojo.execute(SiteMojo.java:141)
at
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132)
... 14 more
Caused by: java.lang.ClassCastException: java.lang.Integer cannot be cast
to org.pegdown.ast.SuperNode
at org.pegdown.Parser.addAsChild(Parser.java:1251)
at org.pegdown.Action$mNyPdk1ujbVDZrIU.run(Unknown Source)
at org.parboiled.matchers.ActionMatcher.match(ActionMatcher.java:96)
at
org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77)
at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:338)
... 65 more
Founder/CEO Spinn3r.com
Location: *San Francisco, CA*
blog: http://burtonator.wordpress.com
… or check out my Google+ profile
<https://plus.google.com/102718274791889610666/posts>
<http://spinn3r.com>
process?
I think doxia+markdown has a threading bug with peg down.
I get the attached exception.
Works fine with default options but -T 8 breaks it.
I assume if I just have the site plugin in a separate proc that it will
probably work since I won’t have two site builds stepping on each other.
java.lang.ClassCastException: java.lang.Integer cannot be cast to
org.pegdown.ast.SuperNode
at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:353)
at org.parboiled.matchers.SequenceMatcher.match(SequenceMatcher.java:46)
at
org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77)
at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:338)
at org.parboiled.matchers.OneOrMoreMatcher.match(OneOrMoreMatcher.java:38)
at
org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77)
at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:338)
at org.parboiled.matchers.SequenceMatcher.match(SequenceMatcher.java:46)
at
org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77)
at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:338)
at org.parboiled.matchers.FirstOfMatcher.match(FirstOfMatcher.java:41)
at
org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77)
at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:338)
at org.parboiled.matchers.SequenceMatcher.match(SequenceMatcher.java:46)
at
org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77)
at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:338)
at org.parboiled.matchers.FirstOfMatcher.match(FirstOfMatcher.java:41)
at
org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77)
at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:338)
at org.parboiled.matchers.SequenceMatcher.match(SequenceMatcher.java:46)
at
org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77)
at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:338)
at org.parboiled.matchers.SequenceMatcher.match(SequenceMatcher.java:46)
at
org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77)
at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:338)
at org.parboiled.matchers.ZeroOrMoreMatcher.match(ZeroOrMoreMatcher.java:39)
at
org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77)
at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:338)
at org.parboiled.matchers.SequenceMatcher.match(SequenceMatcher.java:46)
at
org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77)
at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:338)
at org.parboiled.matchers.SequenceMatcher.match(SequenceMatcher.java:46)
at
org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77)
at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:338)
at org.parboiled.parserunners.BasicParseRunner.run(BasicParseRunner.java:72)
at
org.parboiled.parserunners.ReportingParseRunner.runBasicMatch(ReportingParseRunner.java:86)
at
org.parboiled.parserunners.ReportingParseRunner.run(ReportingParseRunner.java:66)
at
org.parboiled.parserunners.AbstractParseRunner.run(AbstractParseRunner.java:81)
at org.pegdown.Parser.parseToParsingResult(Parser.java:1329)
at org.pegdown.Parser.parseInternal(Parser.java:1316)
at org.pegdown.Parser.parse(Parser.java:78)
at org.pegdown.PegDownProcessor.parseMarkdown(PegDownProcessor.java:137)
at
org.apache.maven.doxia.module.markdown.MarkdownParser.parse(MarkdownParser.java:170)
at org.apache.maven.doxia.DefaultDoxia.parse(DefaultDoxia.java:65)
at
org.apache.maven.doxia.siterenderer.DefaultSiteRenderer.renderDocument(DefaultSiteRenderer.java:398)
at
org.apache.maven.doxia.siterenderer.DoxiaDocumentRenderer.renderDocument(DoxiaDocumentRenderer.java:51)
at
org.apache.maven.doxia.siterenderer.DefaultSiteRenderer.renderModule(DefaultSiteRenderer.java:311)
at
org.apache.maven.doxia.siterenderer.DefaultSiteRenderer.render(DefaultSiteRenderer.java:129)
at
org.apache.maven.plugins.site.render.SiteMojo.renderDoxiaDocuments(SiteMojo.java:261)
at
org.apache.maven.plugins.site.render.SiteMojo.renderLocale(SiteMojo.java:172)
at org.apache.maven.plugins.site.render.SiteMojo.execute(SiteMojo.java:141)
at
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132)
... 14 more
Caused by: java.lang.ClassCastException: java.lang.Integer cannot be cast
to org.pegdown.ast.SuperNode
at org.pegdown.Parser.addAsChild(Parser.java:1251)
at org.pegdown.Action$mNyPdk1ujbVDZrIU.run(Unknown Source)
at org.parboiled.matchers.ActionMatcher.match(ActionMatcher.java:96)
at
org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77)
at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:338)
... 65 more
Founder/CEO Spinn3r.com
Location: *San Francisco, CA*
blog: http://burtonator.wordpress.com
… or check out my Google+ profile
<https://plus.google.com/102718274791889610666/posts>
<http://spinn3r.com>