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

Dry-plugin crashing with GC exception

    Details

    • Type: Bug
    • Status: Resolved (View Workflow)
    • Priority: Minor
    • Resolution: Duplicate
    • Component/s: dry-plugin
    • Labels:
      None
    • Environment:
      Jenkin: 1.615 Dry-plugin: 2.41
    • Similar Issues:

      Description

      I am using Jnekins to 1.615 and Dry-plugin 2.41 to display copy-paste-duplicate results from PMD tool. But Jenkins is getting hung with the below error.

      Exception in thread "Ping thread for channel hudson.remoting.Channel@6f4dbda2:tools" Exception in thread "Channel reader thread: vagrant_buildserver" Exception in thread "Ping thread for channel hudson.remoting.Channel@1d1c75d:xxxxx" Exception in thread "Thread-5" Exception in thread "Ping thread for channel hudson.remoting.Channel@16e7ae76:vagrant_tibi" Exception in thread "Ping thread for channel hudson.remoting.Channel@5d6577bf:InV_CI" java.lang.OutOfMemoryError: GC overhead limit exceeded
      at java.lang.AbstractStringBuilder.<init>(AbstractStringBuilder.java:68)
      at java.lang.StringBuffer.<init>(StringBuffer.java:116)
      java.lang.OutOfMemoryError: GC overhead limit exceeded
      java.lang.OutOfMemoryError: GC overhead limit exceeded
      at java.util.Arrays.copyOf(Arrays.java:3332)
      at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:137)
      at java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:121)
      at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:421)
      at java.lang.StringBuilder.append(StringBuilder.java:136)
      at com.trilead.ssh2.transport.TransportConnection.receiveMessage(TransportConnection.java:278)
      at com.trilead.ssh2.transport.TransportManager.receiveLoop(TransportManager.java:693)
      at com.trilead.ssh2.transport.TransportManager$1.run(TransportManager.java:489)
      at java.lang.Thread.run(Thread.java:745)

        Attachments

          Issue Links

            Activity

            Hide
            drulli Ulli Hafner added a comment -

            How big is your cpd file? Can you please post the whole thread dump?

            Show
            drulli Ulli Hafner added a comment - How big is your cpd file? Can you please post the whole thread dump?
            Hide
            puriadeb Debashis Prusty added a comment -

            The cpd file is 38MB. Below is the complete dump.
            INFO: Code_Duplicity #1 main build action completed: SUCCESS
            Exception in thread "Ping thread for channel hudson.remoting.Channel@6f4dbda2:tools" Exception in thread "Channel reader thread: vagrant_buildserver" Exception in thread "Ping thread for channel hudson.remoting.Channel@1d1c75d:vagrant_buildserver" Exception in thread "Thread-5" Exception in thread "Ping thread for channel hudson.remoting.Channel@16e7ae76:vagrant_tibi" Exception in thread "Ping thread for channel hudson.remoting.Channel@5d6577bf:InV_CI" java.lang.OutOfMemoryError: GC overhead limit exceeded
            at java.lang.AbstractStringBuilder.<init>(AbstractStringBuilder.java:68)
            at java.lang.StringBuffer.<init>(StringBuffer.java:116)
            java.lang.OutOfMemoryError: GC overhead limit exceeded
            java.lang.OutOfMemoryError: GC overhead limit exceeded
            at java.util.Arrays.copyOf(Arrays.java:3332)
            at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:137)
            at java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:121)
            at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:421)
            at java.lang.StringBuilder.append(StringBuilder.java:136)
            at com.trilead.ssh2.transport.TransportConnection.receiveMessage(TransportConnection.java:278)
            at com.trilead.ssh2.transport.TransportManager.receiveLoop(TransportManager.java:693)
            at com.trilead.ssh2.transport.TransportManager$1.run(TransportManager.java:489)
            at java.lang.Thread.run(Thread.java:745)

            Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "Ping thread for channel hudson.remoting.Channel@5d6577bf:InV_CI"
            java.lang.OutOfMemoryError: GC overhead limit exceeded
            java.lang.OutOfMemoryError: GC overhead limit exceeded
            at java.io.ObjectOutputStream$BlockDataOutputStream.<init>(ObjectOutputStream.java:1754)
            at java.io.ObjectOutputStream.<init>(ObjectOutputStream.java:242)
            at hudson.remoting.MultiClassLoaderSerializer$Output.<init>(MultiClassLoaderSerializer.java:38)
            at hudson.remoting.UserRequest._serialize(UserRequest.java:154)
            at hudson.remoting.UserRequest.serialize(UserRequest.java:167)
            at hudson.remoting.UserRequest.<init>(UserRequest.java:63)
            at hudson.remoting.Channel.callAsync(Channel.java:779)
            at hudson.remoting.PingThread.ping(PingThread.java:104)
            at hudson.remoting.PingThread.run(PingThread.java:85)
            java.lang.OutOfMemoryError: GC overhead limit exceeded
            May 27, 2015 6:52:34 PM org.eclipse.jetty.util.log.JavaUtilLog warn
            WARNING:
            java.lang.OutOfMemoryError: GC overhead limit exceeded

            May 27, 2015 6:47:59 PM hudson.triggers.Trigger$Cron doRun

            Show
            puriadeb Debashis Prusty added a comment - The cpd file is 38MB. Below is the complete dump. INFO: Code_Duplicity #1 main build action completed: SUCCESS Exception in thread "Ping thread for channel hudson.remoting.Channel@6f4dbda2:tools" Exception in thread "Channel reader thread: vagrant_buildserver" Exception in thread "Ping thread for channel hudson.remoting.Channel@1d1c75d:vagrant_buildserver" Exception in thread "Thread-5" Exception in thread "Ping thread for channel hudson.remoting.Channel@16e7ae76:vagrant_tibi" Exception in thread "Ping thread for channel hudson.remoting.Channel@5d6577bf:InV_CI" java.lang.OutOfMemoryError: GC overhead limit exceeded at java.lang.AbstractStringBuilder.<init>(AbstractStringBuilder.java:68) at java.lang.StringBuffer.<init>(StringBuffer.java:116) java.lang.OutOfMemoryError: GC overhead limit exceeded java.lang.OutOfMemoryError: GC overhead limit exceeded at java.util.Arrays.copyOf(Arrays.java:3332) at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:137) at java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:121) at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:421) at java.lang.StringBuilder.append(StringBuilder.java:136) at com.trilead.ssh2.transport.TransportConnection.receiveMessage(TransportConnection.java:278) at com.trilead.ssh2.transport.TransportManager.receiveLoop(TransportManager.java:693) at com.trilead.ssh2.transport.TransportManager$1.run(TransportManager.java:489) at java.lang.Thread.run(Thread.java:745) Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "Ping thread for channel hudson.remoting.Channel@5d6577bf:InV_CI" java.lang.OutOfMemoryError: GC overhead limit exceeded java.lang.OutOfMemoryError: GC overhead limit exceeded at java.io.ObjectOutputStream$BlockDataOutputStream.<init>(ObjectOutputStream.java:1754) at java.io.ObjectOutputStream.<init>(ObjectOutputStream.java:242) at hudson.remoting.MultiClassLoaderSerializer$Output.<init>(MultiClassLoaderSerializer.java:38) at hudson.remoting.UserRequest._serialize(UserRequest.java:154) at hudson.remoting.UserRequest.serialize(UserRequest.java:167) at hudson.remoting.UserRequest.<init>(UserRequest.java:63) at hudson.remoting.Channel.callAsync(Channel.java:779) at hudson.remoting.PingThread.ping(PingThread.java:104) at hudson.remoting.PingThread.run(PingThread.java:85) java.lang.OutOfMemoryError: GC overhead limit exceeded May 27, 2015 6:52:34 PM org.eclipse.jetty.util.log.JavaUtilLog warn WARNING: java.lang.OutOfMemoryError: GC overhead limit exceeded May 27, 2015 6:47:59 PM hudson.triggers.Trigger$Cron doRun
            Hide
            puriadeb Debashis Prusty added a comment -

            This is what I got in Jenkins.

            </pmd-cpd>
            [DRY] Collecting duplicate code analysis files...
            [DRY] Finding all files that match the pattern cpd_report.xml
            [DRY] Parsing 1 file in /home/dprusty/jenkins/workspace/RAA_Code_Duplicity
            [DRY] Successfully parsed file /home/dprusty/jenkins/workspace/RAA_Code_Duplicity/cpd_report.xml with 41062 unique warnings and 0 duplicates.
            FATAL: GC overhead limit exceeded
            java.lang.OutOfMemoryError: GC overhead limit exceeded
            at com.thoughtworks.xstream.io.path.PathTracker.getPath(PathTracker.java:166)
            at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:53)
            at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:58)
            at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:43)
            at com.thoughtworks.xstream.core.AbstractReferenceMarshaller$1.convertAnother(AbstractReferenceMarshaller.java:88)
            at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.writeItem(AbstractCollectionConverter.java:64)
            at com.thoughtworks.xstream.converters.collections.CollectionConverter.marshal(CollectionConverter.java:74)
            at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:69)
            at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:58)
            at com.thoughtworks.xstream.core.AbstractReferenceMarshaller$1.convertAnother(AbstractReferenceMarshaller.java:84)
            at hudson.util.RobustReflectionConverter.marshallField(RobustReflectionConverter.java:223)
            at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:210)
            at hudson.util.RobustReflectionConverter$2.visit(RobustReflectionConverter.java:182)
            at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:138)
            at hudson.util.RobustReflectionConverter.doMarshal(RobustReflectionConverter.java:167)
            at hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java:108)
            at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:69)
            at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:58)
            at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:43)
            at com.thoughtworks.xstream.core.AbstractReferenceMarshaller$1.convertAnother(AbstractReferenceMarshaller.java:88)
            at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.writeItem(AbstractCollectionConverter.java:64)
            at com.thoughtworks.xstream.converters.collections.CollectionConverter.marshal(CollectionConverter.java:74)
            at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:69)
            at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:58)
            at com.thoughtworks.xstream.core.AbstractReferenceMarshaller$1.convertAnother(AbstractReferenceMarshaller.java:84)
            at hudson.util.RobustReflectionConverter.marshallField(RobustReflectionConverter.java:223)
            at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:210)
            at hudson.util.RobustReflectionConverter$2.visit(RobustReflectionConverter.java:182)
            at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:138)
            at hudson.util.RobustReflectionConverter.doMarshal(RobustReflectionConverter.java:167)
            at hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java:108)
            at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:69)
            Finished: FAILURE

            Show
            puriadeb Debashis Prusty added a comment - This is what I got in Jenkins. </pmd-cpd> [DRY] Collecting duplicate code analysis files... [DRY] Finding all files that match the pattern cpd_report.xml [DRY] Parsing 1 file in /home/dprusty/jenkins/workspace/RAA_Code_Duplicity [DRY] Successfully parsed file /home/dprusty/jenkins/workspace/RAA_Code_Duplicity/cpd_report.xml with 41062 unique warnings and 0 duplicates. FATAL: GC overhead limit exceeded java.lang.OutOfMemoryError: GC overhead limit exceeded at com.thoughtworks.xstream.io.path.PathTracker.getPath(PathTracker.java:166) at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:53) at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:58) at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:43) at com.thoughtworks.xstream.core.AbstractReferenceMarshaller$1.convertAnother(AbstractReferenceMarshaller.java:88) at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.writeItem(AbstractCollectionConverter.java:64) at com.thoughtworks.xstream.converters.collections.CollectionConverter.marshal(CollectionConverter.java:74) at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:69) at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:58) at com.thoughtworks.xstream.core.AbstractReferenceMarshaller$1.convertAnother(AbstractReferenceMarshaller.java:84) at hudson.util.RobustReflectionConverter.marshallField(RobustReflectionConverter.java:223) at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:210) at hudson.util.RobustReflectionConverter$2.visit(RobustReflectionConverter.java:182) at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:138) at hudson.util.RobustReflectionConverter.doMarshal(RobustReflectionConverter.java:167) at hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java:108) at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:69) at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:58) at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:43) at com.thoughtworks.xstream.core.AbstractReferenceMarshaller$1.convertAnother(AbstractReferenceMarshaller.java:88) at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.writeItem(AbstractCollectionConverter.java:64) at com.thoughtworks.xstream.converters.collections.CollectionConverter.marshal(CollectionConverter.java:74) at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:69) at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:58) at com.thoughtworks.xstream.core.AbstractReferenceMarshaller$1.convertAnother(AbstractReferenceMarshaller.java:84) at hudson.util.RobustReflectionConverter.marshallField(RobustReflectionConverter.java:223) at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:210) at hudson.util.RobustReflectionConverter$2.visit(RobustReflectionConverter.java:182) at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:138) at hudson.util.RobustReflectionConverter.doMarshal(RobustReflectionConverter.java:167) at hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java:108) at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:69) Finished: FAILURE
            Hide
            drulli Ulli Hafner added a comment -

            Hmm, still no dry plugin class in stack trace visible.

            However, this looks like JENKINS-1960. The plug-in is not made for such large amount of warnigs...

            Show
            drulli Ulli Hafner added a comment - Hmm, still no dry plugin class in stack trace visible. However, this looks like JENKINS-1960 . The plug-in is not made for such large amount of warnigs...
            Hide
            puriadeb Debashis Prusty added a comment -

            Yes. I think you are right. When I run it for Java (about 1200 warnings), it's working fine. But failing for cpp may be due to huge number of warnings. I tried even with -Xmx2048M still it failed.

            So I left it for cpp now and publishing for Java only. Hope the enhancement will come someday.

            Show
            puriadeb Debashis Prusty added a comment - Yes. I think you are right. When I run it for Java (about 1200 warnings), it's working fine. But failing for cpp may be due to huge number of warnings. I tried even with -Xmx2048M still it failed. So I left it for cpp now and publishing for Java only. Hope the enhancement will come someday.

              People

              • Assignee:
                drulli Ulli Hafner
                Reporter:
                puriadeb Debashis Prusty
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: