You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Wim De Smet <kr...@gmail.com> on 2009/04/08 11:51:52 UTC

struts and permgen errors with ognl method parameters cache

Hi list,

I've been trying to track down a problem with our struts 2 app where
it starts loading classes in permgen till eventually permgen fills up
and our application crashes. Examining jvm output of classes it loads
I see a lot of sun.reflect.GeneratedMethodAccessorXx getting loaded
with xx being a number (like 44, 45, 46, ...). Eventually, these seem
to fill up the entire Permgen cache and never get unloaded.

When examining a dump I found that these classes are being kept live
because their instances are cached by ognl.ognlRuntime in a table
called methodParameterTypesCache. For some reason they never get
expelled from there, and new ones keep coming in almost on every
request (as far as I can tell, refreshing a page almost always
triggers new ones). I noticed in particular that method accessors for
some hibernate fields seem to get put in there as well. We're using
spring with the openEntityInView filter, so I guess that's where they
might be becoming accessible to the ognl runtime?

Is there any way to turn of this methodTypeParameters caching?

Any ideas on how to track down why/what/how gets put in there? I'm
using it must have something to do with the jsp's we're creating but
I'm at wit's end to find out just how that is happening.

regards,
Wim

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org