Production, as of yet, strangely, I have not been able to create this problem testing.
Here is the top of the stack without a profiler. 2010-10-04 10:35:50 Full thread dump Java HotSpot(TM) Server VM (10.0-b19 mixed mode): "Attach Listener" daemon prio=10 tid=0x08170400 nid=0x716b waiting on condition [0x00000000..0x00000000] java.lang.Thread.State: RUNNABLE "http-8080-200" daemon prio=10 tid=0xcbca9800 nid=0xb5e waiting on condition [0xc5dbc000..0xc5dbcea0] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0xd50244e8> (a java.util.concurrent.locks.ReentrantReadWriteLock$FairSync) at java.util.concurrent.locks.LockSupport.park(Unknown Source) at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(Unknown Source) at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(Unknown Source) at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(Unknown Source) at java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(Unknown Source) at com.lmco.fltwinds.wxserver.wcs.ScanningCoverage.getOffering(ScanningCoverage.java:286) at com.lmco.fltwinds.wxserver.wcs.ScanningCoverage.getCoverageOffering(ScanningCoverage.java:282) at com.luciad.ogc.wcs.server.f.a(SourceFile:124) at com.luciad.ogc.wcs.server.f.a(SourceFile:14) at com.luciad.ogc.wcs.server.f$c.handleRequest(SourceFile:155) at com.luciad.ogc.common.f.a(LuciadMap:41) at com.luciad.ogc.wcs.TLcdWCSServlet.a(LuciadMap:68) at com.luciad.ogc.wcs.TLcdWCSServlet.doGet(LuciadMap:99) at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) 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.core.StandardHostValve.invoke(StandardHostValve.java:127) 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:298) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Unknown Source) "http-8080-199" daemon prio=10 tid=0xcbca8400 nid=0xb5d waiting on condition [0xc5e0d000..0xc5e0de20] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0xd50244e8> (a java.util.concurrent.locks.ReentrantReadWriteLock$FairSync) at java.util.concurrent.locks.LockSupport.park(Unknown Source) I can include more if required. -----Original Message----- From: Pid [mailto:p...@pidster.com] Sent: Wednesday, November 17, 2010 3:57 PM To: Tomcat Users List Subject: EXTERNAL: Re: Tomcat hung On 17/11/2010 21:50, Robillard, Greg L wrote: > I continually get tomcat in this state and can only recover by restarting > tomcat from the command line. Here is the stack trace that I gathered while > getting into this state, but it does not make any sense to me. Production or testing? Are these the only threads? What happens if you jstack without attempting to connect a profiler? p > Tomcat version apache-tomcat-6.0.26 > > OS linux > > Jstack trace on tomcat hang. > Tomcat is not responding, nor any webapps. Profiler will not attach > > Attaching to process ID 21989, please wait... > Debugger attached successfully. > Server compiler detected. > JVM version is 10.0-b19 > Deadlock Detection: > > No deadlocks found. > > Thread 15911: (state = BLOCKED) > - > org.netbeans.lib.profiler.server.ProfilerRuntimeMemory.getAndSendCurre > ntStackTrace(char, char, int, long) @bci=0, line=218 (Compiled frame) > - > org.netbeans.lib.profiler.server.ProfilerRuntimeObjLiveness.traceObjAl > loc(java.lang.Object, char) @bci=158, line=278 (Compiled frame) > - > java.io.ObjectInputStream$BlockDataInputStream.<init>(java.io.ObjectIn > putStream, java.io.InputStream) @bci=91, line=2359 (Interpreted frame) > - java.io.ObjectInputStream.<init>(java.io.InputStream) @bci=25, > line=276 (Interpreted frame) > - sun.rmi.server.MarshalInputStream.<init>(java.io.InputStream) > @bci=2, line=107 (Interpreted frame) > - sun.rmi.transport.ConnectionInputStream.<init>(java.io.InputStream) > @bci=2, line=38 (Interpreted frame) > - sun.rmi.transport.StreamRemoteCall.getInputStream() @bci=32, > line=115 (Interpreted frame) > - sun.rmi.transport.Transport.serviceCall(java.rmi.server.RemoteCall) > @bci=1, line=124 (Interpreted frame) > - > sun.rmi.transport.tcp.TCPTransport.handleMessages(sun.rmi.transport.Co > nnection, boolean) @bci=217, line=541 (Compiled frame) > - sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0() > @bci=821, line=810 (Interpreted frame) > - sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run() @bci=58, > line=652 (Interpreted frame) > - > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(java.lang.Runna > ble) @bci=59, line=885 (Interpreted frame) > - java.util.concurrent.ThreadPoolExecutor$Worker.run() @bci=28, > line=907 (Interpreted frame) > - java.lang.Thread.run() @bci=11, line=619 (Interpreted frame) > > > Thread 12244: (state = BLOCKED) > - > org.netbeans.lib.profiler.server.ProfilerRuntimeMemory.getAndSendCurre > ntStackTrace(char, char, int, long) @bci=0, line=218 (Compiled frame) > - > org.netbeans.lib.profiler.server.ProfilerRuntimeObjLiveness.traceObjAl > loc(java.lang.Object, char) @bci=158, line=278 (Compiled frame) > - > java.io.ObjectInputStream$BlockDataInputStream.<init>(java.io.ObjectIn > putStream, java.io.InputStream) @bci=91, line=2359 (Interpreted frame) > - java.io.ObjectInputStream.<init>(java.io.InputStream) @bci=25, > line=276 (Interpreted frame) > - sun.rmi.server.MarshalInputStream.<init>(java.io.InputStream) > @bci=2, line=107 (Interpreted frame) > - sun.rmi.transport.ConnectionInputStream.<init>(java.io.InputStream) > @bci=2, line=38 (Interpreted frame) > - sun.rmi.transport.StreamRemoteCall.getInputStream() @bci=32, > line=115 (Interpreted frame) > - sun.rmi.transport.Transport.serviceCall(java.rmi.server.RemoteCall) > @bci=1, line=124 (Interpreted frame) > - > sun.rmi.transport.tcp.TCPTransport.handleMessages(sun.rmi.transport.Co > nnection, boolean) @bci=217, line=541 (Compiled frame) > - sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0() > @bci=821, line=810 (Interpreted frame) > - sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run() @bci=58, > line=652 (Interpreted frame) > - > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(java.lang.Runna > ble) @bci=59, line=885 (Interpreted frame) > - java.util.concurrent.ThreadPoolExecutor$Worker.run() @bci=28, > line=907 (Interpreted frame) > - java.lang.Thread.run() @bci=11, line=619 (Interpreted frame) > > > Thread 22760: (state = BLOCKED) > - java.lang.Object.wait(long) @bci=0 (Interpreted frame) > - java.lang.Object.wait() @bci=2, line=485 (Interpreted frame) > - java.util.TimerThread.mainLoop() @bci=28, line=483 (Interpreted > frame) > - java.util.TimerThread.run() @bci=1, line=462 (Interpreted frame) > > > Thread 3343: (state = BLOCKED) > - > org.netbeans.lib.profiler.server.ProfilerRuntimeMemory.getAndSendCurre > ntStackTrace(char, char, int, long) @bci=0, line=218 (Compiled frame) > - > org.netbeans.lib.profiler.server.ProfilerRuntimeObjLiveness.traceObjAl > loc(java.lang.Object, char) @bci=158, line=278 (Compiled frame) > - java.lang.String.valueOf(char[]) @bci=12, line=2841 (Interpreted > frame) > - java.lang.Thread.getName() @bci=4, line=1061 (Interpreted frame) > - > org.apache.catalina.connector.CoyoteAdapter.service(org.apache.coyote. > Request, org.apache.coyote.Response) @bci=120, line=295 (Interpreted > frame) > - org.apache.coyote.http11.Http11Processor.process(java.net.Socket) > @bci=468, line=852 (Interpreted frame) > - > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proces > s(java.net.Socket) @bci=82, line=588 (Interpreted frame) > - org.apache.tomcat.util.net.JIoEndpoint$Worker.run() @bci=41, > line=489 (Interpreted frame) > - java.lang.Thread.run() @bci=11, line=619 (Interpreted frame) > > > Thread 3255: (state = BLOCKED) > - java.lang.Object.wait(long) @bci=0 (Interpreted frame) > - java.lang.Object.wait() @bci=2, line=485 (Interpreted frame) > - org.apache.tomcat.util.net.JIoEndpoint$Worker.await() @bci=8, > line=458 (Interpreted frame) > - org.apache.tomcat.util.net.JIoEndpoint$Worker.run() @bci=11, > line=484 (Interpreted frame) > - java.lang.Thread.run() @bci=11, line=619 (Interpreted frame) > > > Thread 3202: (state = BLOCKED) > - java.lang.Object.wait(long) @bci=0 (Interpreted frame) > - java.lang.Object.wait() @bci=2, line=485 (Interpreted frame) > - org.apache.tomcat.util.net.JIoEndpoint$Worker.await() @bci=8, > line=458 (Interpreted frame) > - org.apache.tomcat.util.net.JIoEndpoint$Worker.run() @bci=11, > line=484 (Interpreted frame) > - java.lang.Thread.run() @bci=11, line=619 (Interpreted frame) > > > Thread 2805: (state = BLOCKED) > - java.lang.Object.wait(long) @bci=0 (Interpreted frame) > - java.lang.Object.wait() @bci=2, line=485 (Interpreted frame) > - org.apache.tomcat.util.net.JIoEndpoint$Worker.await() @bci=8, > line=458 (Interpreted frame) > - org.apache.tomcat.util.net.JIoEndpoint$Worker.run() @bci=11, > line=484 (Interpreted frame) > - java.lang.Thread.run() @bci=11, line=619 (Interpreted frame) > > > Thread 2721: (state = BLOCKED) > - java.lang.Object.wait(long) @bci=0 (Interpreted frame) > - java.lang.Object.wait() @bci=2, line=485 (Interpreted frame) > - org.apache.tomcat.util.net.JIoEndpoint$Worker.await() @bci=8, > line=458 (Interpreted frame) > - org.apache.tomcat.util.net.JIoEndpoint$Worker.run() @bci=11, > line=484 (Interpreted frame) > - java.lang.Thread.run() @bci=11, line=619 (Interpreted frame) > > > Thread 2372: (state = BLOCKED) > - java.lang.Object.wait(long) @bci=0 (Interpreted frame) > - java.lang.Object.wait() @bci=2, line=485 (Interpreted frame) > - org.apache.tomcat.util.net.JIoEndpoint$Worker.await() @bci=8, > line=458 (Interpreted frame) > - org.apache.tomcat.util.net.JIoEndpoint$Worker.run() @bci=11, > line=484 (Interpreted frame) > - java.lang.Thread.run() @bci=11, line=619 (Interpreted frame) > > > Thread 2143: (state = BLOCKED) > - java.lang.Object.wait(long) @bci=0 (Interpreted frame) > - java.lang.Object.wait() @bci=2, line=485 (Interpreted frame) > - org.apache.tomcat.util.net.JIoEndpoint$Worker.await() @bci=8, > line=458 (Interpreted frame) > - org.apache.tomcat.util.net.JIoEndpoint$Worker.run() @bci=11, > line=484 (Interpreted frame) > - java.lang.Thread.run() @bci=11, line=619 (Interpreted frame) > > > Thread 1621: (state = BLOCKED) > - java.lang.Object.wait(long) @bci=0 (Interpreted frame) > - java.lang.Object.wait() @bci=2, line=485 (Interpreted frame) > - org.apache.tomcat.util.net.JIoEndpoint$Worker.await() @bci=8, > line=458 (Interpreted frame) > - org.apache.tomcat.util.net.JIoEndpoint$Worker.run() @bci=11, > line=484 (Interpreted frame) > - java.lang.Thread.run() @bci=11, line=619 (Interpreted frame) > > > Thread 531: (state = BLOCKED) > - > org.netbeans.lib.profiler.server.ProfilerRuntimeMemory.writeObjGCEvent > (long) @bci=12, line=363 (Compiled frame) > - > org.netbeans.lib.profiler.server.ProfilerRuntimeObjLiveness.signalObjG > C(org.netbeans.lib.profiler.server.ProfilerRuntimeObjLiveness$Profiler > RuntimeObjLivenessWeakRef) @bci=13, line=233 (Compiled frame) > - > org.netbeans.lib.profiler.server.ProfilerRuntimeObjLiveness$ReferenceM > anagerThread.run() @bci=25, line=92 (Compiled frame) > > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org