-
Type:
Bug
-
Status: Open
-
Priority:
Major
-
Resolution: Unresolved
-
Affects Version/s: 2.4.11
-
Fix Version/s: None
-
Component/s: None
-
Labels:None
The following script causes an OOME.
def classLoader = new groovy.lang.GroovyClassLoader() while(true){ def clazz = classLoader.parseClass(' ') org.codehaus.groovy.runtime.InvokerHelper.removeClass(clazz) }
If I run the script with -Dgroovy.use.classvalue, the OOME does not occur.
The heap dump shows a lot of HashMap entries, most of them related to GroovyClassLoader's classCache.
this - value: java.util.HashMap$Node[] #361 <- table - class: java.util.HashMap, value: java.util.HashMap$Node[] #361 <- permsMap - class: java.security.Permissions, value: java.util.HashMap #858 <- permissions - class: java.security.ProtectionDomain, value: java.security.Permissions #103 <- value - class: java.util.HashMap$Node, value: java.security.ProtectionDomain #231 <- [8] - class: java.util.HashMap$Node[], value: java.util.HashMap$Node #751 <- table - class: java.util.HashMap, value: java.util.HashMap$Node[] #362 <- pdcache - class: groovy.lang.GroovyClassLoader$InnerLoader, value: java.util.HashMap #854 <- <classLoader> - class: script149484505219332, value: groovy.lang.GroovyClassLoader$InnerLoader #100 <- value - class: java.util.HashMap$Node, value: script149484505219332 class script149484505219332 <- [2709] - class: java.util.HashMap$Node[], value: java.util.HashMap$Node #753 <- table - class: java.util.HashMap, value: java.util.HashMap$Node[] #11647 <- classCache (Java frame) - class: groovy.lang.GroovyClassLoader, value: java.util.HashMap #5463
- is related to
-
GROOVY-6655 GroovyClassLoader parallelLockMap memory leak on Java 7
-
- Open
-
- relates to
-
GROOVY-7646 Classes generated by Eval() never collected from Permgen/Metaspace
-
- Closed
-
-
GROOVY-7683 Memory leak when using Groovy as JSR-223 scripting language.
-
- Closed
-
-
GROOVY-7591 Use of ClassValue causes major memory leak
-
- Closed
-