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

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

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.4.5
    • Fix Version/s: 2.4.10
    • Component/s: groovy-runtime
    • Labels:
      None
    • Environment:
      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

              • Assignee:
                Unassigned
                Reporter:
                idooley Isaac Dooley
              • Votes:
                3 Vote for this issue
                Watchers:
                11 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: