<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"><meta name="Generator" content="Microsoft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
span.EmailStyle17
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.EmailStyle18
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style></head><body lang="EN-US" link="blue" vlink="purple"><div class="WordSection1"><p class="MsoNormal"><span style="color:#1f497d">Here is a thread dump of my Tomcat process at the point when it is hanging on shutdown. There are a number of threads in a “waiting on condition” state that appear to have to do with the netty package on which the Freeswitch client is dependent.</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d">2011-12-21 09:05:17</span></p><p class="MsoNormal">
<span style="color:#1f497d">Full thread dump Java HotSpot(TM) Client VM (14.3-b01 mixed mode):</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d">"DestroyJavaVM" prio=6 tid=0x546f7400 nid=0x640 waiting on condition [0x00000000]</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> java.lang.Thread.State: RUNNABLE</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d"> Locked ownable synchronizers:</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> - None</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d">"pool-5-thread-16" prio=6 tid=0x544b5800 nid=0x1098 waiting on condition [0x55e4f000]</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> java.lang.Thread.State: TIMED_WAITING (parking)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at sun.misc.Unsafe.park(Native Method)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at org.jboss.netty.util.internal.LinkedTransferQueue.awaitMatch(LinkedTransferQueue.java:766)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at org.jboss.netty.util.internal.LinkedTransferQueue.xfer(LinkedTransferQueue.java:673)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at org.jboss.netty.util.internal.LinkedTransferQueue.poll(LinkedTransferQueue.java:1164)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.lang.Thread.run(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d"> Locked ownable synchronizers:</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> - None</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d">"pool-5-thread-15" prio=6 tid=0x54f7f400 nid=0x10f0 waiting on condition [0x54e5f000]</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> java.lang.Thread.State: TIMED_WAITING (parking)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at sun.misc.Unsafe.park(Native Method)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at org.jboss.netty.util.internal.LinkedTransferQueue.awaitMatch(LinkedTransferQueue.java:766)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at org.jboss.netty.util.internal.LinkedTransferQueue.xfer(LinkedTransferQueue.java:673)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at org.jboss.netty.util.internal.LinkedTransferQueue.poll(LinkedTransferQueue.java:1164)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.lang.Thread.run(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d"> Locked ownable synchronizers:</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> - None</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d">"pool-5-thread-14" prio=6 tid=0x544b3c00 nid=0xdb4 waiting on condition [0x5670f000]</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> java.lang.Thread.State: TIMED_WAITING (parking)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at sun.misc.Unsafe.park(Native Method)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at org.jboss.netty.util.internal.LinkedTransferQueue.awaitMatch(LinkedTransferQueue.java:766)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at org.jboss.netty.util.internal.LinkedTransferQueue.xfer(LinkedTransferQueue.java:673)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at org.jboss.netty.util.internal.LinkedTransferQueue.poll(LinkedTransferQueue.java:1164)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.lang.Thread.run(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d"> Locked ownable synchronizers:</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> - None</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d">"pool-5-thread-13" prio=6 tid=0x544b4000 nid=0x12c8 waiting on condition [0x566bf000]</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> java.lang.Thread.State: TIMED_WAITING (parking)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at sun.misc.Unsafe.park(Native Method)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at org.jboss.netty.util.internal.LinkedTransferQueue.awaitMatch(LinkedTransferQueue.java:766)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at org.jboss.netty.util.internal.LinkedTransferQueue.xfer(LinkedTransferQueue.java:673)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at org.jboss.netty.util.internal.LinkedTransferQueue.poll(LinkedTransferQueue.java:1164)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.lang.Thread.run(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d"> Locked ownable synchronizers:</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> - None</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d">"pool-5-thread-12" prio=6 tid=0x544b4800 nid=0xe18 waiting on condition [0x5666f000]</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> java.lang.Thread.State: TIMED_WAITING (parking)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at sun.misc.Unsafe.park(Native Method)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at org.jboss.netty.util.internal.LinkedTransferQueue.awaitMatch(LinkedTransferQueue.java:766)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at org.jboss.netty.util.internal.LinkedTransferQueue.xfer(LinkedTransferQueue.java:673)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at org.jboss.netty.util.internal.LinkedTransferQueue.poll(LinkedTransferQueue.java:1164)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.lang.Thread.run(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d"> Locked ownable synchronizers:</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> - None</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d">"pool-5-thread-11" prio=6 tid=0x544b3000 nid=0x620 waiting on condition [0x5661f000]</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> java.lang.Thread.State: TIMED_WAITING (parking)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at sun.misc.Unsafe.park(Native Method)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at org.jboss.netty.util.internal.LinkedTransferQueue.awaitMatch(LinkedTransferQueue.java:766)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at org.jboss.netty.util.internal.LinkedTransferQueue.xfer(LinkedTransferQueue.java:673)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at org.jboss.netty.util.internal.LinkedTransferQueue.poll(LinkedTransferQueue.java:1164)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.lang.Thread.run(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d"> Locked ownable synchronizers:</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> - None</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d">"pool-5-thread-10" prio=6 tid=0x552a1800 nid=0x131c waiting on condition [0x565cf000]</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> java.lang.Thread.State: TIMED_WAITING (parking)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at sun.misc.Unsafe.park(Native Method)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at org.jboss.netty.util.internal.LinkedTransferQueue.awaitMatch(LinkedTransferQueue.java:766)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at org.jboss.netty.util.internal.LinkedTransferQueue.xfer(LinkedTransferQueue.java:673)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at org.jboss.netty.util.internal.LinkedTransferQueue.poll(LinkedTransferQueue.java:1164)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.lang.Thread.run(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d"> Locked ownable synchronizers:</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> - None</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d">"pool-5-thread-9" prio=6 tid=0x552a1400 nid=0x1710 waiting on condition [0x5657f000]</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> java.lang.Thread.State: TIMED_WAITING (parking)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at sun.misc.Unsafe.park(Native Method)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at org.jboss.netty.util.internal.LinkedTransferQueue.awaitMatch(LinkedTransferQueue.java:766)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at org.jboss.netty.util.internal.LinkedTransferQueue.xfer(LinkedTransferQueue.java:673)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at org.jboss.netty.util.internal.LinkedTransferQueue.poll(LinkedTransferQueue.java:1164)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.lang.Thread.run(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d"> Locked ownable synchronizers:</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> - None</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d">"pool-5-thread-8" prio=6 tid=0x552a0c00 nid=0x1094 waiting on condition [0x5652f000]</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> java.lang.Thread.State: TIMED_WAITING (parking)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at sun.misc.Unsafe.park(Native Method)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at org.jboss.netty.util.internal.LinkedTransferQueue.awaitMatch(LinkedTransferQueue.java:766)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at org.jboss.netty.util.internal.LinkedTransferQueue.xfer(LinkedTransferQueue.java:673)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at org.jboss.netty.util.internal.LinkedTransferQueue.poll(LinkedTransferQueue.java:1164)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.lang.Thread.run(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d"> Locked ownable synchronizers:</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> - None</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d">"pool-5-thread-7" prio=6 tid=0x552a0800 nid=0x1040 waiting on condition [0x564df000]</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> java.lang.Thread.State: TIMED_WAITING (parking)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at sun.misc.Unsafe.park(Native Method)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at org.jboss.netty.util.internal.LinkedTransferQueue.awaitMatch(LinkedTransferQueue.java:766)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at org.jboss.netty.util.internal.LinkedTransferQueue.xfer(LinkedTransferQueue.java:673)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at org.jboss.netty.util.internal.LinkedTransferQueue.poll(LinkedTransferQueue.java:1164)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.lang.Thread.run(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d"> Locked ownable synchronizers:</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> - None</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d">"pool-5-thread-6" prio=6 tid=0x552a0000 nid=0x179c waiting on condition [0x5648f000]</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> java.lang.Thread.State: TIMED_WAITING (parking)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at sun.misc.Unsafe.park(Native Method)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at org.jboss.netty.util.internal.LinkedTransferQueue.awaitMatch(LinkedTransferQueue.java:766)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at org.jboss.netty.util.internal.LinkedTransferQueue.xfer(LinkedTransferQueue.java:673)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at org.jboss.netty.util.internal.LinkedTransferQueue.poll(LinkedTransferQueue.java:1164)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.lang.Thread.run(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d"> Locked ownable synchronizers:</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> - None</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d">"pool-5-thread-5" prio=6 tid=0x5529fc00 nid=0x3e4 waiting on condition [0x5643f000]</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> java.lang.Thread.State: TIMED_WAITING (parking)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at sun.misc.Unsafe.park(Native Method)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at org.jboss.netty.util.internal.LinkedTransferQueue.awaitMatch(LinkedTransferQueue.java:766)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at org.jboss.netty.util.internal.LinkedTransferQueue.xfer(LinkedTransferQueue.java:673)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at org.jboss.netty.util.internal.LinkedTransferQueue.poll(LinkedTransferQueue.java:1164)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.lang.Thread.run(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d"> Locked ownable synchronizers:</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> - None</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d">"pool-5-thread-4" prio=6 tid=0x5529f400 nid=0x63c waiting on condition [0x563ef000]</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> java.lang.Thread.State: TIMED_WAITING (parking)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at sun.misc.Unsafe.park(Native Method)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at org.jboss.netty.util.internal.LinkedTransferQueue.awaitMatch(LinkedTransferQueue.java:766)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at org.jboss.netty.util.internal.LinkedTransferQueue.xfer(LinkedTransferQueue.java:673)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at org.jboss.netty.util.internal.LinkedTransferQueue.poll(LinkedTransferQueue.java:1164)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.lang.Thread.run(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d"> Locked ownable synchronizers:</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> - None</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d">"pool-5-thread-3" prio=6 tid=0x5529f000 nid=0x17e8 waiting on condition [0x5639f000]</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> java.lang.Thread.State: TIMED_WAITING (parking)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at sun.misc.Unsafe.park(Native Method)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at org.jboss.netty.util.internal.LinkedTransferQueue.awaitMatch(LinkedTransferQueue.java:766)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at org.jboss.netty.util.internal.LinkedTransferQueue.xfer(LinkedTransferQueue.java:673)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at org.jboss.netty.util.internal.LinkedTransferQueue.poll(LinkedTransferQueue.java:1164)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.lang.Thread.run(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d"> Locked ownable synchronizers:</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> - None</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d">"pool-5-thread-2" prio=6 tid=0x5529e800 nid=0x574 waiting on condition [0x5634f000]</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> java.lang.Thread.State: TIMED_WAITING (parking)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at sun.misc.Unsafe.park(Native Method)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at org.jboss.netty.util.internal.LinkedTransferQueue.awaitMatch(LinkedTransferQueue.java:766)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at org.jboss.netty.util.internal.LinkedTransferQueue.xfer(LinkedTransferQueue.java:673)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at org.jboss.netty.util.internal.LinkedTransferQueue.poll(LinkedTransferQueue.java:1164)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.lang.Thread.run(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d"> Locked ownable synchronizers:</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> - None</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d">"pool-4-thread-1" prio=6 tid=0x5529e400 nid=0x10cc waiting on condition [0x562ff000]</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> java.lang.Thread.State: TIMED_WAITING (parking)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at sun.misc.Unsafe.park(Native Method)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> - parking to wait for <0x09970378> (a java.util.concurrent.SynchronousQueue$TransferStack)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.SynchronousQueue$TransferStack.transfer(Unknown Source)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.SynchronousQueue.poll(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at java.lang.Thread.run(Unknown Source)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d"> Locked ownable synchronizers:</span></p><p class="MsoNormal"><span style="color:#1f497d"> - None</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d">"pool-3-thread-1" prio=6 tid=0x546f8800 nid=0x654 waiting on condition [0x562af000]</span></p><p class="MsoNormal">
<span style="color:#1f497d"> java.lang.Thread.State: TIMED_WAITING (parking)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at sun.misc.Unsafe.park(Native Method)</span></p><p class="MsoNormal">
<span style="color:#1f497d"> - parking to wait for <0x09970580> (a java.util.concurrent.SynchronousQueue$TransferStack)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.SynchronousQueue$TransferStack.transfer(Unknown Source)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.SynchronousQueue.poll(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at java.lang.Thread.run(Unknown Source)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d"> Locked ownable synchronizers:</span></p><p class="MsoNormal"><span style="color:#1f497d"> - None</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d">"pool-5-thread-1" prio=6 tid=0x546f8000 nid=0x594 waiting on condition [0x5625f000]</span></p><p class="MsoNormal">
<span style="color:#1f497d"> java.lang.Thread.State: TIMED_WAITING (parking)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at sun.misc.Unsafe.park(Native Method)</span></p><p class="MsoNormal">
<span style="color:#1f497d"> at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at org.jboss.netty.util.internal.LinkedTransferQueue.awaitMatch(LinkedTransferQueue.java:766)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at org.jboss.netty.util.internal.LinkedTransferQueue.xfer(LinkedTransferQueue.java:673)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at org.jboss.netty.util.internal.LinkedTransferQueue.poll(LinkedTransferQueue.java:1164)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.lang.Thread.run(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d"> Locked ownable synchronizers:</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> - None</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d">"RMI TCP Connection(2)-10.0.0.22" daemon prio=6 tid=0x551db800 nid=0xf6c runnable [0x5593f000]</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> java.lang.Thread.State: RUNNABLE</span></p><p class="MsoNormal"><span style="color:#1f497d"> at java.net.SocketInputStream.socketRead0(Native Method)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.net.SocketInputStream.read(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at java.io.BufferedInputStream.fill(Unknown Source)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.io.BufferedInputStream.read(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> - locked <0x08f5c2d0> (a java.io.BufferedInputStream)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.io.FilterInputStream.read(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.lang.Thread.run(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d"> Locked ownable synchronizers:</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> - <0x08f62b10> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal">
<span style="color:#1f497d">"JMX server connection timeout 22" daemon prio=6 tid=0x5474fc00 nid=0x424 in Object.wait() [0x558ef000]</span></p><p class="MsoNormal"><span style="color:#1f497d"> java.lang.Thread.State: TIMED_WAITING (on object monitor)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.lang.Object.wait(Native Method)</span></p><p class="MsoNormal"><span style="color:#1f497d"> - waiting on <0x08e9bdb0> (a [I)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at com.sun.jmx.remote.internal.ServerCommunicatorAdmin$Timeout.run(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> - locked <0x08e9bdb0> (a [I)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.lang.Thread.run(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d"> Locked ownable synchronizers:</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> - None</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d">"RMI Scheduler(0)" daemon prio=6 tid=0x5511d400 nid=0x1420 waiting on condition [0x5589f000]</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> java.lang.Thread.State: TIMED_WAITING (parking)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at sun.misc.Unsafe.park(Native Method)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> - parking to wait for <0x08e9bdd0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.DelayQueue.take(Unknown Source)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.lang.Thread.run(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d"> Locked ownable synchronizers:</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> - None</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d">"RMI TCP Connection(idle)" daemon prio=6 tid=0x55176800 nid=0x884 waiting on condition [0x557ff000]</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> java.lang.Thread.State: TIMED_WAITING (parking)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at sun.misc.Unsafe.park(Native Method)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> - parking to wait for <0x08ebd088> (a java.util.concurrent.SynchronousQueue$TransferStack)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.SynchronousQueue$TransferStack.transfer(Unknown Source)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.SynchronousQueue.poll(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at java.lang.Thread.run(Unknown Source)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d"> Locked ownable synchronizers:</span></p><p class="MsoNormal"><span style="color:#1f497d"> - None</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d">"RMI TCP Accept-0" daemon prio=6 tid=0x5518bc00 nid=0x163c runnable [0x557af000]</span></p><p class="MsoNormal">
<span style="color:#1f497d"> java.lang.Thread.State: RUNNABLE</span></p><p class="MsoNormal"><span style="color:#1f497d"> at java.net.PlainSocketImpl.socketAccept(Native Method)</span></p><p class="MsoNormal">
<span style="color:#1f497d"> at java.net.PlainSocketImpl.accept(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> - locked <0x08e9e158> (a java.net.SocksSocketImpl)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.net.ServerSocket.implAccept(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at java.net.ServerSocket.accept(Unknown Source)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at sun.management.jmxremote.LocalRMIServerSocketFactory$1.accept(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(Unknown Source)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at java.lang.Thread.run(Unknown Source)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d"> Locked ownable synchronizers:</span></p><p class="MsoNormal"><span style="color:#1f497d"> - None</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d">"GC Daemon" daemon prio=2 tid=0x5464b000 nid=0x1718 in Object.wait() [0x5497f000]</span></p><p class="MsoNormal">
<span style="color:#1f497d"> java.lang.Thread.State: TIMED_WAITING (on object monitor)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at java.lang.Object.wait(Native Method)</span></p><p class="MsoNormal">
<span style="color:#1f497d"> - waiting on <0x089b1270> (a sun.misc.GC$LatencyLock)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at sun.misc.GC$Daemon.run(Unknown Source)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> - locked <0x089b1270> (a sun.misc.GC$LatencyLock)</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d"> Locked ownable synchronizers:</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> - None</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d">"Low Memory Detector" daemon prio=6 tid=0x01a12c00 nid=0x14fc runnable [0x00000000]</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> java.lang.Thread.State: RUNNABLE</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d"> Locked ownable synchronizers:</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> - None</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d">"CompilerThread0" daemon prio=10 tid=0x01a0f800 nid=0x1ec waiting on condition [0x00000000]</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> java.lang.Thread.State: RUNNABLE</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d"> Locked ownable synchronizers:</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> - None</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d">"JDWP Event Helper Thread" daemon prio=6 tid=0x01a01400 nid=0x173c runnable [0x00000000]</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> java.lang.Thread.State: RUNNABLE</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d"> Locked ownable synchronizers:</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> - None</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d">"Attach Listener" daemon prio=10 tid=0x019f5000 nid=0x13a4 waiting on condition [0x00000000]</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> java.lang.Thread.State: RUNNABLE</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d"> Locked ownable synchronizers:</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> - None</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d">"Signal Dispatcher" daemon prio=10 tid=0x019ea000 nid=0x17b8 runnable [0x00000000]</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> java.lang.Thread.State: RUNNABLE</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d"> Locked ownable synchronizers:</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> - None</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d">"Finalizer" daemon prio=8 tid=0x019bb400 nid=0x1720 in Object.wait() [0x53fcf000]</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> java.lang.Thread.State: WAITING (on object monitor)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at java.lang.Object.wait(Native Method)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> - waiting on <0x089b2858> (a java.lang.ref.ReferenceQueue$Lock)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at java.lang.ref.ReferenceQueue.remove(Unknown Source)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> - locked <0x089b2858> (a java.lang.ref.ReferenceQueue$Lock)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at java.lang.ref.ReferenceQueue.remove(Unknown Source)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d"> Locked ownable synchronizers:</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> - None</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d">"Reference Handler" daemon prio=10 tid=0x019ba000 nid=0x53c in Object.wait() [0x53f7f000]</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> java.lang.Thread.State: WAITING (on object monitor)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at java.lang.Object.wait(Native Method)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> - waiting on <0x089b2878> (a java.lang.ref.Reference$Lock)</span></p><p class="MsoNormal"><span style="color:#1f497d"> at java.lang.Object.wait(Object.java:485)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source)</span></p><p class="MsoNormal"><span style="color:#1f497d"> - locked <0x089b2878> (a java.lang.ref.Reference$Lock)</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d"> Locked ownable synchronizers:</span></p><p class="MsoNormal"><span style="color:#1f497d"> - None</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d">"VM Thread" prio=10 tid=0x019b7400 nid=0xab8 runnable </span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p>
<p class="MsoNormal"><span style="color:#1f497d">"VM Periodic Task Thread" prio=10 tid=0x01a1bc00 nid=0xc7c waiting on condition </span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal">
<span style="color:#1f497d">JNI global references: 21240</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><div><div style="border:none;border-top:solid #b5c4df 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> <a href="mailto:freeswitch-users-bounces@lists.freeswitch.org">freeswitch-users-bounces@lists.freeswitch.org</a> [mailto:<a href="mailto:freeswitch-users-bounces@lists.freeswitch.org">freeswitch-users-bounces@lists.freeswitch.org</a>] <b>On Behalf Of </b>Hector Geraldino<br>
<b>Sent:</b> Monday, December 19, 2011 8:29 AM<br><b>To:</b> FreeSWITCH Users Help<br><b>Subject:</b> Re: [Freeswitch-users] Threads remain after calling close on Java client</span></p></div></div><p class="MsoNormal"> </p>
<p class="MsoNormal"><span style="color:#1f497d">Hi Neil,</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d">Can you get a thread dump of the tomcat process to try to figure out what this problem is about? Or at least, try to connect the jconsole to the tomcat process and get the StackTrace of one of these threads to have a better idea of what is going on.</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d">IIRC I’ve fixed a couple of bugs for this library, but the patches haven’t been tested by the main developer (dvarnes) nor integrated on the repository (freeswitch-contrib). If this problem can be fixed with my patched code, I would be happy to share it with you.</span></p>
<p class="MsoNormal"><span style="color:#1f497d"> </span></p><p class="MsoNormal"><span style="color:#1f497d">Good luck!</span></p><p class="MsoNormal"><span style="color:#1f497d"> </span></p><div><div style="border:none;border-top:solid #b5c4df 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> <a href="mailto:freeswitch-users-bounces@lists.freeswitch.org">freeswitch-users-bounces@lists.freeswitch.org</a> <a href="mailto:[mailto:freeswitch-users-bounces@lists.freeswitch.org]">[mailto:freeswitch-users-bounces@lists.freeswitch.org]</a> <b>On Behalf Of </b>Neil Davis<br>
<b>Sent:</b> Friday, December 16, 2011 7:09 PM<br><b>To:</b> <a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br><b>Subject:</b> [Freeswitch-users] Threads remain after calling close on Java client</span></p>
</div></div><p class="MsoNormal"> </p><p class="MsoNormal">Hi,</p><p class="MsoNormal"> </p><p class="MsoNormal">I built a web application that connects to Freeswitch using the org.freeswitch.esl.client.Client. I connect the Client object from a Spring annotated service that I call from a Spring controller. I put the connected client in my ServletContext, so I can access it later to call client.cancelEventSubscriptions() and client.close() from my ServletContextListener contextDestroyed method when Tomcat is shutting down.</p>
<p class="MsoNormal"> </p><p class="MsoNormal">The problem I'm having is that even after I call close on the client, there are still a bunch of active threads that the client has spawned in the background. These threads are causing Tomcat to hang when I'm shutting down. Can anyone suggest an approach that would enable my application to disconnect the Freeswitch client when Tomcat is shutting down that would allow Tomcat to shutdown gracefully?</p>
<p class="MsoNormal"> </p><p class="MsoNormal">Below are errors from my Tomcat log for the threads that I have identified as being related to the Freeswitch client. I don't know how I can get to these threads to interrupt them and Client.close() seems to leave them hanging.</p>
<p class="MsoNormal"> </p><p class="MsoNormal">Dec 16, 2011 12:04:59 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads</p><p class="MsoNormal">SEVERE: The web application [/socketspy] appears to have started a thread named [pool-5-thread-1] but has failed to stop it. This is very likely to create a memory leak.</p>
<p class="MsoNormal">Dec 16, 2011 12:04:59 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads</p><p class="MsoNormal">SEVERE: The web application [/socketspy] appears to have started a thread named [pool-3-thread-1] but has failed to stop it. This is very likely to create a memory leak.</p>
<p class="MsoNormal">Dec 16, 2011 12:04:59 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads</p><p class="MsoNormal">SEVERE: The web application [/socketspy] appears to have started a thread named [pool-4-thread-1] but has failed to stop it. This is very likely to create a memory leak.</p>
<p class="MsoNormal">Dec 16, 2011 12:04:59 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads</p><p class="MsoNormal">SEVERE: The web application [/socketspy] appears to have started a thread named [pool-5-thread-2] but has failed to stop it. This is very likely to create a memory leak.</p>
<p class="MsoNormal">Dec 16, 2011 12:04:59 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads</p><p class="MsoNormal">SEVERE: The web application [/socketspy] appears to have started a thread named [pool-5-thread-3] but has failed to stop it. This is very likely to create a memory leak.</p>
<p class="MsoNormal">Dec 16, 2011 12:04:59 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads</p><p class="MsoNormal">SEVERE: The web application [/socketspy] appears to have started a thread named [pool-5-thread-4] but has failed to stop it. This is very likely to create a memory leak.</p>
<p class="MsoNormal">Dec 16, 2011 12:04:59 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads</p><p class="MsoNormal">SEVERE: The web application [/socketspy] appears to have started a thread named [pool-5-thread-5] but has failed to stop it. This is very likely to create a memory leak.</p>
<p class="MsoNormal">Dec 16, 2011 12:04:59 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads</p><p class="MsoNormal">SEVERE: The web application [/socketspy] appears to have started a thread named [pool-5-thread-6] but has failed to stop it. This is very likely to create a memory leak.</p>
<p class="MsoNormal">Dec 16, 2011 12:04:59 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads</p><p class="MsoNormal">SEVERE: The web application [/socketspy] appears to have started a thread named [pool-5-thread-7] but has failed to stop it. This is very likely to create a memory leak.</p>
<p class="MsoNormal">Dec 16, 2011 12:04:59 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads</p><p class="MsoNormal">SEVERE: The web application [/socketspy] appears to have started a thread named [pool-5-thread-8] but has failed to stop it. This is very likely to create a memory leak.</p>
<p class="MsoNormal">Dec 16, 2011 12:04:59 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads</p><p class="MsoNormal">SEVERE: The web application [/socketspy] appears to have started a thread named [pool-5-thread-9] but has failed to stop it. This is very likely to create a memory leak.</p>
<p class="MsoNormal">Dec 16, 2011 12:04:59 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads</p><p class="MsoNormal">SEVERE: The web application [/socketspy] appears to have started a thread named [pool-5-thread-10] but has failed to stop it. This is very likely to create a memory leak.</p>
<p class="MsoNormal">Dec 16, 2011 12:04:59 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads</p><p class="MsoNormal">SEVERE: The web application [/socketspy] appears to have started a thread named [pool-5-thread-11] but has failed to stop it. This is very likely to create a memory leak.</p>
<p class="MsoNormal">Dec 16, 2011 12:04:59 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads</p><p class="MsoNormal">SEVERE: The web application [/socketspy] appears to have started a thread named [pool-5-thread-12] but has failed to stop it. This is very likely to create a memory leak.</p>
<p class="MsoNormal">Dec 16, 2011 12:04:59 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads</p><p class="MsoNormal">SEVERE: The web application [/socketspy] appears to have started a thread named [pool-5-thread-13] but has failed to stop it. This is very likely to create a memory leak.</p>
<p class="MsoNormal">Dec 16, 2011 12:04:59 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads</p><p class="MsoNormal">SEVERE: The web application [/socketspy] appears to have started a thread named [pool-5-thread-14] but has failed to stop it. This is very likely to create a memory leak.</p>
<p class="MsoNormal">Dec 16, 2011 12:04:59 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads</p><p class="MsoNormal">SEVERE: The web application [/socketspy] appears to have started a thread named [pool-5-thread-15] but has failed to stop it. This is very likely to create a memory leak.</p>
<p class="MsoNormal">Dec 16, 2011 12:04:59 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads</p><p class="MsoNormal">SEVERE: The web application [/socketspy] appears to have started a thread named [pool-5-thread-16] but has failed to stop it. This is very likely to create a memory leak.</p>
<p class="MsoNormal">Dec 16, 2011 12:04:59 PM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks</p><p class="MsoNormal">SEVERE: The web application [/socketspy] created a ThreadLocal with key of type [org.jboss.netty.util.internal.ThreadLocalBoolean] (value [org.jboss.netty.util.internal.ThreadLocalBoolean@186e192]) and a value of type [java.lang.Boolean] (value [false]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak. </p>
<p class="MsoNormal">Dec 16, 2011 12:04:59 PM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks</p><p class="MsoNormal">SEVERE: The web application [/socketspy] created a ThreadLocal with key of type [org.jboss.netty.util.CharsetUtil$1] (value [org.jboss.netty.util.CharsetUtil$1@14d8e1]) and a value of type [java.util.IdentityHashMap] (value [{windows-1252=sun.nio.cs.MS1252$Encoder@373f86}]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak. </p>
<p class="MsoNormal">Dec 16, 2011 12:04:59 PM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks</p><p class="MsoNormal">SEVERE: The web application [/socketspy] created a ThreadLocal with key of type [org.jboss.netty.util.internal.ThreadLocalRandom$1] (value [org.jboss.netty.util.internal.ThreadLocalRandom$1@12bb519]) and a value of type [org.jboss.netty.util.internal.ThreadLocalRandom] (value [org.jboss.netty.util.internal.ThreadLocalRandom@7e9dbc]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak. </p>
<p class="MsoNormal">Dec 16, 2011 12:04:59 PM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks</p><p class="MsoNormal">SEVERE: The web application [/socketspy] created a ThreadLocal with key of type [org.jboss.netty.util.CharsetUtil$1] (value [org.jboss.netty.util.CharsetUtil$1@14d8e1]) and a value of type [java.util.IdentityHashMap] (value [{windows-1252=sun.nio.cs.MS1252$Encoder@a5b041}]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak. </p>
<p class="MsoNormal"> </p><p class="MsoNormal"> </p><p class="MsoNormal">Thanks,</p><p class="MsoNormal"> </p><p class="MsoNormal">Neil Davis</p></div></body></html>