[
https://issues.apache.org/jira/browse/GROOVY-7646?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Isaac Dooley closed GROOVY-7646.
--------------------------------
Resolution: Fixed
Fix Version/s: 2.4.10
I verified that the issue is no longer present in groovy 2.4.10 with JDK
1.8.0u51 by running the example in the description successfully. I watched the
JVM metaspace usage over the run, and found that it never exceeded 50MB, as
desired.
> Classes generated by Eval() never collected from Permgen/Metaspace
> ------------------------------------------------------------------
>
> Key: GROOVY-7646
> URL: https://issues.apache.org/jira/browse/GROOVY-7646
> Project: Groovy
> Issue Type: Bug
> Components: groovy-runtime
> Affects Versions: 2.4.5
> Environment: Oracle jdk8u51 and jdk8u66
> Reporter: Isaac Dooley
> Fix For: 2.4.10
>
>
> 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}}.
> {code}
> 100000.times{ x -> assert 10 == Eval.x(2, 'x * 4 + 2;') }
> {code}
> After about 2700 calls to Eval the program will crash with OutOfMemoryError,
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)