In your full production trace, is there an indication which thread has the "<0xd50244e8>" lock?
I've debugged similar situations where threads were "blocked waiting for monitor <0x.....>" (getting java.sql.Connections, as it turned out) -- identifying & examining the thread that had locked that monitor (with a message something like "grabbed monitor <0x....>") helped quite a bit w/debugging. On Thu, Nov 18, 2010 at 10:35 AM, Robillard, Greg L <greg.l.robill...@lmco.com> wrote: > 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. --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org