7 Replies Latest reply on Jul 12, 2009 3:11 PM by Peter Johnson

    TomcatDeployment hangs when struts is configured in web.xml

    mattma Newbie

      Hi,
      I have an existing struts application using Struts 1.2.7. I'm trying to deploy an existing web application on Jboss 5.1.0 GA. As soon as I configure the struts action servlet in the web.xml, Jboss hangs at the console line:

      19:37:54,679 INFO [TomcatDeployment] deploy, ctxPath=/web

      When I take out the action servlet stuff in the web.xml, the server starts without any problems.

      I also tried removing all the action forward directives in the struts-config.xml leaving only one or two and the server still hangs.

      Using JDK 6 (java version "1.6.0_11")

      The Jboss 5.1.0 GA is *not* the JDK6 compiled version.

      Any thoughts on how I might go about figuring out what's going on here? I don't even have any error messages to look at.

      Thanks in advance,
      -Matt

        • 1. Re: TomcatDeployment hangs when struts is configured in web.
          jaikiran pai Master

           

          19:37:54,679 INFO [TomcatDeployment] deploy, ctxPath=/web


          That line does not indicated a hang. What exactly do you mean by the server hanging? The server.log will have more information about the activities. Also did you try accessing the server through the browser when this happens? What does it show?

          • 2. Re: TomcatDeployment hangs when struts is configured in web.
            Peter Johnson Master

            Also, if the app server is really hanging, take a thread dump - that should help to identify the code causing the problem.

            By the way, is it a "busy" hang (100% java CPU usage) or an "idle" hang (no java CPU usage)?

            • 3. Re: TomcatDeployment hangs when struts is configured in web.
              mattma Newbie

              Hi,

              Thanks for replying. To answer the questions:
              1. CPU usage is at 99%
              2. server.log shows the same thing as on the console:

              2009-07-09 11:07:34,040 INFO [org.jboss.ejb3.EJBContainer] (main) STARTED EJB: com.lightspoke.memory.persistence.msg.cache.CacheMessageB ejbName: CacheMessageB
              2009-07-09 11:07:34,059 INFO [org.jboss.web.tomcat.service.deployers.TomcatDeployment] (main) deploy, ctxPath=/web

              When struts is taken out of web.xml, you get the familiar jboss server started with startup time... message. When struts is configured in web.xml, you never get the jboss server started message. The web context is unavailable. After 450 seconds, jboss tools in eclipse gives message "server did not start within 450 seconds".

              Maybe hang is the wrong word here but either way, the web context does not finish deploying and jboss does not start.

              I don't know how to go about figuring out the issue here. boot.log doesn't give an info either - it looks pretty normal.

              How do I take a thread dump?

              Thanks,
              -Matt

              • 4. Re: TomcatDeployment hangs when struts is configured in web.
                mattma Newbie

                Oh one more thing, yes, did try to access server through browser. localhost:8080 and localhost:8080/web just keeps spinning without loading anything.

                Thanks,
                -Matt

                • 5. Re: TomcatDeployment hangs when struts is configured in web.
                  Peter Johnson Master

                  Regarding thread dump, let me google that for you: http://www.google.com/search?hl=en&q=java+thread+dump

                  Please do not post the result here. Instead, examine the thread dump looking for the busy thread(s). Then you will know what code is probably in a loop, though you might have to take several thread dumps a few seconds apart to verify this.

                  Also, until this is running, start the app server from the command line. Do not use Eclipse!!!

                  • 6. Re: TomcatDeployment hangs when struts is configured in web.
                    mattma Newbie

                    Hi,

                    Thanks for the tips, PeterJ. I did as you suggested. Running on the command line didn't get me any more info than the eclipse server plugin. But I did generate a thread dump after waiting about 15 seconds into it. I don't really know what I'm looking for though. I've included the thread dump below.

                    Thanks,

                    =====================

                    Full thread dump Java HotSpot(TM) Server VM (11.0-b16 mixed mode):

                    "Connection Consumer for dest JBossQueue[SqlQueue] id=6" daemon prio=10 tid=0x0b1e0800 nid=0x4880 in Object.wait() [0x758ad000..0x758adfb0]
                    java.lang.Thread.State: WAITING (on object monitor)
                    at java.lang.Object.wait(Native Method)
                    - waiting on <0x9fc7f800> (a java.lang.Object)
                    at java.lang.Object.wait(Object.java:485)
                    at org.jboss.jms.client.container.ClientConsumer.getMessage(ClientConsumer.java:866)
                    at org.jboss.jms.client.container.ClientConsumer.receive(ClientConsumer.java:506)
                    - locked <0x9fc7f800> (a java.lang.Object)
                    at org.jboss.jms.client.container.ConsumerAspect.handleReceive(ConsumerAspect.java:194)
                    at org.jboss.aop.advice.org.jboss.jms.client.container.ConsumerAspect_z_handleReceive_12864175.invoke(ConsumerAspect_z_handleReceive_12864175.java)
                    at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
                    at org.jboss.jms.client.container.ClosedInterceptor.invoke(ClosedInterceptor.java:170)
                    at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:86)
                    at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
                    at org.jboss.jms.client.delegate.ClientConsumerDelegate.receive(ClientConsumerDelegate.java)
                    at org.jboss.jms.client.JBossConnectionConsumer.run(JBossConnectionConsumer.java:248)
                    at java.lang.Thread.run(Thread.java:619)

                    "Connection Consumer for dest JBossQueue[CacheQueue] id=5" daemon prio=10 tid=0x7a1fdc00 nid=0x487f in Object.wait() [0x758fe000..0x758fef30]
                    java.lang.Thread.State: WAITING (on object monitor)
                    at java.lang.Object.wait(Native Method)
                    - waiting on <0x9fc98d00> (a java.lang.Object)
                    at java.lang.Object.wait(Object.java:485)
                    at org.jboss.jms.client.container.ClientConsumer.getMessage(ClientConsumer.java:866)
                    at org.jboss.jms.client.container.ClientConsumer.receive(ClientConsumer.java:506)
                    - locked <0x9fc98d00> (a java.lang.Object)
                    at org.jboss.jms.client.container.ConsumerAspect.handleReceive(ConsumerAspect.java:194)
                    at org.jboss.aop.advice.org.jboss.jms.client.container.ConsumerAspect_z_handleReceive_12864175.invoke(ConsumerAspect_z_handleReceive_12864175.java)
                    at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
                    at org.jboss.jms.client.container.ClosedInterceptor.invoke(ClosedInterceptor.java:170)
                    at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:86)
                    at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
                    at org.jboss.jms.client.delegate.ClientConsumerDelegate.receive(ClientConsumerDelegate.java)
                    at org.jboss.jms.client.JBossConnectionConsumer.run(JBossConnectionConsumer.java:248)
                    at java.lang.Thread.run(Thread.java:619)

                    "Thread-23" daemon prio=10 tid=0x0a836400 nid=0x487e waiting on condition [0x75b5c000..0x75b5ceb0]
                    java.lang.Thread.State: TIMED_WAITING (parking)
                    at sun.misc.Unsafe.park(Native Method)
                    - parking to wait for <0x9fc3ea10> (a java.util.concurrent.SynchronousQueue$TransferStack)
                    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
                    at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:424)
                    at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:323)
                    at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:874)
                    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:945)
                    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
                    at java.lang.Thread.run(Thread.java:619)

                    "Connection Consumer for dest JBossQueue[MetaDataDAOQueue] id=4" daemon prio=10 tid=0x12e69400 nid=0x487d in Object.wait() [0x75bad000..0x75bade30]
                    java.lang.Thread.State: WAITING (on object monitor)
                    at java.lang.Object.wait(Native Method)
                    - waiting on <0x9fca7d00> (a java.lang.Object)
                    at java.lang.Object.wait(Object.java:485)
                    at org.jboss.jms.client.container.ClientConsumer.getMessage(ClientConsumer.java:866)
                    at org.jboss.jms.client.container.ClientConsumer.receive(ClientConsumer.java:506)
                    - locked <0x9fca7d00> (a java.lang.Object)
                    at org.jboss.jms.client.container.ConsumerAspect.handleReceive(ConsumerAspect.java:194)
                    at org.jboss.aop.advice.org.jboss.jms.client.container.ConsumerAspect_z_handleReceive_12864175.invoke(ConsumerAspect_z_handleReceive_12864175.java)
                    at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
                    at org.jboss.jms.client.container.ClosedInterceptor.invoke(ClosedInterceptor.java:170)
                    at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:86)
                    at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
                    at org.jboss.jms.client.delegate.ClientConsumerDelegate.receive(ClientConsumerDelegate.java)
                    at org.jboss.jms.client.JBossConnectionConsumer.run(JBossConnectionConsumer.java:248)
                    at java.lang.Thread.run(Thread.java:619)

                    "Thread-22" daemon prio=10 tid=0x7a633400 nid=0x487c waiting on condition [0x75bfe000..0x75bfedb0]
                    java.lang.Thread.State: TIMED_WAITING (parking)
                    at sun.misc.Unsafe.park(Native Method)
                    - parking to wait for <0x9fc3ea10> (a java.util.concurrent.SynchronousQueue$TransferStack)
                    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
                    at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:424)
                    at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:323)
                    at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:874)
                    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:945)
                    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
                    at java.lang.Thread.run(Thread.java:619)

                    "Thread-21" daemon prio=10 tid=0x0d5d7000 nid=0x487b waiting on condition [0x75e5c000..0x75e5d130]
                    java.lang.Thread.State: TIMED_WAITING (parking)
                    at sun.misc.Unsafe.park(Native Method)
                    - parking to wait for <0x9fc3ea10> (a java.util.concurrent.SynchronousQueue$TransferStack)
                    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
                    at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:424)
                    at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:323)
                    at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:874)
                    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:945)
                    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
                    at java.lang.Thread.run(Thread.java:619)

                    "Connection Consumer for dest JBossQueue[UserQueue] id=3" daemon prio=10 tid=0x7a2b2c00 nid=0x487a in Object.wait() [0x7785c000..0x7785d0b0]
                    java.lang.Thread.State: WAITING (on object monitor)
                    at java.lang.Object.wait(Native Method)
                    - waiting on <0x9fcb6d00> (a java.lang.Object)
                    at java.lang.Object.wait(Object.java:485)
                    at org.jboss.jms.client.container.ClientConsumer.getMessage(ClientConsumer.java:866)
                    at org.jboss.jms.client.container.ClientConsumer.receive(ClientConsumer.java:506)
                    - locked <0x9fcb6d00> (a java.lang.Object)
                    at org.jboss.jms.client.container.ConsumerAspect.handleReceive(ConsumerAspect.java:194)
                    at org.jboss.aop.advice.org.jboss.jms.client.container.ConsumerAspect_z_handleReceive_12864175.invoke(ConsumerAspect_z_handleReceive_12864175.java)
                    at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
                    at org.jboss.jms.client.container.ClosedInterceptor.invoke(ClosedInterceptor.java:170)
                    at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:86)
                    at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
                    at org.jboss.jms.client.delegate.ClientConsumerDelegate.receive(ClientConsumerDelegate.java)
                    at org.jboss.jms.client.JBossConnectionConsumer.run(JBossConnectionConsumer.java:248)
                    at java.lang.Thread.run(Thread.java:619)

                    "Thread-20" daemon prio=10 tid=0x79aab400 nid=0x4879 waiting on condition [0x778ad000..0x778ae030]
                    java.lang.Thread.State: TIMED_WAITING (parking)
                    at sun.misc.Unsafe.park(Native Method)
                    - parking to wait for <0x9fc3ea10> (a java.util.concurrent.SynchronousQueue$TransferStack)
                    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
                    at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:424)
                    at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:323)
                    at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:874)
                    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:945)
                    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
                    at java.lang.Thread.run(Thread.java:619)

                    "Connection Consumer for dest JBossQueue[EventQueue] id=2" daemon prio=10 tid=0x7907f400 nid=0x4878 in Object.wait() [0x778fe000..0x778fefb0]
                    java.lang.Thread.State: WAITING (on object monitor)
                    at java.lang.Object.wait(Native Method)
                    - waiting on <0x9fcc5d00> (a java.lang.Object)
                    at java.lang.Object.wait(Object.java:485)
                    at org.jboss.jms.client.container.ClientConsumer.getMessage(ClientConsumer.java:866)
                    at org.jboss.jms.client.container.ClientConsumer.receive(ClientConsumer.java:506)
                    - locked <0x9fcc5d00> (a java.lang.Object)
                    at org.jboss.jms.client.container.ConsumerAspect.handleReceive(ConsumerAspect.java:194)
                    at org.jboss.aop.advice.org.jboss.jms.client.container.ConsumerAspect_z_handleReceive_12864175.invoke(ConsumerAspect_z_handleReceive_12864175.java)
                    at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
                    at org.jboss.jms.client.container.ClosedInterceptor.invoke(ClosedInterceptor.java:170)
                    at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:86)
                    at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
                    at org.jboss.jms.client.delegate.ClientConsumerDelegate.receive(ClientConsumerDelegate.java)
                    at org.jboss.jms.client.JBossConnectionConsumer.run(JBossConnectionConsumer.java:248)
                    at java.lang.Thread.run(Thread.java:619)

                    "Thread-19" daemon prio=10 tid=0x79e3c000 nid=0x4877 waiting on condition [0x7b761000..0x7b761f30]
                    java.lang.Thread.State: TIMED_WAITING (parking)
                    at sun.misc.Unsafe.park(Native Method)
                    - parking to wait for <0x9fc3ea10> (a java.util.concurrent.SynchronousQueue$TransferStack)
                    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
                    at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:424)
                    at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:323)
                    at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:874)
                    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:945)
                    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
                    at java.lang.Thread.run(Thread.java:619)

                    "Connection Consumer for dest JBossQueue[TemplateQueue] id=1" daemon prio=10 tid=0x108bf800 nid=0x4876 in Object.wait() [0x75ead000..0x75eadeb0]
                    java.lang.Thread.State: WAITING (on object monitor)
                    at java.lang.Object.wait(Native Method)
                    - waiting on <0x9fcd4d00> (a java.lang.Object)
                    at java.lang.Object.wait(Object.java:485)
                    at org.jboss.jms.client.container.ClientConsumer.getMessage(ClientConsumer.java:866)
                    at org.jboss.jms.client.container.ClientConsumer.receive(ClientConsumer.java:506)
                    - locked <0x9fcd4d00> (a java.lang.Object)
                    at org.jboss.jms.client.container.ConsumerAspect.handleReceive(ConsumerAspect.java:194)
                    at org.jboss.aop.advice.org.jboss.jms.client.container.ConsumerAspect_z_handleReceive_12864175.invoke(ConsumerAspect_z_handleReceive_12864175.java)
                    at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
                    at org.jboss.jms.client.container.ClosedInterceptor.invoke(ClosedInterceptor.java:170)
                    at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:86)
                    at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
                    at org.jboss.jms.client.delegate.ClientConsumerDelegate.receive(ClientConsumerDelegate.java)
                    at org.jboss.jms.client.JBossConnectionConsumer.run(JBossConnectionConsumer.java:248)
                    at java.lang.Thread.run(Thread.java:619)

                    "Thread-18" daemon prio=10 tid=0x1095e400 nid=0x4875 waiting on condition [0x75efe000..0x75efee30]
                    java.lang.Thread.State: TIMED_WAITING (parking)
                    at sun.misc.Unsafe.park(Native Method)
                    - parking to wait for <0x9fc3ea10> (a java.util.concurrent.SynchronousQueue$TransferStack)
                    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
                    at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:424)
                    at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:323)
                    at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:874)
                    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:945)
                    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
                    at java.lang.Thread.run(Thread.java:619)

                    "Timer-1" daemon prio=10 tid=0x11ea8000 nid=0x4874 in Object.wait() [0x7b7b2000..0x7b7b2db0]
                    java.lang.Thread.State: TIMED_WAITING (on object monitor)
                    at java.lang.Object.wait(Native Method)
                    - waiting on <0x9f6149b8> (a java.util.TaskQueue)
                    at java.util.TimerThread.mainLoop(Timer.java:509)
                    - locked <0x9f6149b8> (a java.util.TaskQueue)
                    at java.util.TimerThread.run(Timer.java:462)

                    "WorkManager(2)-7" daemon prio=10 tid=0x1271e000 nid=0x4873 waiting on condition [0x7b803000..0x7b804130]
                    java.lang.Thread.State: WAITING (parking)
                    at sun.misc.Unsafe.park(Native Method)
                    - parking to wait for <0x9c598b58> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
                    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
                    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
                    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:358)
                    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
                    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
                    at java.lang.Thread.run(Thread.java:619)

                    "WorkManager(2)-6" daemon prio=10 tid=0x10725400 nid=0x4872 waiting on condition [0x7ba80000..0x7ba810b0]
                    java.lang.Thread.State: WAITING (parking)
                    at sun.misc.Unsafe.park(Native Method)
                    - parking to wait for <0x9c598b58> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
                    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
                    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
                    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:358)
                    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
                    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
                    at java.lang.Thread.run(Thread.java:619)

                    "WorkManager(2)-5" daemon prio=10 tid=0x0a8d6000 nid=0x4871 waiting on condition [0x7ba2f000..0x7ba30030]
                    java.lang.Thread.State: WAITING (parking)
                    at sun.misc.Unsafe.park(Native Method)
                    - parking to wait for <0x9c598b58> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
                    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
                    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
                    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:358)
                    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
                    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
                    at java.lang.Thread.run(Thread.java:619)

                    "WorkManager(2)-4" daemon prio=10 tid=0x109cfc00 nid=0x4870 waiting on condition [0x7b9de000..0x7b9defb0]
                    java.lang.Thread.State: WAITING (parking)
                    at sun.misc.Unsafe.park(Native Method)
                    - parking to wait for <0x9c598b58> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
                    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
                    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
                    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:358)
                    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
                    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
                    at java.lang.Thread.run(Thread.java:619)

                    "WorkManager(2)-3" daemon prio=10 tid=0x0dbe6400 nid=0x486f waiting on condition [0x7b98d000..0x7b98df30]
                    java.lang.Thread.State: WAITING (parking)
                    at sun.misc.Unsafe.park(Native Method)
                    - parking to wait for <0x9c598b58> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
                    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
                    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
                    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:358)
                    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
                    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
                    at java.lang.Thread.run(Thread.java:619)

                    "WorkManager(2)-2" daemon prio=10 tid=0x1208b400 nid=0x486e waiting on condition [0x7b93c000..0x7b93ceb0]
                    java.lang.Thread.State: WAITING (parking)
                    at sun.misc.Unsafe.park(Native Method)
                    - parking to wait for <0x9c598b58> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
                    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
                    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
                    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:358)
                    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
                    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
                    at java.lang.Thread.run(Thread.java:619)

                    "Thread-16" daemon prio=10 tid=0x7e1a8000 nid=0x485f waiting on condition [0x7bad1000..0x7bad1fb0]
                    java.lang.Thread.State: TIMED_WAITING (parking)
                    at sun.misc.Unsafe.park(Native Method)
                    - parking to wait for <0x9dc007e8> (a java.util.concurrent.SynchronousQueue$TransferStack)
                    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
                    at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:424)
                    at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:323)
                    at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:874)
                    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:945)
                    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
                    at java.lang.Thread.run(Thread.java:619)

                    "Thread-15" daemon prio=10 tid=0x7cff8800 nid=0x485e waiting on condition [0x7bb22000..0x7bb22f30]
                    java.lang.Thread.State: TIMED_WAITING (sleeping)
                    at java.lang.Thread.sleep(Native Method)
                    at org.jboss.messaging.core.impl.memory.SimpleMemoryManager$MemoryRunnable.run(SimpleMemoryManager.java:126)
                    at java.lang.Thread.run(Thread.java:619)

                    "JCA PoolFiller" prio=10 tid=0x7e7e0c00 nid=0x485d in Object.wait() [0x7bb73000..0x7bb73eb0]
                    java.lang.Thread.State: WAITING (on object monitor)
                    at java.lang.Object.wait(Native Method)
                    - waiting on <0x9dba11f8> (a java.util.LinkedList)
                    at java.lang.Object.wait(Object.java:485)
                    at org.jboss.resource.connectionmanager.PoolFiller.run(PoolFiller.java:87)
                    - locked <0x9dba11f8> (a java.util.LinkedList)
                    at java.lang.Thread.run(Thread.java:619)

                    "HSQLDB Timer @1e17ae9" daemon prio=10 tid=0x81107400 nid=0x485c in Object.wait() [0x7bbc4000..0x7bbc4e30]
                    java.lang.Thread.State: TIMED_WAITING (on object monitor)
                    at java.lang.Object.wait(Native Method)
                    - waiting on <0x9d669708> (a org.hsqldb.lib.HsqlTimer$TaskQueue)
                    at org.hsqldb.lib.HsqlTimer$TaskQueue.park(Unknown Source)
                    - locked <0x9d669708> (a org.hsqldb.lib.HsqlTimer$TaskQueue)
                    at org.hsqldb.lib.HsqlTimer.nextTask(Unknown Source)
                    - locked <0x9d669708> (a org.hsqldb.lib.HsqlTimer$TaskQueue)
                    at org.hsqldb.lib.HsqlTimer$TaskRunner.run(Unknown Source)
                    at java.lang.Thread.run(Thread.java:619)

                    "DefaultQuartzScheduler_QuartzSchedulerThread" prio=10 tid=0x0d622000 nid=0x485b sleeping[0x7bc15000..0x7bc15db0]
                    java.lang.Thread.State: TIMED_WAITING (sleeping)
                    at java.lang.Thread.sleep(Native Method)
                    at org.quartz.core.QuartzSchedulerThread.run(QuartzSchedulerThread.java:394)

                    "DefaultQuartzScheduler_Worker-9" prio=10 tid=0x10014400 nid=0x485a in Object.wait() [0x7bc66000..0x7bc67130]
                    java.lang.Thread.State: TIMED_WAITING (on object monitor)
                    at java.lang.Object.wait(Native Method)
                    - waiting on <0x9d693b88> (a java.lang.Object)
                    at org.quartz.simpl.SimpleThreadPool.getNextRunnable(SimpleThreadPool.java:428)
                    - locked <0x9d693b88> (a java.lang.Object)
                    at org.quartz.simpl.SimpleThreadPool.access$000(SimpleThreadPool.java:47)
                    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:518)

                    "DefaultQuartzScheduler_Worker-8" prio=10 tid=0x0bd27c00 nid=0x4859 in Object.wait() [0x7bcb7000..0x7bcb80b0]
                    java.lang.Thread.State: TIMED_WAITING (on object monitor)
                    at java.lang.Object.wait(Native Method)
                    - waiting on <0x9d693b88> (a java.lang.Object)
                    at org.quartz.simpl.SimpleThreadPool.getNextRunnable(SimpleThreadPool.java:428)
                    - locked <0x9d693b88> (a java.lang.Object)
                    at org.quartz.simpl.SimpleThreadPool.access$000(SimpleThreadPool.java:47)
                    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:518)

                    "DefaultQuartzScheduler_Worker-7" prio=10 tid=0x0bd26400 nid=0x4858 in Object.wait() [0x7bd08000..0x7bd09030]
                    java.lang.Thread.State: TIMED_WAITING (on object monitor)
                    at java.lang.Object.wait(Native Method)
                    - waiting on <0x9d693b88> (a java.lang.Object)
                    at org.quartz.simpl.SimpleThreadPool.getNextRunnable(SimpleThreadPool.java:428)
                    - locked <0x9d693b88> (a java.lang.Object)
                    at org.quartz.simpl.SimpleThreadPool.access$000(SimpleThreadPool.java:47)
                    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:518)

                    "DefaultQuartzScheduler_Worker-6" prio=10 tid=0x0f355c00 nid=0x4857 in Object.wait() [0x7bd59000..0x7bd59fb0]
                    java.lang.Thread.State: TIMED_WAITING (on object monitor)
                    at java.lang.Object.wait(Native Method)
                    - waiting on <0x9d693b88> (a java.lang.Object)
                    at org.quartz.simpl.SimpleThreadPool.getNextRunnable(SimpleThreadPool.java:428)
                    - locked <0x9d693b88> (a java.lang.Object)
                    at org.quartz.simpl.SimpleThreadPool.access$000(SimpleThreadPool.java:47)
                    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:518)

                    "DefaultQuartzScheduler_Worker-5" prio=10 tid=0x0f156c00 nid=0x4856 in Object.wait() [0x7bdaa000..0x7bdaaf30]
                    java.lang.Thread.State: TIMED_WAITING (on object monitor)
                    at java.lang.Object.wait(Native Method)
                    - waiting on <0x9d693b88> (a java.lang.Object)
                    at org.quartz.simpl.SimpleThreadPool.getNextRunnable(SimpleThreadPool.java:428)
                    - locked <0x9d693b88> (a java.lang.Object)
                    at org.quartz.simpl.SimpleThreadPool.access$000(SimpleThreadPool.java:47)
                    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:518)

                    "DefaultQuartzScheduler_Worker-4" prio=10 tid=0x0d46c000 nid=0x4855 in Object.wait() [0x7bdfb000..0x7bdfbeb0]
                    java.lang.Thread.State: TIMED_WAITING (on object monitor)
                    at java.lang.Object.wait(Native Method)
                    - waiting on <0x9d693b88> (a java.lang.Object)
                    at org.quartz.simpl.SimpleThreadPool.getNextRunnable(SimpleThreadPool.java:428)
                    - locked <0x9d693b88> (a java.lang.Object)
                    at org.quartz.simpl.SimpleThreadPool.access$000(SimpleThreadPool.java:47)
                    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:518)

                    "DefaultQuartzScheduler_Worker-3" prio=10 tid=0x0f601c00 nid=0x4854 in Object.wait() [0x7be4c000..0x7be4ce30]
                    java.lang.Thread.State: TIMED_WAITING (on object monitor)
                    at java.lang.Object.wait(Native Method)
                    - waiting on <0x9d693b88> (a java.lang.Object)
                    at org.quartz.simpl.SimpleThreadPool.getNextRunnable(SimpleThreadPool.java:428)
                    - locked <0x9d693b88> (a java.lang.Object)
                    at org.quartz.simpl.SimpleThreadPool.access$000(SimpleThreadPool.java:47)
                    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:518)

                    "DefaultQuartzScheduler_Worker-2" prio=10 tid=0x0d652400 nid=0x4853 in Object.wait() [0x7be9d000..0x7be9ddb0]
                    java.lang.Thread.State: TIMED_WAITING (on object monitor)
                    at java.lang.Object.wait(Native Method)
                    - waiting on <0x9d693b88> (a java.lang.Object)
                    at org.quartz.simpl.SimpleThreadPool.getNextRunnable(SimpleThreadPool.java:428)
                    - locked <0x9d693b88> (a java.lang.Object)
                    at org.quartz.simpl.SimpleThreadPool.access$000(SimpleThreadPool.java:47)
                    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:518)

                    "DefaultQuartzScheduler_Worker-1" prio=10 tid=0x0a6e1c00 nid=0x4852 in Object.wait() [0x7beee000..0x7beef130]
                    java.lang.Thread.State: TIMED_WAITING (on object monitor)
                    at java.lang.Object.wait(Native Method)
                    - waiting on <0x9d693b88> (a java.lang.Object)
                    at org.quartz.simpl.SimpleThreadPool.getNextRunnable(SimpleThreadPool.java:428)
                    - locked <0x9d693b88> (a java.lang.Object)
                    at org.quartz.simpl.SimpleThreadPool.access$000(SimpleThreadPool.java:47)
                    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:518)

                    "DefaultQuartzScheduler_Worker-0" prio=10 tid=0x0eeddc00 nid=0x4851 in Object.wait() [0x7bf3f000..0x7bf400b0]
                    java.lang.Thread.State: TIMED_WAITING (on object monitor)
                    at java.lang.Object.wait(Native Method)
                    - waiting on <0x9d693b88> (a java.lang.Object)
                    at org.quartz.simpl.SimpleThreadPool.getNextRunnable(SimpleThreadPool.java:428)
                    - locked <0x9d693b88> (a java.lang.Object)
                    at org.quartz.simpl.SimpleThreadPool.access$000(SimpleThreadPool.java:47)
                    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:518)

                    "WorkManager(2)-1" daemon prio=10 tid=0x0eeca000 nid=0x4850 waiting on condition [0x7bf90000..0x7bf91030]
                    java.lang.Thread.State: WAITING (parking)
                    at sun.misc.Unsafe.park(Native Method)
                    - parking to wait for <0x9d75bf60> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
                    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
                    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
                    at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:220)
                    at org.jboss.resource.adapter.mail.inflow.NewMsgsWorker.run(NewMsgsWorker.java:76)
                    at org.jboss.resource.work.WorkWrapper.execute(WorkWrapper.java:205)
                    at org.jboss.util.threadpool.BasicTaskWrapper.run(BasicTaskWrapper.java:260)
                    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
                    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
                    at java.lang.Thread.run(Thread.java:619)

                    "AOPListner" daemon prio=10 tid=0x0ee7a800 nid=0x484f waiting on condition [0x7bfe1000..0x7bfe1fb0]
                    java.lang.Thread.State: TIMED_WAITING (sleeping)
                    at java.lang.Thread.sleep(Native Method)
                    at org.jboss.console.plugins.AOPLister$RefreshPoller.run(AOPLister.java:898)

                    "ContainerBackgroundProcessor[StandardEngine[jboss.web]]" daemon prio=10 tid=0x0b519000 nid=0x484e waiting on condition [0x827ba000..0x827baf30]
                    java.lang.Thread.State: TIMED_WAITING (sleeping)
                    at java.lang.Thread.sleep(Native Method)
                    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1590)
                    at java.lang.Thread.run(Thread.java:619)

                    "PooledInvokerAcceptor#0-4445" prio=10 tid=0x0defbc00 nid=0x484d runnable [0x7c032000..0x7c032eb0]
                    java.lang.Thread.State: RUNNABLE
                    at java.net.PlainSocketImpl.socketAccept(Native Method)
                    at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
                    - locked <0x9d0bfd60> (a java.net.SocksSocketImpl)
                    at java.net.ServerSocket.implAccept(ServerSocket.java:453)
                    at java.net.ServerSocket.accept(ServerSocket.java:421)
                    at org.jboss.invocation.pooled.server.PooledInvoker.run(PooledInvoker.java:262)
                    at java.lang.Thread.run(Thread.java:619)

                    "RMI TCP Accept-4444" daemon prio=10 tid=0x0b86b000 nid=0x484c runnable [0x7c083000..0x7c083e30]
                    java.lang.Thread.State: RUNNABLE
                    at java.net.PlainSocketImpl.socketAccept(Native Method)
                    at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
                    - locked <0x9d02add8> (a java.net.SocksSocketImpl)
                    at java.net.ServerSocket.implAccept(ServerSocket.java:453)
                    at java.net.ServerSocket.accept(ServerSocket.java:421)
                    at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:369)
                    at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:341)
                    at java.lang.Thread.run(Thread.java:619)

                    "Thread-12" prio=10 tid=0x0dbc6c00 nid=0x484b in Object.wait() [0x7c0d4000..0x7c0d4db0]
                    java.lang.Thread.State: TIMED_WAITING (on object monitor)
                    at java.lang.Object.wait(Native Method)
                    - waiting on <0x9d15bf98> (a java.lang.Object)
                    at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.doPeriodicWait(PeriodicRecovery.java:675)
                    at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.run(PeriodicRecovery.java:434)
                    - locked <0x9d15bf98> (a java.lang.Object)

                    "Listener:4712" daemon prio=10 tid=0x101e0000 nid=0x484a runnable [0x7c125000..0x7c126130]
                    java.lang.Thread.State: RUNNABLE
                    at java.net.PlainSocketImpl.socketAccept(Native Method)
                    at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
                    - locked <0x9cf5a810> (a java.net.SocksSocketImpl)
                    at java.net.ServerSocket.implAccept(ServerSocket.java:453)
                    at java.net.ServerSocket.accept(ServerSocket.java:421)
                    at com.arjuna.ats.internal.arjuna.recovery.Listener.run(Listener.java:118)

                    "Thread-11" daemon prio=10 tid=0x0dbf9000 nid=0x4848 waiting on condition [0x7c176000..0x7c177030]
                    java.lang.Thread.State: TIMED_WAITING (sleeping)
                    at java.lang.Thread.sleep(Native Method)
                    at com.arjuna.ats.internal.arjuna.recovery.ExpiredEntryMonitor.run(ExpiredEntryMonitor.java:237)

                    "Thread-10" daemon prio=10 tid=0x0a2c3400 nid=0x4847 in Object.wait() [0x7c1c7000..0x7c1c7fb0]
                    java.lang.Thread.State: WAITING (on object monitor)
                    at java.lang.Object.wait(Native Method)
                    - waiting on <0x9cf5c048> (a java.util.LinkedList)
                    at java.lang.Object.wait(Object.java:485)
                    at com.arjuna.ats.arjuna.coordinator.TransactionReaper.waitForCancellations(TransactionReaper.java:504)
                    - locked <0x9cf5c048> (a java.util.LinkedList)
                    at com.arjuna.ats.internal.arjuna.coordinator.ReaperWorkerThread.run(ReaperWorkerThread.java:74)

                    "Thread-9" daemon prio=10 tid=0x0d286800 nid=0x4846 in Object.wait() [0x7c218000..0x7c218f30]
                    java.lang.Thread.State: TIMED_WAITING (on object monitor)
                    at java.lang.Object.wait(Native Method)
                    - waiting on <0x9cf5bf28> (a com.arjuna.ats.arjuna.coordinator.TransactionReaper)
                    at com.arjuna.ats.internal.arjuna.coordinator.ReaperThread.run(ReaperThread.java:98)
                    - locked <0x9cf5bf28> (a com.arjuna.ats.arjuna.coordinator.TransactionReaper)

                    "Listener:4713" daemon prio=10 tid=0x0e2e6c00 nid=0x4845 runnable [0x7c269000..0x7c269eb0]
                    java.lang.Thread.State: RUNNABLE
                    at java.net.PlainSocketImpl.socketAccept(Native Method)
                    at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
                    - locked <0x9cf5d698> (a java.net.SocksSocketImpl)
                    at java.net.ServerSocket.implAccept(ServerSocket.java:453)
                    at java.net.ServerSocket.accept(ServerSocket.java:421)
                    at com.arjuna.ats.internal.arjuna.recovery.Listener.run(Listener.java:118)

                    "AcceptorThread[ServerSocket[addr=/127.0.0.1,port=0,localport=4446]]" prio=10 tid=0x0d28b000 nid=0x4840 runnable [0x7c2ba000..0x7c2bae30]
                    java.lang.Thread.State: RUNNABLE
                    at java.net.PlainSocketImpl.socketAccept(Native Method)
                    at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
                    - locked <0x9ca84e68> (a java.net.SocksSocketImpl)
                    at java.net.ServerSocket.implAccept(ServerSocket.java:453)
                    at java.net.ServerSocket.accept(ServerSocket.java:421)
                    at org.jboss.remoting.transport.socket.SocketServerInvoker.accept(SocketServerInvoker.java:1109)
                    at org.jboss.remoting.transport.socket.SocketServerInvoker.access$200(SocketServerInvoker.java:70)
                    at org.jboss.remoting.transport.socket.SocketServerInvoker$AcceptThread.run(SocketServerInvoker.java:1020)

                    "ServerSocketRefresh" daemon prio=10 tid=0x100bec00 nid=0x483f in Object.wait() [0x82755000..0x82755db0]
                    java.lang.Thread.State: WAITING (on object monitor)
                    at java.lang.Object.wait(Native Method)
                    - waiting on <0x9ca8cb60> (a java.lang.Object)
                    at java.lang.Object.wait(Object.java:485)
                    at org.jboss.remoting.transport.socket.SocketServerInvoker$ServerSocketRefresh.run(SocketServerInvoker.java:844)
                    - locked <0x9ca8cb60> (a java.lang.Object)

                    "HDScanner" prio=10 tid=0x7e087800 nid=0x483c waiting on condition [0x7c30b000..0x7c30c130]
                    java.lang.Thread.State: TIMED_WAITING (parking)
                    at sun.misc.Unsafe.park(Native Method)
                    - parking to wait for <0x9c596208> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
                    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
                    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1963)
                    at java.util.concurrent.DelayQueue.take(DelayQueue.java:164)
                    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:583)
                    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:576)
                    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
                    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
                    at java.lang.Thread.run(Thread.java:619)

                    "AcceptorThread[ServerSocket[addr=/127.0.0.1,port=0,localport=3873]]" prio=10 tid=0x7f53dc00 nid=0x483b runnable [0x7c35c000..0x7c35d0b0]
                    java.lang.Thread.State: RUNNABLE
                    at java.net.PlainSocketImpl.socketAccept(Native Method)
                    at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
                    - locked <0x9c6075c0> (a java.net.SocksSocketImpl)
                    at java.net.ServerSocket.implAccept(ServerSocket.java:453)
                    at java.net.ServerSocket.accept(ServerSocket.java:421)
                    at org.jboss.remoting.transport.socket.SocketServerInvoker.accept(SocketServerInvoker.java:1109)
                    at org.jboss.remoting.transport.socket.SocketServerInvoker.access$200(SocketServerInvoker.java:70)
                    at org.jboss.remoting.transport.socket.SocketServerInvoker$AcceptThread.run(SocketServerInvoker.java:1020)

                    "ServerSocketRefresh" daemon prio=10 tid=0x80151c00 nid=0x483a in Object.wait() [0x7c3ad000..0x7c3ae030]
                    java.lang.Thread.State: WAITING (on object monitor)
                    at java.lang.Object.wait(Native Method)
                    - waiting on <0x9c607b30> (a java.lang.Object)
                    at java.lang.Object.wait(Object.java:485)
                    at org.jboss.remoting.transport.socket.SocketServerInvoker$ServerSocketRefresh.run(SocketServerInvoker.java:844)
                    - locked <0x9c607b30> (a java.lang.Object)

                    "secondaryServerSocketThread[0]" daemon prio=10 tid=0x7e0cac00 nid=0x4839 runnable [0x7c3fe000..0x7c3fefb0]
                    java.lang.Thread.State: RUNNABLE
                    at java.net.PlainSocketImpl.socketAccept(Native Method)
                    at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
                    - locked <0x9c2228b8> (a java.net.SocksSocketImpl)
                    at java.net.ServerSocket.implAccept(ServerSocket.java:453)
                    at java.net.ServerSocket.accept(ServerSocket.java:421)
                    at org.jboss.remoting.transport.bisocket.BisocketServerInvoker$SecondaryServerSocketThread$1.run(BisocketServerInvoker.java:1110)
                    at java.security.AccessController.doPrivileged(Native Method)
                    at org.jboss.remoting.transport.bisocket.BisocketServerInvoker$SecondaryServerSocketThread.run(BisocketServerInvoker.java:1106)

                    "AcceptorThread[ServerSocket[addr=/127.0.0.1,port=0,localport=4457]]" prio=10 tid=0x7f289800 nid=0x4838 runnable [0x7c55c000..0x7c55cf30]
                    java.lang.Thread.State: RUNNABLE
                    at java.net.PlainSocketImpl.socketAccept(Native Method)
                    at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
                    - locked <0x9c225838> (a java.net.SocksSocketImpl)
                    at java.net.ServerSocket.implAccept(ServerSocket.java:453)
                    at java.net.ServerSocket.accept(ServerSocket.java:421)
                    at org.jboss.remoting.transport.socket.SocketServerInvoker.accept(SocketServerInvoker.java:1109)
                    at org.jboss.remoting.transport.socket.SocketServerInvoker.access$200(SocketServerInvoker.java:70)
                    at org.jboss.remoting.transport.socket.SocketServerInvoker$AcceptThread.run(SocketServerInvoker.java:1020)

                    "ServerSocketRefresh" daemon prio=10 tid=0x8266d000 nid=0x4837 in Object.wait() [0x7c5ad000..0x7c5adeb0]
                    java.lang.Thread.State: WAITING (on object monitor)
                    at java.lang.Object.wait(Native Method)
                    - waiting on <0x9c226fb8> (a java.lang.Object)
                    at java.lang.Object.wait(Object.java:485)
                    at org.jboss.remoting.transport.socket.SocketServerInvoker$ServerSocketRefresh.run(SocketServerInvoker.java:844)
                    - locked <0x9c226fb8> (a java.lang.Object)

                    "RMI TCP Connection(idle)" daemon prio=10 tid=0x0b6b7400 nid=0x4836 waiting on condition [0x7c5fe000..0x7c5fee30]
                    java.lang.Thread.State: TIMED_WAITING (parking)
                    at sun.misc.Unsafe.park(Native Method)
                    - parking to wait for <0x9686c348> (a java.util.concurrent.SynchronousQueue$TransferStack)
                    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
                    at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:424)
                    at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:323)
                    at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:874)
                    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:945)
                    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
                    at java.lang.Thread.run(Thread.java:619)

                    "RMI RenewClean-[127.0.0.1:32818]" daemon prio=10 tid=0x0b86bc00 nid=0x4835 in Object.wait() [0x8135c000..0x8135cdb0]
                    java.lang.Thread.State: TIMED_WAITING (on object monitor)
                    at java.lang.Object.wait(Native Method)
                    - waiting on <0x9c390b38> (a java.lang.ref.ReferenceQueue$Lock)
                    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
                    - locked <0x9c390b38> (a java.lang.ref.ReferenceQueue$Lock)
                    at sun.rmi.transport.DGCClient$EndpointEntry$RenewCleanThread.run(DGCClient.java:516)
                    at java.lang.Thread.run(Thread.java:619)

                    "RMI Scheduler(0)" daemon prio=10 tid=0x7c933000 nid=0x4834 waiting on condition [0x813ad000..0x813ae130]
                    java.lang.Thread.State: TIMED_WAITING (parking)
                    at sun.misc.Unsafe.park(Native Method)
                    - parking to wait for <0x9686f878> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
                    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
                    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1963)
                    at java.util.concurrent.DelayQueue.take(DelayQueue.java:164)
                    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:583)
                    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:576)
                    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
                    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
                    at java.lang.Thread.run(Thread.java:619)

                    "RMI TCP Connection(idle)" daemon prio=10 tid=0x0ff6d800 nid=0x4833 waiting on condition [0x813fe000..0x813ff0b0]
                    java.lang.Thread.State: TIMED_WAITING (parking)

                    • 7. Re: TomcatDeployment hangs when struts is configured in web.
                      Peter Johnson Master

                      Ignore all threads that start with any of the following:

                      java.lang.Thread.State: WAITING (on object monitor)
                      at java.lang.Object.wait(Native Method)
                      ...
                      java.lang.Thread.State: TIMED_WAITING (parking)
                      at sun.misc.Unsafe.park(Native Method)
                      ...
                      java.lang.Thread.State: RUNNABLE
                      at java.net.PlainSocketImpl.socketAccept(Native Method)

                      Such threads are not running - they are waiting for input to do anything. You are looking for a thread that is not waiting.

                      It is best if you filter out the waiting threads and post only running threads.