You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by Martijn Dashorst <ma...@gmail.com> on 2008/04/01 17:01:58 UTC

Re: OOM in PermGen after several deploy/undeploy

http://www.google.com/search?q=permgen+outofmemory+tomcat

On 4/1/08, Piller Sébastien <pi...@hmcrecord.ch> wrote:
>
>  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)
>
>  As you can see, it talks about Wicket, but I don't know if it is really
> related to it. 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
> Jasper, JFreeChart and C3P0 .
>
>  Does anybody know how to avoid this? Or is the Tomcat list a better place
> for this?
>
>  Thanks!
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org


-- 
Buy Wicket in Action: http://manning.com/dashorst
Apache Wicket 1.3.2 is released
Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3.2

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: OOM in PermGen after several deploy/undeploy

Posted by Al Maw <wi...@almaw.com>.
The following two blog entries are very useful in understanding and
debugging this issue:
http://blogs.sun.com/fkieviet/entry/classloader_leaks_the_dreaded_java
http://blogs.sun.com/fkieviet/entry/how_to_fix_the_dreaded

We think we've fixed the instances in Wicket where this is a problem, but
there is an outstanding open bug for that because I've yet to verify it:
https://issues.apache.org/jira/browse/WICKET-625

If you do come across a concrete reference chain in your debugging travels
that involves Wicket then please update the JIRA issue and we'll fix it for
you.

Regards,

Al

On Tue, Apr 1, 2008 at 4:54 PM, Martijn Dashorst <ma...@gmail.com>
wrote:

> There is a solution: not to deploy your application more than 2-3 times...
>
> Martijn
>
> On 4/1/08, Piller Sébastien <pi...@hmcrecord.ch> wrote:
> >
> >  Thanks... but it's impossible to find a clear solution to this problem
> over
> > the internet... Each things I try fails miserably... Nobody can provide
> > something that works... Setting the
> > "hibernate.bytecode.use_reflection_optimizer" property has
> > no effect. And others solutions are bad: monitor the application and
> > manually restitue the memory of useless objects, etc...
> >
> >  Am I sentenced to restart Tomcat each time I redeploy the app? I am
> under a
> > shared server, I can't restart it myself! What do you do, you, when you
> are
> > deploying your applications? Do you phone to your provider to ask him to
> > restart the server himself? Or did you find a workaround?
> >
> >  It's so annoying... That's a problem everybody has when using tomcat,
> but
> > nobody can give a solution...
> >
> >
> >
> >  Martijn Dashorst a écrit :
> >  http://www.google.com/search?q=permgen+outofmemory+tomcat
> >
> > On 4/1/08, Piller Sébastien <pi...@hmcrecord.ch> wrote:
> >
> >
> >  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)
> >
> >  As you can see, it talks about Wicket, but I don't know if it is really
> > related to it. 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
> > Jasper, JFreeChart and C3P0 .
> >
> >  Does anybody know how to avoid this? Or is the Tomcat list a better
> place
> > for this?
> >
> >  Thanks!
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> > For additional commands, e-mail: users-help@wicket.apache.org
> >
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> > For additional commands, e-mail: users-help@wicket.apache.org
>
>
> --
> Buy Wicket in Action: http://manning.com/dashorst
> Apache Wicket 1.3.2 is released
> Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3.2
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>

Re: OOM in PermGen after several deploy/undeploy

Posted by "djo.mos" <dj...@gmail.com>.
Hello,

Martijn Dashorst wrote:
> 
> There is a solution: not to deploy your application more than 2-3 times...
> 
> Martijn
> 
Actually, there is a less radical solution, which is not to use a Sun JVM,
as the PermGenSpace is a specific implementation limitation of these.
IcedTea for example do not suffer from this problem.

Anyway, Piller Sébastien is using a shared server, so changing the JVM is
clearly not an option to consider.

Cheers.
-- 
View this message in context: http://www.nabble.com/OOM-in-PermGen-after-several-deploy-undeploy-tp16424948p16427202.html
Sent from the Wicket - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: OOM in PermGen after several deploy/undeploy

Posted by Martijn Dashorst <ma...@gmail.com>.
There is a solution: not to deploy your application more than 2-3 times...

Martijn

On 4/1/08, Piller Sébastien <pi...@hmcrecord.ch> wrote:
>
>  Thanks... but it's impossible to find a clear solution to this problem over
> the internet... Each things I try fails miserably... Nobody can provide
> something that works... Setting the
> "hibernate.bytecode.use_reflection_optimizer" property has
> no effect. And others solutions are bad: monitor the application and
> manually restitue the memory of useless objects, etc...
>
>  Am I sentenced to restart Tomcat each time I redeploy the app? I am under a
> shared server, I can't restart it myself! What do you do, you, when you are
> deploying your applications? Do you phone to your provider to ask him to
> restart the server himself? Or did you find a workaround?
>
>  It's so annoying... That's a problem everybody has when using tomcat, but
> nobody can give a solution...
>
>
>
>  Martijn Dashorst a écrit :
>  http://www.google.com/search?q=permgen+outofmemory+tomcat
>
> On 4/1/08, Piller Sébastien <pi...@hmcrecord.ch> wrote:
>
>
>  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)
>
>  As you can see, it talks about Wicket, but I don't know if it is really
> related to it. 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
> Jasper, JFreeChart and C3P0 .
>
>  Does anybody know how to avoid this? Or is the Tomcat list a better place
> for this?
>
>  Thanks!
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org


-- 
Buy Wicket in Action: http://manning.com/dashorst
Apache Wicket 1.3.2 is released
Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3.2

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: OOM in PermGen after several deploy/undeploy

Posted by Johan Compagner <jc...@gmail.com>.
cool thx for that list!

On Tue, Apr 1, 2008 at 5:50 PM, godin <go...@essec.fr> wrote:

> a common solution is to use this vm options
> -XX:+CMSPermGenSweepingEnabled
> -XX:+CMSClassUnloadingEnabled
> but be aware that this options are avaible in only recent jdk
> http://blogs.sun.com/watt/resource/jvm-options-list.html
> regards marc
>
>
>
>
>
>
> Piller Sébastien a écrit :
> > Thanks... but it's impossible to find a clear solution to this problem
> > over the internet... Each things I try fails miserably... Nobody can
> > provide something that works... Setting the
> > "hibernate.bytecode.use_reflection_optimizer" property has no effect.
> > And others solutions are bad: monitor the application and manually
> > restitue the memory of useless objects, etc...
> >
> > Am I sentenced to restart Tomcat each time I redeploy the app? I am
> > under a shared server, I can't restart it myself! What do you do, you,
> > when you are deploying your applications? Do you phone to your
> > provider to ask him to restart the server himself? Or did you find a
> > workaround?
> >
> > It's so annoying... That's a problem everybody has when using tomcat,
> > but nobody can give a solution...
> >
> >
> >
> > Martijn Dashorst a écrit :
> >> http://www.google.com/search?q=permgen+outofmemory+tomcat
> >>
> >> On 4/1/08, Piller Sébastien <pi...@hmcrecord.ch> wrote:
> >>
> >>>  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)
> >>>
> >>>  As you can see, it talks about Wicket, but I don't know if it is
> really
> >>> related to it. 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
> >>> Jasper, JFreeChart and C3P0 .
> >>>
> >>>  Does anybody know how to avoid this? Or is the Tomcat list a better
> place
> >>> for this?
> >>>
> >>>  Thanks!
> >>>
> >>> ---------------------------------------------------------------------
> >>> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> >>> For additional commands, e-mail: users-help@wicket.apache.org
> >>>
> >>
> >>
> >>
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org For
> > additional commands, e-mail: users-help@wicket.apache.org
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>

Re: OOM in PermGen after several deploy/undeploy

Posted by godin <go...@essec.fr>.
a common solution is to use this vm options
-XX:+CMSPermGenSweepingEnabled
-XX:+CMSClassUnloadingEnabled
but be aware that this options are avaible in only recent jdk
http://blogs.sun.com/watt/resource/jvm-options-list.html
regards marc






Piller Sébastien a écrit :
> Thanks... but it's impossible to find a clear solution to this problem 
> over the internet... Each things I try fails miserably... Nobody can 
> provide something that works... Setting the 
> "hibernate.bytecode.use_reflection_optimizer" property has no effect. 
> And others solutions are bad: monitor the application and manually 
> restitue the memory of useless objects, etc...
>
> Am I sentenced to restart Tomcat each time I redeploy the app? I am 
> under a shared server, I can't restart it myself! What do you do, you, 
> when you are deploying your applications? Do you phone to your 
> provider to ask him to restart the server himself? Or did you find a 
> workaround?
>
> It's so annoying... That's a problem everybody has when using tomcat, 
> but nobody can give a solution...
>
>
>
> Martijn Dashorst a écrit :
>> http://www.google.com/search?q=permgen+outofmemory+tomcat
>>
>> On 4/1/08, Piller Sébastien <pi...@hmcrecord.ch> wrote:
>>   
>>>  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)
>>>
>>>  As you can see, it talks about Wicket, but I don't know if it is really
>>> related to it. 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
>>> Jasper, JFreeChart and C3P0 .
>>>
>>>  Does anybody know how to avoid this? Or is the Tomcat list a better place
>>> for this?
>>>
>>>  Thanks!
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
>>> For additional commands, e-mail: users-help@wicket.apache.org
>>>     
>>
>>
>>   
>
> --------------------------------------------------------------------- 
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org For 
> additional commands, e-mail: users-help@wicket.apache.org 

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org