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

Classes generated by Eval() never collected from Permgen/Metaspace

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.4.5
    • 2.4.10
    • groovy-runtime
    • None
    • Oracle jdk8u51 and jdk8u66

    Description

      It seems classes generated by Eval() are never collected, thus causing PermGen or Metaspace to fill up and the JVM to hang/crash.
      Reproduce by running the following code, after setting java option -XX:MaxMetaspaceSize=50m.

      100000.times{ x -> assert 10 == Eval.x(2, 'x * 4 + 2;') }
      

      After about 2700 calls to Eval the program will crash with OutOfMemoryError,

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              idooley Isaac Dooley
              Votes:
              3 Vote for this issue
              Watchers:
              9 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: