[jira] [Commented] (OGNL-228) Is ognl.OgnlRuntime some root cause of PermGen OutOfMemoryError problem?

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Commented] (OGNL-228) Is ognl.OgnlRuntime some root cause of PermGen OutOfMemoryError problem?

Lars Bruun-Hansen (Jira)

    [ https://issues.apache.org/jira/browse/OGNL-228?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13531063#comment-13531063 ]

haruhiko nishi commented on OGNL-228:
-------------------------------------

In the following code of ognl.OgnlRuntime, java.lang.reflect.Method may have the same hash value. What about the GeneratedMethodAccessorXXX that it delegates the its work?
{code}
if ((result = (Class[])methodParameterTypesCache.get(m)) == null) {
   methodParameterTypesCache.put(m, result = m.getParameterTypes());
 }
return result;
{code}
               

> Is ognl.OgnlRuntime some root cause of PermGen OutOfMemoryError problem?
> ------------------------------------------------------------------------
>
>                 Key: OGNL-228
>                 URL: https://issues.apache.org/jira/browse/OGNL-228
>             Project: Commons OGNL
>          Issue Type: Bug
>         Environment: RHEL 6 x64
>            Reporter: haruhiko nishi
>            Priority: Critical
>              Labels: OutOfMemoryError
>
> While analyzing several heap dumps using Yourkit, we have observed many instances of DelegatingClassLoader, or more precisely sun.reflect.GeneratedMethodAccessorXXX, where XXX represents some sequential numbers, were created through the usage of Java reflection by the frameworks implemented in our web application.
> GeneratedMethodAccessorXXX is allegedly used for some sort of reflection optimization mechanism according to the url at http://www-01.ibm.com/support/docview.wss?uid=swg21566549.
> Because this is what seems to be eating up our memory allocated for PermGen, as the number of the DelegatingClassLoader is gradually increased and JVM crushes with OutOfMemoryError, we scrutinized what is possibly blocking these DelegatingClassLoaders from being garbage collected and found many of them are relevant to _methodParameterTypesCache of ognl.OgnlRuntime.
> Is there any known problems regarding this issue?

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira