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?
> 

Reply via email to