Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-13020

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

    Details

    • Type: Bug
    • Status: Resolved (View Workflow)
    • Priority: Major
    • Resolution: Won't Fix
    • Component/s: dry-plugin
    • Labels:
      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)
    • Similar Issues:

      Description

      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)

        Attachments

          Activity

          Hide
          drulli Ulli Hafner added a comment -

          How big is that file?

          Show
          drulli Ulli Hafner added a comment - How big is that file?
          Hide
          moncreaff Greg Moncreaff added a comment -

          2.9 GB

          Show
          moncreaff Greg Moncreaff added a comment - 2.9 GB
          Hide
          drulli Ulli Hafner added a comment -

          I'm not if I can do something for such large files. What is your expected result? Do you want to navigate the warningws? Or just show the warning counts?

          Show
          drulli Ulli Hafner added a comment - I'm not if I can do something for such large files. What is your expected result? Do you want to navigate the warningws? Or just show the warning counts?
          Hide
          drulli Ulli Hafner added a comment -

          I think that there is no easy solution for such large files.

          Show
          drulli Ulli Hafner added a comment - I think that there is no easy solution for such large files.

            People

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

              Dates

              • Created:
                Updated:
                Resolved: