DRY kills job publisher when out of memory - java.lang.OutOfMemoryError: Java heap space

XMLWordPrintable

    • Type: Bug
    • Resolution: Won't Fix
    • Priority: Major
    • Component/s: dry-plugin
    • None
    • Environment:
      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)

            Assignee:
            Ulli Hafner
            Reporter:
            Greg Moncreaff
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: