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]