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]

Reply via email to