What I meant is that the redeploy ant task you mentioned likely causes the same error as Eclipse's hot redeploy - old unused classes are still left in permgen space. Restarting tomcat rather than redeploying would probably cure the problem.

Also, if you check google:
http://www.google.com/search?num=25&hl=en&lr=&client=opera&rls=en&q=redeploy+OutOfMemoryError+PermGen&btnG=Search

you end up with a recent article on the subject:
http://www.jroller.com/page/agileanswers?entry=preventing_java_s_java_lang

where the guy suggests jrockit instead, but you said you already tried that... :\ But someone else there says "After upgrading to jdk1.5.0_07 my Perm Gen Space gets gc'ed like it should be - no increase of Perm Gen Space, no code changes." so perhaps you could give update 7 a try.

Martin

On Mon, 24 Jul 2006 18:56:48 +0200, <[EMAIL PROTECTED]> wrote:

This is in a production environment. There isn't any hot deploying happening. We just let the application run.

Our production environment virtual machine args:
-Xms128m -Xmx1024m -Dorg.apache.tapestry.disable-caching=false -XX:MaxPermSize=128m

I don't know how much larger the PermSize can be.

Thanks for your help.


-----Original Message-----
From: Martin Strand [mailto:[EMAIL PROTECTED]
Sent: Monday, July 24, 2006 10:31 AM
To: Tapestry users
Subject: Re: PermGen space - Caching is ON

Hot redeploy is when you edit your code in Eclipse and Eclipse automatically adds the new classes to the running JVM and reloads the context. That would leave the old classes in the classloader, eventually leading to the OOM error you're seeing.

I'm far from an expert on the subject, but redeploying probably doesn't unload any classes so every redeploy would be the same as uncaching all Tapestry pages/components. You're sort of running Tapestry with "org.apache.tapestry.disable-caching" set to somewhere between true and false. ;) If you don't ever redeploy your app, just deploy it once and then let it run, do you still get that error?

Martin

On Mon, 24 Jul 2006 17:42:54 +0200, Henri Dupre <[EMAIL PROTECTED]>
wrote:

Yes I've seen the same issue on linux and windows with all JDKs using
Tomcat or JBoss.
I'd be curious to know if other containers such as Jetty, Weblogic or
Websphere have better solutions...
I'm not sure what do you refer as "hot redeploy"... We are using the
tomcat ant tasks to redeploy into tomcat.

Henri.


On 7/24/06, Martin Strand <[EMAIL PROTECTED]> wrote:

So you're seeing this in your production environment, not only when
you hot redeploy from Eclipse?

Martin

On Mon, 24 Jul 2006 03:50:17 +0200, Harvey, David
<[EMAIL PROTECTED]> wrote:

> Thanks for your comments, discussion.  However, this occurs when
caching
> is turned on, i.e.
> -Dorg.apache.tapestry.disable-caching=false.
>
> I sure hope there's a fix, I don't know if MaxPermSize can be made
> any larger in production and it sounds from your discussion that
> making it larger will just delay the OOM condition anyway.
>
> Anybody else have any ideas?
>
> -----Original Message-----
> From: James Carman [mailto:[EMAIL PROTECTED]
> Sent: Sunday, July 23, 2006 6:03 AM
> To: Tapestry users
> Subject: Re: PermGen space
>
> Actually, Tapestry (and HiveMind as well) uses Javassist to
> generate classes at runtime, but all the rest is still true with
> Javassist as
it
> is with CGLIB (hibernate uses CGLIB).  As Martin said, enabling
caching
> should fix the problem.  Tapestry will only generate (and cache)
> the classes for each page/component one time with caching enabled.
> In a production environment, you really shouldn't run into this,
> since you would have caching enabled and you wouldn't be hot
> redeploying your application.
>
> James
>
>> Hi all,
>> This problem is very common with Tapestry applications. This is
>> due
to
>> the fact that Tapestry uses cglib to generate classes at runtime.
>> Java uses a separate Heap space called "PermGenSpace" to put
meta-data
>> about classes, which is never garbage collected (this is "normal"
>> since normally, classes never change...) but with cglib, classes
>> are generated, which add to the PermGenSpace. And the next time
>> your application is deployed, new classes are generated which add
>> to the PermGenSpace, etc... So it fills and become full.
>> So this problem is common to Java+Tapestry/cglib+deployed webapps.
>> I hope this explaination is clear. Else ask questions.
>> -jec
>>
>> Harvey, David a écrit :
>>> Hello all,
>>>
>>> We've been having occasional problems with PermGen out of space
>>> errors thrown during the execution of our Tapestry application.
>>> We usually get a stack trace with something about hivemind at the
>>> top (see below).
>>> Then, of course, we have to restart our app server.  Our
>>> environment is
>>>
>>> Tapestry 4.0.1 and Tacos4-Beta3
>>> Jboss 4.0.3 sp1 (Tomcat 5.5 embedded) JRE 1.5.0_03
>>>
>>> The java runtime is initialized with -XX:PermSize=96M
>>> -XX:MaxPermSize=128M
>>>
>>> The stack trace we get at various times is:
>>>
>>> 2006-07-20 17:25:11,415 ERROR
>>> [net.sf.tacos.ajax.impl.AjaxDirectServiceImpl] Error invoking
>>> listener on component $AjaxForm_40
>>> org.apache.hivemind.ApplicationRuntimeException: PermGen space
>>> [context:/WEB-INF/pages/claims/addEdit.page, line 6, column 93]
>>>     at
>>>
org.apache.tapestry.engine.RequestCycle.rewindForm(RequestCycle.java:
>>> 461
>>> )
>>>     at
>>> net.sf.tacos.ajax.components.AjaxForm.trigger(AjaxForm.java:418)
>>>     at
>>>
net.sf.tacos.ajax.impl.AjaxDirectServiceImpl.triggerComponent(AjaxDir
>>> ect
>>> ServiceImpl.java:348)
>>> .
>>> .
>>> .
>>>
>>> Caused by: java.lang.OutOfMemoryError: PermGen space
>>>
>>>
>>> Anybody have any clues as to what we can do about this?
>>>
>>> Regards,
>>> David Harvey
>>> Ingenix, Inc.
>>>
>>> "Secure Server BSK" made the following  annotations on 07/21/2006
>>> 03:28:13 PM ------------------------------"This e-mail, including
>>> attachments, may include confidential and/or proprietary
information,
>>> and may be used only by the person or entity to which it is
>>> addressed. If the reader of this e-mail is not the intended
recipient
>>> or his or her authorized agent, the reader is hereby notified
>>> that any dissemination, distribution or copying of this e-mail is
>>> prohibited. If you have received this e-mail in error, please
>>> notify the sender by replying to this message and delete this
>>> e-mail immediately."
>>> ==============================
>>>
>>>
---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>
>>
>> ------------------------------------------------------------------
>> --- To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>
>
> James Carman, President
> Carman Consulting, Inc.
>
>
> -------------------------------------------------------------------
> -- To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>
>
> "Secure Server BSK" made the following  annotations on 07/23/2006
> 09:50:20 PM ------------------------------"This e-mail, including
> attachments, may include confidential and/or proprietary
> information, and may be used only by the person or entity to which
> it is addressed. If the reader
of
> this e-mail is not the intended recipient or his or her authorized
> agent, the reader is hereby notified that any dissemination,
> distribution or copying of this e-mail is prohibited. If you have
> received this e-mail in error, please notify the sender by replying
> to this message and delete this e-mail immediately."
> ==============================
>
> -------------------------------------------------------------------
> -- To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]







---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




"Secure Server GDV" made the following
 annotations on 07/24/2006 12:17:51 PM
------------------------------"This e-mail, including attachments, may include confidential and/or proprietary information, and may be used only by the person or entity to which it is addressed. If the reader of this e-mail is not the intended recipient or his or her authorized agent, the reader is hereby notified that any dissemination, distribution or copying of this e-mail is prohibited. If you have received this e-mail in error, please notify the sender by replying to this message and delete this e-mail immediately."
==============================

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to