I'll go for a minimal patch commenting with the rationale, and then build upon that.
I also tested it will work if execute maven disabling string concatenation optimization: MAVEN_OPTS=-XX:-OptimizeStringConcat which could used as a workaround for the short term. El vie., 30 de nov. de 2018 a la(s) 06:18, Robert Scholte ( [email protected]) escribió: > Interesting if that works, but if the concatenation is the issue, we > could > also try: > > write( "</" ); > write( elementStack.removeLast() ); > write( ">" ); > > If this doesn't work but your proposed code does, it must have a good > comment that this is a Java 7 workaround and can only be optimized once > we > require Java 8. > > I have also another idea: replace LinkedList with ArrayDeque, since it is > really a LinkedList implementation issue. Also, according to the docs: > "this class is likely to be faster than Stack when used as a stack, and > faster than LinkedList when used as a queue." > > thanks, > Robert > > On Fri, 30 Nov 2018 07:38:38 +0100, Hervé BOUTEMY <[email protected]> > > wrote: > > > wow, nice idea > > I noticed the issue for a long time, but never figured out the link > with > > Java > > 7 nor this idea of fix that is so "magic"... > > > > thank you for the help > > > > Regards, > > > > Hervé > > > > Le vendredi 30 novembre 2018, 05:11:56 CET Gabriel Belingueres a écrit : > >> Indeed, that seems to be the case. It magically worked after replacing > >> the > >> following line: > >> > http://codehaus-plexus.github.io/plexus-utils/xref/org/codehaus/plexus/util/ > >> xml/PrettyPrintXMLWriter.html#L307 > >> > >> with this: > >> String element = elementStack.removeLast(); > >> write( "</" + element + ">" ); > >> > >> I will soon create the issue and PR. > >> > >> Gabriel > >> > >> El jue., 29 de nov. de 2018 a la(s) 15:25, Robert Scholte ( > >> > >> [email protected]) escribió: > >> > At builds.apache.org: > >> > Java version: 1.7.0_79, vendor: Oracle Corporation > >> > > >> > Local > >> > Java version: 1.7.0_80, vendor: Oracle Corporation > >> > > >> > does seem to be Java7 only... > >> > I need to check this for a longer period, but might be a good > >> conclusion. > >> > > >> > thanks, > >> > Robert > >> > > >> > > >> > On Thu, 29 Nov 2018 04:54:59 +0100, Gabriel Belingueres > >> > > >> > <[email protected]> wrote: > >> > > Hi Robert: > >> > > > >> > > I'm testing it and getting *consistently* the same exception with > >> this > >> > > config: > >> > > > >> > > Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; > >> > > 2018-10-24T15:41:47-03:00) > >> > > Maven home: C:\productos\apache-maven-3.6.0\bin\.. > >> > > Java version: 1.7.0_80, vendor: Oracle Corporation, runtime: > >> C:\Program > >> > > Files\Java\jdk1.7.0_80\jre > >> > > Default locale: es_AR, platform encoding: Cp1252 > >> > > OS name: "windows 8.1", version: "6.3", arch: "amd64", family: > >> "windows" > >> > > > >> > > (actually it is a win 10 but it fails to recognze it). > >> > > > >> > > It works OK when remote debugging with mvnDebug. > >> > > > >> > > Don't know why throws a NoSuchElementException when trying to > >> remove an > >> > > element on a non empty LinkedList...my best guess is that it is some > >> > > sort > >> > > of bug in the hotspot optimization of the JVM. > >> > > > >> > > Which Java 7 specific update is running on Jenkins? > >> > > > >> > > Gabriel > >> > > > >> > > El mar., 27 de nov. de 2018 a la(s) 17:52, Robert Scholte ( > >> > > > >> > > [email protected]) escribió: > >> > >> Hi, > >> > >> > >> > >> sometimes the maven-plugin-plugin fails to write the plugin > >> descriptor > >> > >> and > >> > >> exits with the exception below. > >> > >> I see the same unreliable behavior on our Jenkins servers too, > >> > >> re-running > >> > >> often fixes the issue. > >> > >> I have seen the issue several times locally when running with > >> mvn.cmd, > >> > >> so > >> > >> far never with mvnDebug.cmd and always running with default > >> #threads. > >> > >> I can't find a reason why elementStack[1] gets out of sync. > >> > >> > >> > >> If there are others experiencing the same or similar issues, please > >> > >> share > >> > >> your analysis. > >> > >> Hopefully we can solve this instability issue soon. > >> > >> > >> > >> thanks, > >> > >> Robert > >> > >> > >> > >> [1] > >> > > >> > > >> > http://codehaus-plexus.github.io/plexus-utils/xref/org/codehaus/plexus/uti > >> > l/xml/PrettyPrintXMLWriter.html#L40> > >> > >> [ERROR] Failed to execute goal > >> > >> org.apache.maven.plugins:maven-plugin-plugin:3.5.2:descriptor > >> > >> (default-descriptor) on project maven-javadoc-plugin: Execution > >> > >> default-descriptor of goal > >> > >> org.apache.maven.plugins:maven-plugin-plugin:3.5.2:descriptor > >> failed. > >> > >> NoSuchElementException -> [Help 1] > >> > >> org.apache.maven.lifecycle.LifecycleExecutionException: Failed to > >> > >> execute > >> > >> goal org.apache.maven.plugins:maven-plugin-plugin:3.5.2:descriptor > >> > >> (default-descriptor) on project maven-javadoc-plugin: Execution > >> > >> default-descriptor of goal > >> > >> org.apache.maven.plugins:maven-plugin-plugin:3.5.2:descriptor > >> failed > >> > >> > >> > >> > >> > >> > >> > >> Caused by: java.util.NoSuchElementException > >> > >> > >> > >> at java.util.LinkedList.removeLast (LinkedList.java:281) > >> > >> at > >> org.codehaus.plexus.util.xml.PrettyPrintXMLWriter.endElement > >> > >> > >> > >> (PrettyPrintXMLWriter.java:297) > >> > >> > >> > >> at > >> > > >> > > >> > org.apache.maven.tools.plugin.generator.PluginDescriptorGenerator.writeDes > >> > criptor> > >> > >> (PluginDescriptorGenerator.java:175) > >> > >> > >> > >> > >> --------------------------------------------------------------------- > >> > >> To unsubscribe, e-mail: [email protected] > >> > >> For additional commands, e-mail: [email protected] > >> > > >> > --------------------------------------------------------------------- > >> > To unsubscribe, e-mail: [email protected] > >> > For additional commands, e-mail: [email protected] > > > > > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [email protected] > > For additional commands, e-mail: [email protected] > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > >
