You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Shishir Saxena <sh...@tcs.com> on 2011/02/23 10:40:05 UTC

Re: Critical performance issue in production environment due to OGNL 3.0 blockages!

Hi

My web application based on Struts 2.2.1 is using OGNL 3.0. This web
application is rolled into production; however, due to serious performance
considerations the website is in danger of being rolled back. The thread
dumps indicate 'BLOCKING' at ognl.OgnlRuntime.invokeMethod
(OgnlRuntime.java:804).

 The thread trace is as:
&quot;httpSSLWorkerThread-6357-6&quot; daemon prio=3 tid=0x01a07000
nid=0xa6 waiting for monitor entry [0xb6d79000..0xb6d7faf0]
    java.lang.Thread.State: BLOCKED (on object monitor)
 at ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java:804)
 - waiting to lock &lt;0xcca6d328&gt; (a java.lang.reflect.Method)
 at ognl.OgnlRuntime.getMethodValue(OgnlRuntime.java:1434)
 at ognl.ObjectPropertyAccessor.getPossibleProperty
 (ObjectPropertyAccessor.java:60)
 at ognl.ObjectPropertyAccessor.getProperty
 (ObjectPropertyAccessor.java:147)
 at com.opensymphony.xwork2.ognl.accessor.ObjectAccessor.getProperty
 (ObjectAccessor.java:17)
 at ognl.OgnlRuntime.getProperty(OgnlRuntime.java:2230)
 at com.opensymphony.xwork2.ognl.accessor.CompoundRootAccessor.getProperty
 (CompoundRootAccessor.java:137)
 at ognl.OgnlRuntime.getProperty(OgnlRuntime.java:2230)
 at ognl.ASTProperty.getValueBody(ASTProperty.java:114)
 at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)
 at ognl.SimpleNode.getValue(SimpleNode.java:258)
 at ognl.Ognl.getValue(Ognl.java:494)
 at ognl.Ognl.getValue(Ognl.java:458)
 at com.opensymphony.xwork2.ognl.OgnlUtil.getValue(OgnlUtil.java:213)
 at com.opensymphony.xwork2.ognl.OgnlValueStack.getValueUsingOgnl
 (OgnlValueStack.java:277)
 at com.opensymphony.xwork2.ognl.OgnlValueStack.tryFindValue
 (OgnlValueStack.java:260)
 at
 com.opensymphony.xwork2.ognl.OgnlValueStack.tryFindValueWhenExpressionIsNotNull
(OgnlValueStack.java:242)
 at com.opensymphony.xwork2.ognl.OgnlValueStack.findValue
 (OgnlValueStack.java:222)
 at com.opensymphony.xwork2.ognl.OgnlValueStack.findValue
 (OgnlValueStack.java:284)
 at sun.reflect.GeneratedMethodAccessor111.invoke(Unknown Source)
 ....

 quot;httpSSLWorkerThread-6357-4&quot; daemon prio=3 tid=0x01a56800
    nid=0xa4 runnable [0xb6f79000..0xb6f7fbf0]
    java.lang.Thread.State: RUNNABLE
 at java.security.AccessController.$$YJP$$doPrivileged(Native Method)
 at java.security.AccessController.doPrivileged(AccessController.java)
 at com.sun.enterprise.security.provider.PolicyFile.addPermissions
 (PolicyFile.java:1333)
 at com.sun.enterprise.security.provider.PolicyFile.getPermissions
 (PolicyFile.java:1290)
 at com.sun.enterprise.security.provider.PolicyFile.getPermissions
 (PolicyFile.java:1256)
 at com.sun.enterprise.security.provider.PolicyFile.getPermissions
 (PolicyFile.java:1198)
 at com.sun.enterprise.security.provider.PolicyFile.implies
 (PolicyFile.java:1153)
 at com.sun.enterprise.security.provider.BasePolicyWrapper.doImplies
 (BasePolicyWrapper.java:383)
 at com.sun.enterprise.security.provider.BasePolicyWrapper.implies
 (BasePolicyWrapper.java:237)
 at java.security.ProtectionDomain.implies(ProtectionDomain.java:213)
 at java.security.AccessControlContext.checkPermission
 (AccessControlContext.java:301)
 at java.security.AccessController.checkPermission
 (AccessController.java:546)
 at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
 at java.lang.reflect.AccessibleObject.setAccessible
 (AccessibleObject.java:107)
 at ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java:839)
 - locked &lt;0xcca6d328&gt; (a java.lang.reflect.Method)
 at ognl.OgnlRuntime.getMethodValue(OgnlRuntime.java:1434)
 at ognl.ObjectPropertyAccessor.getPossibleProperty
 (ObjectPropertyAccessor.java:60)

The full strace trace would be available in JIRA issue#WW-3580.

Thanks and regards
Shishir

=====-----=====-----=====
Notice: The information contained in this e-mail
message and/or attachments to it may contain 
confidential or privileged information. If you are 
not the intended recipient, any dissemination, use, 
review, distribution, printing or copying of the 
information contained in this e-mail message 
and/or attachments to it are strictly prohibited. If 
you have received this communication in error, 
please notify us by reply e-mail or telephone and 
immediately and permanently delete the message 
and any attachments. Thank you




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


Re: Critical performance issue in production environment due to OGNL 3.0 blockages!

Posted by Shishir Saxena <sh...@tcs.com>.
Hi

<could you post code for MainAppLogin.jsp and StartMainApp interceptor ?> I
have attached the same in the related JIRA issue WW-3580.

<And why are you using such interceptors in a production environment ?
- TimerInterceptor
- ProfilingActivationInterceptor
- DebuggingInterceptor
>  We are now making a conscious decision if these interceptors are really
necessary in production. Thanks for your inputs here.

Regards
Shishir

-----Lukasz Lenart  wrote: -----
To: Struts Users Mailing List <us...@struts.apache.org>
From: Lukasz Lenart <lu...@googlemail.com>
Date: 02/23/2011 10:47AM
Subject: Re: Critical performance issue in production environment due to
OGNL 3.0 blockages!

Hi,

Could you post code for MainAppLogin.jsp and StartMainApp interceptor ?

And why are you using such interceptors in a production environment ?
- TimerInterceptor
- ProfilingActivationInterceptor
- DebuggingInterceptor


Regards
--
&#321;ukasz
+ 48 606 323 122 http://www.lenart.org.pl/
Kapitu&#322;a Javarsovia http://javarsovia.pl

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


=====-----=====-----=====
Notice: The information contained in this e-mail
message and/or attachments to it may contain 
confidential or privileged information. If you are 
not the intended recipient, any dissemination, use, 
review, distribution, printing or copying of the 
information contained in this e-mail message 
and/or attachments to it are strictly prohibited. If 
you have received this communication in error, 
please notify us by reply e-mail or telephone and 
immediately and permanently delete the message 
and any attachments. Thank you




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


Re: Critical performance issue in production environment due to OGNL 3.0 blockages!

Posted by Lukasz Lenart <lu...@googlemail.com>.
Hi,

Could you post code for MainAppLogin.jsp and StartMainApp interceptor ?

And why are you using such interceptors in a production environment ?
- TimerInterceptor
- ProfilingActivationInterceptor
- DebuggingInterceptor


Regards
-- 
Łukasz
+ 48 606 323 122 http://www.lenart.org.pl/
Kapituła Javarsovia http://javarsovia.pl

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