atom feed16 messages in org.codehaus.groovy.user[groovy-user] ConfigSlurper / GroovyC...
FromSent OnAttachments
asperkinsOct 22, 2008 10:36 am 
Jochen TheodorouOct 22, 2008 11:11 am 
asperkinsOct 22, 2008 11:25 am 
Jochen TheodorouOct 22, 2008 11:39 am 
Robert FischerOct 22, 2008 11:43 am 
asperkinsOct 22, 2008 11:53 am 
asperkinsOct 22, 2008 11:58 am 
Graeme RocherOct 23, 2008 12:12 am 
Tom NicholsOct 23, 2008 6:15 am 
Jochen TheodorouOct 23, 2008 6:35 am 
asperkinsJan 22, 2009 7:57 am 
John PrystashJan 22, 2009 8:09 am 
asperkinsJan 28, 2009 7:33 am 
asperkinsJan 28, 2009 8:31 am 
Jochen TheodorouJan 28, 2009 8:59 am 
asperkinsJan 28, 2009 9:15 am 
Subject:[groovy-user] ConfigSlurper / GroovyClassLoader memory leak
From:asperkins (tony@travelocity.com)
Date:Oct 22, 2008 10:36:03 am
List:org.codehaus.groovy.user

The following snippet of code will bring a JVM down by filling up the perm gen heap.

for (int i = 0; i < 10000; i++) { new ConfigSlurper().parse("foo = 'bar'"); println i }

8078 8079 8080 Caught: java.lang.OutOfMemoryError: PermGen space at groovy.util.ConfigSlurper.parse(ConfigSlurper.groovy:123)

A line from jmap -permstat

class_loader classes bytes parent_loader alive? type

0x9527de80 23 96536 0x9527d940 dead groovy/lang/GroovyClassLoader$InnerLoader@0x91620470

For every iteration there will be an instance like the one above.

Our application using Groovy config files extensively. It also reloads these files at a frequent rate. This problem is causing quite a bit of pain at the moment.

Any ideas?