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

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

Agile BoardAttach filesAttach ScreenshotVotersStop watchingWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    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

              Dates

              • Created:
                Updated:
                Resolved:

                Issue deployment