Hello again, Sorry for another question, I'm fighting issues on multiple fronts.
For Tomcat 8.0.24 and jre 1.8.0_60. I need a little insight on what is happening inside Tomcat so I can hopefully understand how I am occasionally getting thread deadlocks. This is thread #1, the code is trying to close an AsyncContext but it is waiting on a Tomcat thread. Name: http-apr-8443-exec-27576 State: BLOCKED on org.apache.tomcat.util.net.AprEndpoint$AprSocketWrapper@d0ec341 owned by: http-apr-8443-exec-24603 Total blocked: 1 Total waited: 73 Stack trace: org.apache.tomcat.util.net.AprEndpoint.processSocket(AprEndpoint.java:964) org.apache.coyote.http11.AbstractHttp11Processor.action(AbstractHttp11Processor.java:850) org.apache.coyote.Request.action(Request.java:378) org.apache.catalina.core.AsyncContextImpl.complete(AsyncContextImpl.java:86) MyServlet._completeAsync(MyServlet.java:478) This is thread #2, it came in through doGet, and is locked waiting for thread #1 to finish MyServlet.doGet(MyServlet.java:251) javax.servlet.http.HttpServlet.service(HttpServlet.java:622) javax.servlet.http.HttpServlet.service(HttpServlet.java:729) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:617) org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518) org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091) org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:658) org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2503) org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2492) - locked org.apache.tomcat.util.net.AprEndpoint$AprSocketWrapper@d0ec341 java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) java.lang.Thread.run(Unknown Source) My question is, what is AprEndpoint$AprSocketWrapper really locking here? Thanks (Again)! --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org