Hi Stephan, Strange that logging to the console can block. Which version of Tomcat is this? Perhaps the issue is related to a version of TC?
I'd also recommend running Click in "production" mode as logging will be minimal. Kind regards Bob On Fri, Jun 10, 2011 at 1:09 PM, Kennedy, Stephan <[email protected]> wrote: > Hi > > Our Tomcat Servlet engine locked up running a little click web app of ours > (which ran w/o problems for about a week). > The thread dump shows one thread has locked a semaphore for logging to the > console while all the others are waiting on it. > Any idea why the initial locking thread is not returning to release the > semaphore? Click is running in debug mode. > > One of the waiting threads: > > "http-8443-2" daemon prio=6 tid=0x02f5a400 nid=0x220 waiting for monitor > entry [0x0396f000] > > java.lang.Thread.State: BLOCKED (on object monitor) > > at java.io.PrintStream.println(Unknown Source) > > - waiting to lock <0x245128a8> (a java.io.PrintStream) > > at > org.apache.tomcat.util.log.SystemLogHandler.println(SystemLogHandler.java:238) > > at > org.apache.click.service.ConsoleLogService.log(ConsoleLogService.java:241) > > at > org.apache.click.service.ConsoleLogService.debug(ConsoleLogService.java:98) > > at org.apache.click.ClickServlet.handleRequest(ClickServlet.java:331) > > at org.apache.click.ClickServlet.doPost(ClickServlet.java:294) > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) > > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) > > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433) > > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) > > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) > > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) > > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) > > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849) > > at > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) > > at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454) > > at java.lang.Thread.run(Unknown Source) > > Locked ownable synchronizers: > > - None > > > > The blocking thread: > > "http-8443-1" daemon prio=6 tid=0x0319b400 nid=0x1ef0 runnable [0x0382f000] > > java.lang.Thread.State: RUNNABLE > > at java.io.FileOutputStream.writeBytes(Native Method) > > at java.io.FileOutputStream.write(Unknown Source) > > at java.io.BufferedOutputStream.flushBuffer(Unknown Source) > > at java.io.BufferedOutputStream.flush(Unknown Source) > > - locked <0x2451c8d0> (a java.io.BufferedOutputStream) > > at java.io.PrintStream.write(Unknown Source) > > - locked <0x245128a8> (a java.io.PrintStream) > > at sun.nio.cs.StreamEncoder.writeBytes(Unknown Source) > > at sun.nio.cs.StreamEncoder.implFlushBuffer(Unknown Source) > > at sun.nio.cs.StreamEncoder.flushBuffer(Unknown Source) > > - locked <0x2451c910> (a java.io.OutputStreamWriter) > > at java.io.OutputStreamWriter.flushBuffer(Unknown Source) > > at java.io.PrintStream.write(Unknown Source) > > - locked <0x245128a8> (a java.io.PrintStream) > > at java.io.PrintStream.print(Unknown Source) > > at java.io.PrintStream.println(Unknown Source) > > - locked <0x245128a8> (a java.io.PrintStream) > > at > org.apache.tomcat.util.log.SystemLogHandler.println(SystemLogHandler.java:238) > > at > org.apache.click.service.ConsoleLogService.log(ConsoleLogService.java:241) > > at > org.apache.click.service.ConsoleLogService.debug(ConsoleLogService.java:98) > > at org.apache.click.ClickServlet.handleRequest(ClickServlet.java:331) > > at org.apache.click.ClickServlet.doPost(ClickServlet.java:294) > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) > > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) > > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433) > > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) > > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) > > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) > > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) > > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849) > > at > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) > > at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454) > > at java.lang.Thread.run(Unknown Source) > > Locked ownable synchronizers: > > - None > > > Regards > Stephan >
