andriusvelykis / reflow-maven-skin

Reflow is an Apache Maven site skin built on Bootstrap. It allows various structural and stylistic customizations to create a modern-looking Maven-generated website.
http://andriusvelykis.github.io/reflow-maven-skin/
Apache License 2.0
132 stars 57 forks source link

NullPointerException on first page load with `mvn site:run -Dport=7070` #30

Open christian-schlichtherle opened 10 years ago

christian-schlichtherle commented 10 years ago

I am using

mvn site:run -Dport=7070

to develop our site. When I do a first page load of the start URL http://localhost:7070/ then I get a NullPointerException. Following is the transcript:

Rendering site with lt.velykis.maven.skins:reflow-maven-skin:jar:1.0.0 skin.
Skipped "About" report, file "index.html" already exists for the English version.
Starting Jetty on http://localhost:7070/
jetty-6.1.25
NO JSP Support for /, did not find org.apache.jasper.servlet.JspServlet
Started SelectChannelConnector@0.0.0.0:7070
/
org.parboiled.errors.ParserRuntimeException: Error while parsing rule 'Root/Sequence/ZeroOrMore/Sequence' at input position (line 1, pos 1):

^

java.lang.NullPointerException
        at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:353)
        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:71)
        at org.apache.maven.doxia.DefaultDoxia.parse(DefaultDoxia.java:65)
        at org.apache.maven.doxia.siterenderer.DefaultSiteRenderer.renderDocument(DefaultSiteRenderer.java:406)
        at org.apache.maven.doxia.siterenderer.DoxiaDocumentRenderer.renderDocument(DoxiaDocumentRenderer.java:53)
        at org.apache.maven.plugins.site.webapp.DoxiaFilter.doFilter(DoxiaFilter.java:145)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
        at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
        at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
        at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
        at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
        at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:440)
        at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
        at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
        at org.mortbay.jetty.Server.handle(Server.java:326)
        at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
        at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:926)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
        at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
        at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
Caused by: java.lang.NullPointerException
        at org.parboiled.matchers.ProxyMatcher.getSubContext(ProxyMatcher.java:243)
        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)
        ... 38 more
andriusvelykis commented 10 years ago

Thanks! Though from the stack trace this looks to be a Markdown parsing issue - does this happen with other skins?

christian-schlichtherle commented 10 years ago

So far, I have used my own skin:

<skin>
    <groupId>net.java.truecommons</groupId>
    <artifactId>truecommons-skin</artifactId>
    <version>RELEASE</version>
</skin>

It doesn't happen with this.

christian-schlichtherle commented 10 years ago

I should add that this doesn't always happen, but frequently. If this happens, then a second page load works, so I suppose it's some initialization issue.