tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Piller S├ębastien <pi...@hmcrecord.ch>
Subject OOM in PermGen space after several deploy/undeploy
Date Tue, 01 Apr 2008 15:45:23 GMT
Hello everybody,

I found some problem with my app, when I deploy it/undeploy it several 
times under Tomcat (5.5) (Unix and Windows). I copied my app war file in 
the webapp dir, and when it has been fully deployed, I surf on some 
pages. After that, I delete that war, wait for the end of undeployment, 
and did it again. The memory used by tomcat grows on each cycle. I did 
it about ten times, and after that I got the message below:

    java.lang.OutOfMemoryError: PermGen space
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at
    org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1853)
        at
    org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:875)
        at
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1330)
        at
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1209)
        at java.lang.ClassLoader.loadClassInternal(Unknown Source)
        at java.lang.Class.getDeclaredMethods0(Native Method)
        at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
        at java.lang.Class.getMethod0(Unknown Source)
        at java.lang.Class.getMethod0(Unknown Source)
        at java.lang.Class.getMethod0(Unknown Source)
        at java.lang.Class.getMethod0(Unknown Source)
        at java.lang.Class.getMethod0(Unknown Source)
        at java.lang.Class.getMethod(Unknown Source)
        at
    org.apache.wicket.util.lang.PropertyResolver.findGetter(PropertyResolver.java:506)
        at
    org.apache.wicket.util.lang.PropertyResolver.getGetAndSetter(PropertyResolver.java:331)
        at
    org.apache.wicket.util.lang.PropertyResolver.getObjectAndGetSetter(PropertyResolver.java:275)
        at
    org.apache.wicket.util.lang.PropertyResolver.getValue(PropertyResolver.java:84)
        at
    org.apache.wicket.model.AbstractPropertyModel.getObject(AbstractPropertyModel.java:113)
        at org.apache.wicket.Component.getModelObject(Component.java:1539)
        at
    org.apache.wicket.markup.html.form.AbstractSingleSelectChoice.getModelValue(AbstractSingleSelectChoice.java:140)
        at
    org.apache.wicket.markup.html.form.FormComponent.getValue(FormComponent.java:744)
        at
    org.apache.wicket.markup.html.form.AbstractChoice.onComponentTagBody(AbstractChoice.java:344)
        at org.apache.wicket.Component.renderComponent(Component.java:2459)
        at
    org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1354)
        at org.apache.wicket.Component.render(Component.java:2296)
        at
    org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1240)
        at
    org.apache.wicket.MarkupContainer.renderAll(MarkupContainer.java:1370)
        at org.apache.wicket.Page.onRender(Page.java:1446)
        at org.apache.wicket.Component.render(Component.java:2296)


I tried on Tomcat5.5/Linux too, and the message is not exactly the same, 
but it stills speak of PermGen.

PS: I use Hibernate 3.2.6ga and several other things in my app, like 
Wicket (open source web framework), Jasper, JFreeChart and C3P0 .

I searched over the internet, but nobody seems to have a working 
solution... Everybody seems to get this problem, but nobody has a 
solution... Setting the property 
"hibernate.bytecode.use_reflection_optimizer" has no effect. And other 
things are unusable...

What do you do, you, when you need to deploy your app on a shared 
server? Do you phone to your provider and ask him to restart Tomcat each 
time you upload your war file? I can't believe there is no other way....

 Is this corrected in a later version of Tomcat? Does anybody know how 
to avoid this?

Thanks for any comment! I really need them...

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Mime
View raw message