myfaces-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martin Koci <martin.kocicak.k...@gmail.com>
Subject Re: MyFaces - Thread issues under High load
Date Mon, 04 Jul 2011 19:29:08 GMT
Hi,

what is [STUCK] thread? Is that something special from WebLogic thread
pooler? 
All threads are accessing same
java.beans.PropertyDescriptor.getReadMethod but this method is
synchronized. So one on them is holding java.beans.PropertyDescriptor
instance as monitor and the others are trying access same critical area.
One of the STUCKs is suspicious: it probably entered critical area on
PropertyDescriptor forever. But it should not happen: this is API from
JRE and myfaces use it only - this looks very  odd. 

Suggestions:

1) set thread timeout if possible. I don't know weblogic but thread
executors can kill thread it it does not end in reasonable time.

2) Is JVM eating 100% of CPU? If so then hotspot can cause this type of
problem - I remement similar problem few year ago - update to newer
version of JVM solved it. What JVM/version do you use?

3) Is problem repeatable? Do you perform stress test or is this problem
from production deployment?


Regards,

Kočičák

Rajadurai_p píše v Po 04. 07. 2011 v 11:17 -0700:
> Hi,
> I have attached a weblogic server thread dump file collected under high load
> and when the server was irresponsive. You will find almost all the threads
> (active & stuck) pointing to the same stack trace which is My faces/
> Tomahawk related. Kindly let me know your views.
> 
> Thanks
> 
> 
> Matt Benson-2 wrote:
> > 
> > It looks to me as though you are using the JSF reference
> > implementation.  The only code I see from myfaces in your stack trace
> > is Tomahawk.
> > 
> > Matt
> > 
> > On Wed, Jun 29, 2011 at 4:39 AM, Rajadurai_p  wrote:
> >>
> >> Hi,
> >> we are facing problems in MyFaces framework under high load. Bulk of the
> >> application container threads (weblogic) are stuck upon a same stack
> >> trace.
> >> I have pasted a sample stack trace below. Kindly help.
> >>
> >> We use JSF 1.2, MyFaces 1.2.9, Tomahawk 1.1.9 & RichFaces 3.3.3.
> >>
> >>
> >>
> >>
> >> java.beans.PropertyDescriptor.getReadMethod(PropertyDescriptor.java:158)
> >>
> >> javax.faces.component._ComponentAttributesMap.getComponentProperty(_ComponentAttributesMap.java:382)
> >>
> >> javax.faces.component._ComponentAttributesMap.get(_ComponentAttributesMap.java:227)
> >>
> >> org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlRendererUtils.renderHTMLAttribute(HtmlRendererUtils.java:584)
> >>
> >> org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlRendererUtils.renderHTMLAttributes(HtmlRendererUtils.java:598)
> >>
> >> org.apache.myfaces.custom.htmlTag.HtmlTagRenderer.encodeBegin(HtmlTagRenderer.java:73)
> >>      
> >>  javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:600)
> >>
> >> org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.renderChild(RendererUtils.java:525)
> >>
> >> org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.renderChildren(RendererUtils.java:511)
> >>
> >> org.apache.myfaces.custom.htmlTag.HtmlTagRenderer.encodeChildren(HtmlTagRenderer.java:111)
> >>
> >> javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:627)
> >>
> >> org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.renderChild(RendererUtils.java:528)
> >>
> >> org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.renderChildren(RendererUtils.java:511)
> >>
> >> org.apache.myfaces.custom.htmlTag.HtmlTagRenderer.encodeChildren(HtmlTagRenderer.java:111)
> >>
> >> javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:627)
> >>      
> >>  org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:277)
> >>      
> >>  org.ajax4jsf.renderkit.RendererBase.renderChildren(RendererBase.java:258)
> >>
> >> org.richfaces.renderkit.AbstractGridRenderer.encodeOneRow(AbstractGridRenderer.java:96)
> >>
> >> org.richfaces.renderkit.AbstractRowsRenderer.process(AbstractRowsRenderer.java:83)
> >>      
> >>  org.ajax4jsf.model.SequenceDataModel.walk(SequenceDataModel.java:101)
> >>      
> >>  org.ajax4jsf.component.UIDataAdaptorBase.walk(UIDataAdaptorBase.java:1156)
> >>
> >> org.richfaces.renderkit.AbstractRowsRenderer.encodeRows(AbstractRowsRenderer.java:104)
> >>
> >> org.richfaces.renderkit.AbstractRowsRenderer.encodeRows(AbstractRowsRenderer.java:88)
> >>
> >> org.richfaces.renderkit.AbstractRowsRenderer.encodeChildren(AbstractRowsRenderer.java:137)
> >>
> >> javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:627)
> >>      
> >>  org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:277)
> >>      
> >>  org.ajax4jsf.renderkit.RendererBase.renderChildren(RendererBase.java:258)
> >>
> >> org.ajax4jsf.renderkit.html.AjaxOutputPanelRenderer.encodeChildren(AjaxOutputPanelRenderer.java:78)
> >>
> >> javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:627)
> >>
> >> org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.renderChild(RendererUtils.java:528)
> >>
> >> org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.renderChildren(RendererUtils.java:511)
> >>
> >> org.apache.myfaces.custom.htmlTag.HtmlTagRenderer.encodeChildren(HtmlTagRenderer.java:111)
> >>
> >> javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:627)
> >>        javax.faces.component.UIComponent.encodeAll(UIComponent.java:250)
> >>
> >> com.sun.facelets.component.RepeatRenderer.encodeChildren(RepeatRenderer.java:64)
> >>        com.sun.facelets.component.UIRepeat.process(UIRepeat.java:423)
> >>      
> >>  com.sun.facelets.component.UIRepeat.encodeChildren(UIRepeat.java:684)
> >>      
> >>  org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:277)
> >>      
> >>  org.ajax4jsf.renderkit.RendererBase.renderChildren(RendererBase.java:258)
> >>
> >> org.richfaces.renderkit.html.PanelRenderer.doEncodeChildren(PanelRenderer.java:200)
> >>
> >> org.richfaces.renderkit.html.PanelRenderer.doEncodeChildren(PanelRenderer.java:195)
> >>      
> >>  org.ajax4jsf.renderkit.RendererBase.encodeChildren(RendererBase.java:120)
> >>
> >> javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:627)
> >>      
> >>  org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:277)
> >>      
> >>  org.ajax4jsf.renderkit.RendererBase.renderChildren(RendererBase.java:258)
> >>      
> >>  org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:279)
> >>      
> >>  org.ajax4jsf.renderkit.RendererBase.renderChildren(RendererBase.java:258)
> >>
> >> org.ajax4jsf.renderkit.html.AjaxOutputPanelRenderer.encodeChildren(AjaxOutputPanelRenderer.java:78)
> >>
> >> javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:627)
> >>
> >> org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.renderChild(RendererUtils.java:528)
> >>
> >> org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.renderChildren(RendererUtils.java:511)
> >>
> >> org.apache.myfaces.custom.htmlTag.HtmlTagRenderer.encodeChildren(HtmlTagRenderer.java:111)
> >>
> >> javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:627)
> >>
> >> org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.renderChild(RendererUtils.java:528)
> >>
> >> org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.renderChildren(RendererUtils.java:511)
> >>
> >> org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.renderChild(RendererUtils.java:532)
> >>
> >> org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.renderChildren(RendererUtils.java:511)
> >>
> >> org.apache.myfaces.custom.htmlTag.HtmlTagRenderer.encodeChildren(HtmlTagRenderer.java:111)
> >>
> >> javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:627)
> >>
> >> org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.renderChild(RendererUtils.java:528)
> >>
> >> org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.renderChildren(RendererUtils.java:511)
> >>
> >> org.apache.myfaces.custom.htmlTag.HtmlTagRenderer.encodeChildren(HtmlTagRenderer.java:111)
> >>
> >> javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:627)
> >>
> >> org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.renderChild(RendererUtils.java:528)
> >>
> >> org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.renderChildren(RendererUtils.java:511)
> >>
> >> org.apache.myfaces.custom.htmlTag.HtmlTagRenderer.encodeChildren(HtmlTagRenderer.java:111)
> >>
> >> javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:627)
> >>
> >> org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.renderChild(RendererUtils.java:528)
> >>
> >> org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.renderChildren(RendererUtils.java:511)
> >>
> >> org.apache.myfaces.custom.htmlTag.HtmlTagRenderer.encodeChildren(HtmlTagRenderer.java:111)
> >>
> >> javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:627)
> >>        javax.faces.component.UIComponent.encodeAll(UIComponent.java:250)
> >>        javax.faces.component.UIComponent.encodeAll(UIComponent.java:257)
> >>      
> >>  com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:594)
> >>
> >> org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:100)
> >>
> >> org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:176)
> >>
> >> org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
> >>      
> >>  org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:140)
> >>        javax.faces.webapp.FacesServlet.service(FacesServlet.java:187)
> >>
> >> weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
> >>
> >> weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
> >>      
> >>  weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
> >>        weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
> >>      
> >>  weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
> >>      
> >>  org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206)
> >>        org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
> >>
> >> org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
> >>        org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
> >>      
> >>  weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
> >>
> >> org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:164)
> >>      
> >>  org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:141)
> >>
> >> org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:90)
> >>
> >> org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:407)
> >>      
> >>  weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
> >>
> >> org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:384)
> >>      
> >>  weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
> >>
> >> com.xxx.yyy.zzz.CookieCartCountFilter.doFilter(CookieCartCountFilter.java:69)
> >>      
> >>  weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
> >>
> >> com.xxx.yyy.zzz.webservice.onesite.OneSiteCacheFilter.doFilter(OneSiteCacheFilter.java:388)
> >>      
> >>  weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
> >>      
> >>  com.xxx.yyy.zzz.util.CachingFilter.doFilter(CachingFilter.java:143)
> >>      
> >>  weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
> >>      
> >>  com.xxx.yyy.zzz.util.JsessionidFilter.doFilter(JsessionidFilter.java:43)
> >>      
> >>  weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
> >>
> >> com.xxx.yyy.zzz.util.SessionCookieSupportFilter.doFilter(SessionCookieSupportFilter.java:180)
> >>      
> >>  weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
> >>
> >> de.hybris.platform.util.RootRequestFilter.doFilter(RootRequestFilter.java:741)
> >>      
> >>  weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
> >>
> >> weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:26)
> >>      
> >>  weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
> >>
> >> weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3229)
> >>
> >> weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
> >>      
> >>  weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
> >>
> >> weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2002)
> >>
> >> weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1908)
> >>
> >> weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1362)
> >>        weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
> >>        weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
> >>
> >> Thanks, rajadurai
> >> --
> >> View this message in context:
> >> http://old.nabble.com/MyFaces---Thread-issues-under-High-load-tp31953250p31953250.html
> >> Sent from the MyFaces - Users mailing list archive at Nabble.com.
> >>
> >>
> > 
> > 
> http://old.nabble.com/file/p31991479/Weblogic%2BThread%2BDump.zip
> Weblogic+Thread+Dump.zip 
> http://old.nabble.com/file/p31991479/Weblogic%2BThread%2BDump.zip
> Weblogic+Thread+Dump.zip 
> -- 
> View this message in context: http://old.nabble.com/MyFaces---Thread-issues-under-High-load-tp31953250p31991479.html
> Sent from the MyFaces - Users mailing list archive at Nabble.com.



Mime
View raw message