Folks,

We're getting intermittent problems where one tomcat thread hangs for up to
10 minutes writing JSP pages to a socket. We think the socket is an HTTP TCP
socket. The stack trace from a thread dump for the hung thread is below.

This happens multiple times per day at seemingly random intervals. We have
not been able to reproduce this reliably and has been happening for as long
as we have data (6+ months), so doesn't seem to be tied to a specific recent
change.

We run Struts 1.35, Tomcat 5.5.9, Linux 2.4.21 (Redhat) on four boxes behind
a Netscaler load balancer. All boxes exhibit the same problem at different
random intervals.

Has anyone seen this problem? If so, do you know of a fix?

-adam

Thread 18114: (state = IN_NATIVE)
 - java.net.SocketOutputStream.socketWrite0(java.io.FileDescriptor, byte[],
int, int) @bci=0 (Compiled frame; information may be imprecise)
 - java.net.SocketOutputStream.socketWrite (byte[], int, int) @bci=44,
line=92 (Compiled frame)
 - java.net.SocketOutputStream.write(byte[], int, int) @bci=4, line=136
(Compiled frame)
 - org.apache.coyote.Response.action(org.apache.coyote.ActionCode,
java.lang.Object ) @bci=31, line=182 (Compiled frame)
 - java.io.PrintWriter.flush() @bci=15, line=270 (Compiled frame)
 - org.apache.struts.tiles.taglib.InsertTag.doEndTag() @bci=18, line=462
(Interpreted frame)
 - org.apache.jsp.pages.SearchNarrowBy_jsp._jspx_meth_tiles_insert_0 (
javax.servlet.jsp.PageContext) @bci=50, line=724 (Interpreted frame)
 - org.apache.jsp.pages.SearchNarrowBy_jsp._jspService(
javax.servlet.http.HttpServletRequest,
javax.servlet.http.HttpServletResponse) @bci=286, line=120 (Compiled frame)
 - org.apache.jasper.runtime.HttpJspBase.service(
javax.servlet.http.HttpServletRequest,
javax.servlet.http.HttpServletResponse) @bci=3, line=97 (Interpreted frame)
 - javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest ,
javax.servlet.ServletResponse) @bci=30, line=802 (Interpreted frame)
 - org.apache.jasper.servlet.JspServletWrapper.service(
javax.servlet.http.HttpServletRequest,
javax.servlet.http.HttpServletResponse, boolean) @bci=186, line=322
(Compiled frame)
 - org.apache.jasper.servlet.JspServlet.serviceJspFile(
javax.servlet.http.HttpServletRequest,
javax.servlet.http.HttpServletResponse, java.lang.String,
java.lang.Throwable, boolean) @bci=129, line=291 (Compiled frame)
 - javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest,
javax.servlet.ServletResponse) @bci=30, line=802 (Compiled frame)
 - org.apache.catalina.core.ApplicationFilterChain.doFilter(
javax.servlet.ServletRequest , javax.servlet.ServletResponse) @bci=101,
line=173 (Compiled frame)
 - org.apache.catalina.core.ApplicationDispatcher.invoke(
javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=396,
line=672 (Compiled frame)
 - org.apache.catalina.core.ApplicationDispatcher.doInclude(
javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=368,
line=574 (Compiled frame)
 - org.apache.catalina.core.ApplicationDispatcher.include (
javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=55,
line=499 (Compiled frame)
 - org.apache.jasper.runtime.JspRuntimeLibrary.include(
javax.servlet.ServletRequest, javax.servlet.ServletResponse,
java.lang.String , javax.servlet.jsp.JspWriter, boolean) @bci=45, line=966
(Compiled frame)
 - org.apache.jasper.runtime.PageContextImpl.doInclude(java.lang.String,
boolean) @bci=14, line=633 (Compiled frame)
 - sun.reflect.GeneratedMethodAccessor59.invoke (java.lang.Object,
java.lang.Object[]) @bci=71 (Interpreted frame)
 - sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object,
java.lang.Object[]) @bci=6, line=25 (Compiled frame)
 - java.lang.reflect.Method.invoke (java.lang.Object, java.lang.Object[])
@bci=111, line=585 (Compiled frame)
 - org.apache.struts.tiles.taglib.InsertTag.doEndTag() @bci=18, line=462
(Interpreted frame)
 - org.apache.jsp.pages.SearchPageLayout_jsp._jspx_meth_tiles_insert_5 (
javax.servlet.jsp.PageContext) @bci=50, line=235 (Interpreted
frame)
 - org.apache.jsp.pages.SearchPageLayout_jsp._jspService(
javax.servlet.http.HttpServletRequest,
javax.servlet.http.HttpServletResponse) @bci=381, line=101 (Interpreted
frame)
 - org.apache.jasper.runtime.HttpJspBase.service(
javax.servlet.http.HttpServletRequest,
javax.servlet.http.HttpServletResponse) @bci=3, line=97 (Interpreted frame)
 - javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest ,
javax.servlet.ServletResponse) @bci=30, line=802 (Interpreted frame)
 - org.apache.jasper.servlet.JspServletWrapper.service(
javax.servlet.http.HttpServletRequest,
javax.servlet.http.HttpServletResponse, boolean) @bci=186, line=322
(Compiled frame)
 - org.apache.jasper.servlet.JspServlet.serviceJspFile(
javax.servlet.http.HttpServletRequest,
javax.servlet.http.HttpServletResponse, java.lang.String,
java.lang.Throwable, boolean) @bci=129, line=291 (Compiled frame)



-- 
Adam Feuer
adamfeuer1 at gmail dot com



-- 
Adam Feuer
adamfeuer1 at gmail dot com

Reply via email to