Hi I have attached some patches on MYFACES-3216 and commited the code on trunk and related branches. Please let us know if the code proposed fix the problem you mention.
Leonardo 2011/7/11 Leonardo Uribe <[email protected]>: > Hi > > I have created: > > https://issues.apache.org/jira/browse/MYFACES-3216 > > to deal with this code. I checked it and there is a potential risk of > exceptions when map.put is called. Maybe that is the source of your > problem, but it could be better if you can give us more info about it. > > Leonardo Uribe > > 2011/7/5 Mark Struberg <[email protected]>: >> Most importantly: which JDK/JRE are you running WebLogic under? And which >> weblogic version do you use? >> >> You have definitely checked diskfree? (df -h) and mem is also no concern? >> Are you running a 32 or 64 bit JVM? >> Under 32 bit JVMs you could easily run out of available threads (the higher >> you tune your -Xmx, the LOWER the amount of available threads get!) >> >> >> Just a few random ideas... >> >> LieGrue, >> strub >> >> --- On Mon, 7/4/11, Martin Koci <[email protected]> wrote: >> >>> From: Martin Koci <[email protected]> >>> Subject: Re: MyFaces - Thread issues under High load >>> To: "MyFaces Discussion" <[email protected]> >>> Date: Monday, July 4, 2011, 7:29 PM >>> 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. >>> >>> >>> >> >

