You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by bu...@apache.org on 2003/10/23 19:56:48 UTC
DO NOT REPLY [Bug 24073] New: -
hang/deadlock, possibly in FileLogger
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=24073>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND
INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=24073
hang/deadlock, possibly in FileLogger
Summary: hang/deadlock, possibly in FileLogger
Product: Tomcat 4
Version: 4.1.27
Platform: PC
URL: http://www.nap.edu/building/catalina_hang_trace.txt
OS/Version: Linux
Status: NEW
Severity: Major
Priority: Other
Component: Catalina:Modules
AssignedTo: tomcat-dev@jakarta.apache.org
ReportedBy: building@nap.edu
Based on some Googling this may be a JDK/JRE problem, rather than a
Catalina-specific issue, but since I'm not real sure how to read Java thread
dumps in the first place I figure I'll check here first.
We've had a recurring hang on our standalone 4.1.24 and 4.1.27 installations
(the binary distributions thereof), using Sun's 1.4.2 JDK. The server will sit
quietly for a few days, handling no requests except our local monitoring
software's periodic "GET /" every ten minutes or so. Once every day or three,
it'll wedge hard, and requests to the 8080 socket time out. Nothing shows up in
logs (with every debug parameter I could find set to 99), and it takes a kill -9
to bring it down. Unfortunately, I can't seem to produce a system state that'll
instantly reproduce the problem, so I just have to sit around and wait for a
couple of days before it crops up again. :/
I tossed a -QUIT at the most recent occurence on a 4.1.27 install, and the thing
my (very inexpert) eye immediately sees is the interaction between threads 23
and 18 and the locking on the FileWriter (0x456997c8), which doesn't seem to
crop up if I dump threads on a normally functioning server.
I'll put the full thread dump in that little URL box up there, in case that's
more helpful than what I've pasted.
"Thread-23" daemon prio=1 tid=0x0885f958 nid=0x84f waiting for monitor entry
[4f26a000..4f26a714]
at java.io.PrintWriter.println(PrintWriter.java:515)
- waiting to lock <0x456997c8> (a java.io.FileWriter)
at org.apache.catalina.logger.FileLogger.log(FileLogger.java:293)
at org.apache.catalina.core.ContainerBase.log(ContainerBase.java:1418)
at
org.apache.catalina.core.StandardEngineMapper.map(StandardEngineMapper.java:193)
at org.apache.catalina.core.ContainerBase.map(ContainerBase.java:1016)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:164)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:601)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
at java.lang.Thread.run(Thread.java:534)
"Thread-18" daemon prio=1 tid=0x0872be00 nid=0x84f waiting on condition
[4efe5000..4efe5714]
at java.io.Writer.write(Writer.java:126)
at java.io.PrintWriter.newLine(PrintWriter.java:254)
- locked <0x456997c8> (a java.io.FileWriter)
at java.io.PrintWriter.println(PrintWriter.java:405)
at java.io.PrintWriter.println(PrintWriter.java:516)
- locked <0x456997c8> (a java.io.FileWriter)
at org.apache.catalina.logger.FileLogger.log(FileLogger.java:293)
at org.apache.catalina.core.ContainerBase.log(ContainerBase.java:1418)
at
org.apache.catalina.core.StandardEngineMapper.map(StandardEngineMapper.java:221)
at org.apache.catalina.core.ContainerBase.map(ContainerBase.java:1016)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:164)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:601)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
at java.lang.Thread.run(Thread.java:534)
---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org