I believe it has to do with Tapestry's class enhancing. If you disable
caching (which you would only do in a development environment) Tapestry
will re-enhance the component classes on every request, leaving the
classloader with more and more classes to keep track of.
Apparently, these classes are never removed from the "permgen" heap space
by the jvm and eventually there won't be room for more classes. If you
enable caching, everything should be fine.
You can raise the permgen space limit by passing in -XX:PermSize=128m but
that will only delay the crash.
I haven't tried it myself, but perhaps the JVM options
"-XX:+CMSPermGenSweepingEnabled" and "-XX:+CMSClassUnloadingEnabled" could
help. Sounds like it makes hotspot remove those dead classes.
Martin
On Fri, 21 Jul 2006 21:28:01 +0200, Harvey, David
<[EMAIL PROTECTED]> wrote:
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(AjaxDirect
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]