Uploaded image for project: 'Groovy'
  1. Groovy
  2. GROOVY-3656

Memory Leak in Groovy ant task

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Duplicate
    • 1.6.1, 1.6.2, 1.6.3, 1.6.4
    • None
    • None
    • None
    • Windows 32-Bit

    Description

      When building larger projects using Groovy ant task there occurs a memory leak. When using Groovy 1.5.7 the leak is not there using all above that version including 1.6.4 the memory leak appears. It seems that classes do not get unloaded so the perm gen space accumulates. When many groovy and groovyc tasks are called in a ant build this becomes visible.

      I am using ANT 1.7.1 libraries, but this problem does still occur when using ANT 1.7.0.

      I was running JVM with -verbose:gc and found the following difference:

      [Unloading class com.nsn.see.sce.entity.ArtifactExecutor]

      is there in 1.5.7 but not in 1.6.4. So It does not clean up the classes that is inside the <groovy> task directly. It seems that the classes that are using by the ArtifactExecutor do get cleaned up.

      May be the fact that I have nested the taskdef influences this problem?

      <taskdef name="groovytools" classname="org.codehaus.groovy.ant.Groovy">
      <classpath>
      <path refid="groovytools.classpath"/>
      </classpath>
      </taskdef>

      <groovytools>
      import com.nsn.see.sce.entity.ArtifactExecutor
      new ArtifactExecutor(ant).buildArtifacts()
      </groovytools>

      I attached the two extracts of the garbage collector.

      Attachments

        1. groovy1.6.4.txt
          73 kB
          Richard Bock
        2. groovy1.5.7.txt
          54 kB
          Richard Bock

        Issue Links

          Activity

            People

              paulk Paul King
              richirich Richard Bock
              Votes:
              2 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: