The tomcat folks state that there is no solution to this issue (in the tomcat FAQ)... I somehow hope that more recent versions of the JDK can solve this problem...
I tried the new funky +CMS... java options but they don't seem to help the redeployment. Btw, I've seen this happening on JBoss too with a simple J2EE application. Henri. On 7/23/06, Jesse Kuhnert <[EMAIL PROTECTED]> wrote:
No ideas at all, but if anyone thinks they get closer to finding something let me know. I am definitely willing/able to work with someone to solve problems like this, I just can't do it in the dark. On 7/23/06, 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] > > -- Jesse Kuhnert Tacos/Tapestry, team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind.
-- Thanks, Henri.
