-
Bug
-
Resolution: Won't Fix
-
Major
-
None
-
rhel 5.5, no limits (xmx on heap growth when starting jenkins), machine has 12 GB of RAM, typically see Jenkins java process using about 4 GB (3.6 Virtual, 1.4 Resident)
Is it possible to catch this
flag build as unstable but not automatically failed, (or use the "error during processing result")
and abort only DRY publisher but still let the other publishers have a chance?
a few web searches indicate that reuse of objects instead of allocating new and letting GC reclaim might be something to consider?
11:56:51 [DRY] Collecting duplicate code analysis files...
12:02:34 FATAL: Java heap space
12:02:34 java.lang.OutOfMemoryError: Java heap space
12:02:34 at java.util.Arrays.copyOf(Arrays.java:2882)
12:02:34 at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:100)
12:02:34 at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:515)
12:02:34 at java.lang.StringBuilder.append(StringBuilder.java:189)
12:02:34 at org.apache.commons.digester3.Digester.characters(Digester.java:988)
12:02:34 at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.characters(AbstractSAXParser.java:538)
12:02:34 at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:464)
12:02:34 at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
12:02:34 at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
12:02:34 at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
12:02:34 at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
12:02:34 at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
12:02:34 at org.apache.commons.digester3.Digester.parse(Digester.java:1642)
12:02:34 at org.apache.commons.digester3.Digester.parse(Digester.java:1701)
12:02:34 at hudson.plugins.dry.parser.cpd.CpdParser.parse(CpdParser.java:86)
12:02:34 at hudson.plugins.dry.parser.DuplicationParserRegistry.parse(DuplicationParserRegistry.java:73)
12:02:34 at hudson.plugins.analysis.core.FilesParser.parseFile(FilesParser.java:358)
12:02:34 at hudson.plugins.analysis.core.FilesParser.parseFiles(FilesParser.java:317)
12:02:34 at hudson.plugins.analysis.core.FilesParser.invoke(FilesParser.java:266)
12:02:34 at hudson.plugins.analysis.core.FilesParser.invoke(FilesParser.java:31)
12:02:34 at hudson.FilePath.act(FilePath.java:788)
12:02:34 at hudson.FilePath.act(FilePath.java:770)
12:02:34 at hudson.plugins.dry.DryPublisher.perform(DryPublisher.java:171)
12:02:34 at hudson.plugins.analysis.core.HealthAwarePublisher.perform(HealthAwarePublisher.java:338)
12:02:34 at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19)
12:02:34 at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:700)
12:02:34 at hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:675)
12:02:34 at hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:653)
12:02:34 at hudson.model.Build$RunnerImpl.post2(Build.java:162)
12:02:34 at hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:622)
12:02:34 at hudson.model.Run.run(Run.java:1434)
12:02:34 at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)