[ https://issues.apache.org/jira/browse/DOXIA-543?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Daniel Wegener updated DOXIA-543: --------------------------------- Description: The PegDownProcessor used at https://github.com/apache/maven-doxia/blob/doxia-1.7/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownParser.java#L72 is shared between multiple concurrent executions of the maven-site-plugin. This leads to random errors (NPEs, ClassCastException) because the parser state machine is reused by multiple threads. It seem not to be enough to make the field non-static since the whole MarkdownParser instance seem to be shared between different threads. The PegDown Javadoc explicitly states taht a PegDownProcessor is not thread-safe: https://github.com/sirthias/pegdown/blob/master/src/main/java/org/pegdown/PegDownProcessor.java Possible solutions: - Put the PegDownProcessor into a threadLocal. - Instanciate the PegDownProcessor in the toHtml method. was: The PegDownProcess used at https://github.com/apache/maven-doxia/blob/doxia-1.7/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownParser.java#L72 is shared between multiple concurrent executions of the maven-site-plugin. This leads to random errors (NPEs, ClassCastException) because the parser state machine is reused by multiple threads. It seem not to be enough to make the field non-static since the whole MarkdownParser instance seem to be shared between different threads. The PegDown Javadoc explicitly states taht a PegDownProcessor is not thread-safe: https://github.com/sirthias/pegdown/blob/master/src/main/java/org/pegdown/PegDownProcessor.java Possible solutions: - Put the PegDownProcessor into a threadLocal. - Instanciate the PegDownProcessor in the toHtml method. > maven-doxia-markdown fails in parallel builds > --------------------------------------------- > > Key: DOXIA-543 > URL: https://issues.apache.org/jira/browse/DOXIA-543 > Project: Maven Doxia > Issue Type: Bug > Components: Module - Markdown > Affects Versions: 1.7 > Reporter: Daniel Wegener > Original Estimate: 10m > Remaining Estimate: 10m > > The PegDownProcessor used at > https://github.com/apache/maven-doxia/blob/doxia-1.7/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownParser.java#L72 > is shared between multiple concurrent executions of the maven-site-plugin. > This leads to random errors (NPEs, ClassCastException) because the parser > state machine is reused by multiple threads. > It seem not to be enough to make the field non-static since the whole > MarkdownParser instance seem to be shared between different threads. > The PegDown Javadoc explicitly states taht a PegDownProcessor is not > thread-safe: > https://github.com/sirthias/pegdown/blob/master/src/main/java/org/pegdown/PegDownProcessor.java > Possible solutions: > - Put the PegDownProcessor into a threadLocal. > - Instanciate the PegDownProcessor in the toHtml method. -- This message was sent by Atlassian JIRA (v6.3.4#6332)