Ok the synchronized collection is necessary, but my question goes towards along the lines of thinking around the box, could it be that you have something serious going on in one of the setter or getter methods of a bean which causes a hang or lock on the server side? Maybe a database related problem (table lock or something else) with db code called in a setter or getter method.
It seems to hang on a boolean accessor method. Cheers Werner Titi Wangsa schrieb: > hello to all.. > i'm using myfaces 1.1.5 and tomahawak 1.1.5 > my application hang frequently > > here is a stack on one of my threads > "TP-Processor280" daemon prio=1 tid=0x0889b1e0 nid=0xab2 waiting for > monitor entry [0x2c658000..0x2c659f30] > at java.util.Collections$SynchronizedMap.get(Collections.java:1979) > - waiting to lock <0x523ad908> (a > java.util.Collections$SynchronizedMap) > at java.beans.Introspector.getBeanInfo(Introspector.java:157) > at > javax.faces.component._ComponentAttributesMap.getPropertyDescriptor(_ComponentAttributesMap.java:346) > > at > javax.faces.component._ComponentAttributesMap.put(_ComponentAttributesMap.java:306) > > at > org.apache.myfaces.shared_impl.taglib.UIComponentTagUtils.setBooleanProperty(UIComponentTagUtils.java:134) > > at > org.apache.myfaces.shared_impl.taglib.UIComponentBodyTagBase.setBooleanProperty(UIComponentBodyTagBase.java:163) > > at > org.apache.myfaces.shared_impl.taglib.UIComponentBodyTagBase.setProperties(UIComponentBodyTagBase.java:106) > > at > org.apache.myfaces.taglib.core.VerbatimTag.setProperties(VerbatimTag.java:53) > > at > javax.faces.webapp.UIComponentTag.findComponent(UIComponentTag.java:597) > at > javax.faces.webapp.UIComponentTag.doStartTag(UIComponentTag.java:315) > at > org.apache.jsp.jcs_005fcommon.meta_jsp._jspx_meth_f_005fverbatim_005f0(meta_jsp.java:179) > > at > org.apache.jsp.jcs_005fcommon.meta_jsp._jspx_meth_t_005fbuffer_005f0(meta_jsp.java:157) > > at > org.apache.jsp.jcs_005fcommon.meta_jsp._jspx_meth_f_005fsubview_005f0(meta_jsp.java:121) > > at > org.apache.jsp.jcs_005fcommon.meta_jsp._jspService(meta_jsp.java:74) > at > org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) > at > org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328) > > at > org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315) > at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) > > at > org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691) > > at > org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:594) > > at > org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:505) > > at > org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:965) > > at > org.apache.jsp.index_jsp._jspx_meth_f_005fview_005f0(index_jsp.java:154) > at org.apache.jsp.index_jsp._jspService(index_jsp.java:106) > at > org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) > at > org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328) > > at > org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315) > at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) > > at > org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691) > > at > org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469) > > at > org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403) > > > and when i grep the log file > [EMAIL PROTECTED] tomcat1]# grep 0x523ad908 logs/catalina.out | sort | uniq > -c > 2 - locked <0x523ad908> (a > java.util.Collections$SynchronizedMap) > 261 - waiting to lock <0x523ad908> (a > java.util.Collections$SynchronizedMap) > > there are 261 threads waiting to lock the > java.util.Collections$SynchronizedMap > > my question is, > how can i modify my app so it does not hang..? > any help? >

