I just downloaded Wave to take a look at it, and it seems that I'm running into a similar problem to the one Dudley Fox reported back in 2010: https://mail-archives.apache.org/mod_mbox/incubator-wave-dev/201012.mbox/%3caanlktimu5kedldmhgzmuozhjumv0fqqracby9d-rj...@mail.gmail.com%3E
However, if I run jstack, I don't see any threads with FlashSocketTransport in their stacks --- I admit I'm unfamiliar enough with Java that I might be missing something. So this seems like possibly a distinct problem from Dudley Fox's, or maybe Wave is just hitting it in WebSocketClient instead of FlashSocketTransport now? Also, although it appears to be hung, it's using a lot of CPU. Does anyone have an idea what might be wrong here or how I could go about getting more useful debug info? My Java version is openjdk 7 from FreeBSD's precompiled packages collection; the OS is FreeBSD 10.2-STABLE on amd64: $ java -version openjdk version "1.7.0_80" OpenJDK Runtime Environment (build 1.7.0_80-b15) OpenJDK 64-Bit Server VM (build 24.80-b11, mixed mode) $ git branch -lv * master 1a4a7ff Adds mapping to include com.typsesafe packages in the distributable. Here's jstack's output: 2015-09-09 12:13:38 Full thread dump OpenJDK 64-Bit Server VM (24.80-b11 mixed mode): "Attach Listener" daemon prio=5 tid=0x0000000801887800 nid=0x801852000 waiting on condition [0x0000000000000000] java.lang.Thread.State: RUNNABLE "WebSocketClient@736686535-scheduler" prio=5 tid=0x000000082e0c3000 nid=0x82e749c00 waiting on condition [0x00007fffde0de000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x000000081a3a7b60> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1079) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:807) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) "WebSocketClient@736686535-33" prio=5 tid=0x000000082e143000 nid=0x83a66a000 waiting on condition [0x00007fffde1df000] java.lang.Thread.State: TIMED_WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x000000081a3a7cf8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2082) at org.eclipse.jetty.util.BlockingArrayQueue.poll(BlockingArrayQueue.java:389) at org.eclipse.jetty.util.thread.QueuedThreadPool.idleJobPoll(QueuedThreadPool.java:513) at org.eclipse.jetty.util.thread.QueuedThreadPool.access$700(QueuedThreadPool.java:48) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:569) at java.lang.Thread.run(Thread.java:745) "WebSocketClient@736686535-32" prio=5 tid=0x000000082e142000 nid=0x83a669400 waiting on condition [0x00007fffde2e0000] java.lang.Thread.State: TIMED_WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x000000081a3a7cf8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2082) at org.eclipse.jetty.util.BlockingArrayQueue.poll(BlockingArrayQueue.java:389) at org.eclipse.jetty.util.thread.QueuedThreadPool.idleJobPoll(QueuedThreadPool.java:513) at org.eclipse.jetty.util.thread.QueuedThreadPool.access$700(QueuedThreadPool.java:48) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:569) at java.lang.Thread.run(Thread.java:745) "WebSocketClient@736686535-31" prio=5 tid=0x000000082e141800 nid=0x83a668800 waiting on condition [0x00007fffde3e1000] java.lang.Thread.State: TIMED_WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x000000081a3a7cf8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2082) at org.eclipse.jetty.util.BlockingArrayQueue.poll(BlockingArrayQueue.java:389) at org.eclipse.jetty.util.thread.QueuedThreadPool.idleJobPoll(QueuedThreadPool.java:513) at org.eclipse.jetty.util.thread.QueuedThreadPool.access$700(QueuedThreadPool.java:48) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:569) at java.lang.Thread.run(Thread.java:745) "WebSocketClient@736686535-30" prio=5 tid=0x000000082e140800 nid=0x83a667c00 waiting on condition [0x00007fffde4e2000] java.lang.Thread.State: TIMED_WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x000000081a3a7cf8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2082) at org.eclipse.jetty.util.BlockingArrayQueue.poll(BlockingArrayQueue.java:389) at org.eclipse.jetty.util.thread.QueuedThreadPool.idleJobPoll(QueuedThreadPool.java:513) at org.eclipse.jetty.util.thread.QueuedThreadPool.access$700(QueuedThreadPool.java:48) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:569) at java.lang.Thread.run(Thread.java:745) "WebSocketClient@736686535-29" prio=5 tid=0x000000082e140000 nid=0x83a667800 waiting on condition [0x00007fffde5e3000] java.lang.Thread.State: TIMED_WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x000000081a3a7cf8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2082) at org.eclipse.jetty.util.BlockingArrayQueue.poll(BlockingArrayQueue.java:389) at org.eclipse.jetty.util.thread.QueuedThreadPool.idleJobPoll(QueuedThreadPool.java:513) at org.eclipse.jetty.util.thread.QueuedThreadPool.access$700(QueuedThreadPool.java:48) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:569) at java.lang.Thread.run(Thread.java:745) "WebSocketClient@736686535-28" prio=5 tid=0x000000082e13f000 nid=0x83a667400 waiting on condition [0x00007fffde6e4000] java.lang.Thread.State: TIMED_WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x000000081a3a7cf8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2082) at org.eclipse.jetty.util.BlockingArrayQueue.poll(BlockingArrayQueue.java:389) at org.eclipse.jetty.util.thread.QueuedThreadPool.idleJobPoll(QueuedThreadPool.java:513) at org.eclipse.jetty.util.thread.QueuedThreadPool.access$700(QueuedThreadPool.java:48) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:569) at java.lang.Thread.run(Thread.java:745) "WebSocketClient@736686535-27" prio=5 tid=0x000000083a6cf800 nid=0x83a667000 waiting on condition [0x00007fffde7e5000] java.lang.Thread.State: TIMED_WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x000000081a3a7cf8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2082) at org.eclipse.jetty.util.BlockingArrayQueue.poll(BlockingArrayQueue.java:389) at org.eclipse.jetty.util.thread.QueuedThreadPool.idleJobPoll(QueuedThreadPool.java:513) at org.eclipse.jetty.util.thread.QueuedThreadPool.access$700(QueuedThreadPool.java:48) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:569) at java.lang.Thread.run(Thread.java:745) "WebSocketClient@736686535-26-selector-WebSocketClientSelectorManager@471a880f/0" prio=5 tid=0x000000082dd51800 nid=0x801851400 runnable [0x00007fffde8e6000] java.lang.Thread.State: RUNNABLE at sun.nio.ch.KQueueArrayWrapper.kevent0(Native Method) at sun.nio.ch.KQueueArrayWrapper.poll(KQueueArrayWrapper.java:200) at sun.nio.ch.KQueueSelectorImpl.doSelect(KQueueSelectorImpl.java:103) at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87) - locked <0x000000081a3a81f0> (a sun.nio.ch.Util$2) - locked <0x000000081a3e30f0> (a java.util.Collections$UnmodifiableSet) - locked <0x000000081a3c6118> (a sun.nio.ch.KQueueSelectorImpl) at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98) at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:102) at org.eclipse.jetty.io.SelectorManager$ManagedSelector.select(SelectorManager.java:531) at org.eclipse.jetty.io.SelectorManager$ManagedSelector.run(SelectorManager.java:484) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:607) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:536) at java.lang.Thread.run(Thread.java:745) "Atmosphere-Scheduler-0" daemon prio=5 tid=0x000000082dd50800 nid=0x801850800 waiting on condition [0x00007fffdeae8000] java.lang.Thread.State: TIMED_WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x0000000811a6a4b0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2082) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1090) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:807) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) "Scheduler-843223596" prio=5 tid=0x000000082dd50000 nid=0x82bc15400 waiting on condition [0x00007fffdedeb000] java.lang.Thread.State: TIMED_WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x0000000811a20640> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2082) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1090) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:807) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) "qtp1231863817-19" prio=5 tid=0x000000082dd4f000 nid=0x82bc15000 waiting on condition [0x00007fffdeeec000] java.lang.Thread.State: TIMED_WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x0000000811966320> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2082) at org.eclipse.jetty.util.BlockingArrayQueue.poll(BlockingArrayQueue.java:389) at org.eclipse.jetty.util.thread.QueuedThreadPool.idleJobPoll(QueuedThreadPool.java:513) at org.eclipse.jetty.util.thread.QueuedThreadPool.access$700(QueuedThreadPool.java:48) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:569) at java.lang.Thread.run(Thread.java:745) "qtp1231863817-18" prio=5 tid=0x000000082dd4e800 nid=0x82bc14400 waiting on condition [0x00007fffdefed000] java.lang.Thread.State: TIMED_WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x0000000811966320> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2082) at org.eclipse.jetty.util.BlockingArrayQueue.poll(BlockingArrayQueue.java:389) at org.eclipse.jetty.util.thread.QueuedThreadPool.idleJobPoll(QueuedThreadPool.java:513) at org.eclipse.jetty.util.thread.QueuedThreadPool.access$700(QueuedThreadPool.java:48) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:569) at java.lang.Thread.run(Thread.java:745) "qtp1231863817-17" prio=5 tid=0x000000082dd4d800 nid=0x82bc13800 waiting on condition [0x00007fffdf0ee000] java.lang.Thread.State: TIMED_WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x0000000811966320> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2082) at org.eclipse.jetty.util.BlockingArrayQueue.poll(BlockingArrayQueue.java:389) at org.eclipse.jetty.util.thread.QueuedThreadPool.idleJobPoll(QueuedThreadPool.java:513) at org.eclipse.jetty.util.thread.QueuedThreadPool.access$700(QueuedThreadPool.java:48) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:569) at java.lang.Thread.run(Thread.java:745) "qtp1231863817-16" prio=5 tid=0x000000082dd4d000 nid=0x82bc12c00 waiting on condition [0x00007fffdf1ef000] java.lang.Thread.State: TIMED_WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x0000000811966320> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2082) at org.eclipse.jetty.util.BlockingArrayQueue.poll(BlockingArrayQueue.java:389) at org.eclipse.jetty.util.thread.QueuedThreadPool.idleJobPoll(QueuedThreadPool.java:513) at org.eclipse.jetty.util.thread.QueuedThreadPool.access$700(QueuedThreadPool.java:48) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:569) at java.lang.Thread.run(Thread.java:745) "qtp1231863817-15" prio=5 tid=0x000000082dd4c000 nid=0x82bc12000 waiting on condition [0x00007fffdf2f0000] java.lang.Thread.State: TIMED_WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x0000000811966320> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2082) at org.eclipse.jetty.util.BlockingArrayQueue.poll(BlockingArrayQueue.java:389) at org.eclipse.jetty.util.thread.QueuedThreadPool.idleJobPoll(QueuedThreadPool.java:513) at org.eclipse.jetty.util.thread.QueuedThreadPool.access$700(QueuedThreadPool.java:48) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:569) at java.lang.Thread.run(Thread.java:745) "qtp1231863817-14" prio=5 tid=0x0000000801888800 nid=0x82bc11400 waiting on condition [0x00007fffdf3f1000] java.lang.Thread.State: TIMED_WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x0000000811966320> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2082) at org.eclipse.jetty.util.BlockingArrayQueue.poll(BlockingArrayQueue.java:389) at org.eclipse.jetty.util.thread.QueuedThreadPool.idleJobPoll(QueuedThreadPool.java:513) at org.eclipse.jetty.util.thread.QueuedThreadPool.access$700(QueuedThreadPool.java:48) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:569) at java.lang.Thread.run(Thread.java:745) "qtp1231863817-13-acceptor-0-ServerConnector@598b9ab8{HTTP/1.1}{127.0.0.1:57092}" prio=5 tid=0x0000000801887000 nid=0x82bc10c00 runnable [0x00007fffdf4f2000] java.lang.Thread.State: RUNNABLE at sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method) at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:250) - locked <0x000000081a3a8510> (a java.lang.Object) at org.eclipse.jetty.server.ServerConnector.accept(ServerConnector.java:336) at org.eclipse.jetty.server.AbstractConnector$Acceptor.run(AbstractConnector.java:466) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:607) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:536) at java.lang.Thread.run(Thread.java:745) "qtp1231863817-12-selector-ServerConnectorManager@e8013ce/0" prio=5 tid=0x0000000801886000 nid=0x801850400 runnable [0x00007fffdf5f3000] java.lang.Thread.State: RUNNABLE at sun.nio.ch.KQueueArrayWrapper.kevent0(Native Method) at sun.nio.ch.KQueueArrayWrapper.poll(KQueueArrayWrapper.java:200) at sun.nio.ch.KQueueSelectorImpl.doSelect(KQueueSelectorImpl.java:103) at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87) - locked <0x000000081a3a85c8> (a sun.nio.ch.Util$2) - locked <0x000000081a3a85d8> (a java.util.Collections$UnmodifiableSet) - locked <0x000000081a3a8578> (a sun.nio.ch.KQueueSelectorImpl) at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98) at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:102) at org.eclipse.jetty.io.SelectorManager$ManagedSelector.select(SelectorManager.java:531) at org.eclipse.jetty.io.SelectorManager$ManagedSelector.run(SelectorManager.java:484) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:607) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:536) at java.lang.Thread.run(Thread.java:745) "com.google.inject.internal.util.$Finalizer" daemon prio=5 tid=0x0000000801885800 nid=0x82bc10800 in Object.wait() [0x00007fffdf6f4000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x0000000811941378> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135) - locked <0x0000000811941378> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:151) at com.google.inject.internal.util.$Finalizer.run(Finalizer.java:114) "Service Thread" daemon prio=5 tid=0x000000080187f800 nid=0x80184c000 runnable [0x0000000000000000] java.lang.Thread.State: RUNNABLE "C2 CompilerThread1" daemon prio=5 tid=0x000000080187e800 nid=0x80184b400 waiting on condition [0x0000000000000000] java.lang.Thread.State: RUNNABLE "C2 CompilerThread0" daemon prio=5 tid=0x000000080187e000 nid=0x80184ac00 waiting on condition [0x0000000000000000] java.lang.Thread.State: RUNNABLE "Signal Dispatcher" daemon prio=5 tid=0x000000080187d000 nid=0x80184a000 runnable [0x0000000000000000] java.lang.Thread.State: RUNNABLE "Finalizer" daemon prio=5 tid=0x000000080187c800 nid=0x801849000 in Object.wait() [0x00007fffdfcfa000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x00000008114cf8a8> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135) - locked <0x00000008114cf8a8> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:151) at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209) "Reference Handler" daemon prio=5 tid=0x000000080187b800 nid=0x801848400 in Object.wait() [0x00007fffdfdfb000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x00000008114cf950> (a java.lang.ref.Reference$Lock) at java.lang.Object.wait(Object.java:503) at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:133) - locked <0x00000008114cf950> (a java.lang.ref.Reference$Lock) "main" prio=5 tid=0x000000080187a000 nid=0x801806800 waiting on condition [0x00007fffdfffc000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x000000081a3a86b0> (a java.util.concurrent.CountDownLatch$Sync) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:834) at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:994) at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1303) at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:236) at org.eclipse.jetty.util.FuturePromise.get(FuturePromise.java:118) at org.waveprotocol.box.server.rpc.WebSocketClientRpcChannel.openWebSocket(WebSocketClientRpcChannel.java:147) at org.waveprotocol.box.server.rpc.WebSocketClientRpcChannel.<init>(WebSocketClientRpcChannel.java:85) at org.waveprotocol.box.server.rpc.RpcTest.newClient(RpcTest.java:56) at org.waveprotocol.box.server.rpc.RpcTest.testSimpleRpc(RpcTest.java:152) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at junit.framework.TestCase.runTest(TestCase.java:168) at junit.framework.TestCase.runBare(TestCase.java:134) at junit.framework.TestResult$1.protect(TestResult.java:110) at junit.framework.TestResult.runProtected(TestResult.java:128) at junit.framework.TestResult.run(TestResult.java:113) at junit.framework.TestCase.run(TestCase.java:124) at junit.framework.TestSuite.runTest(TestSuite.java:243) at junit.framework.TestSuite.run(TestSuite.java:238) at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83) at junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:39) at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:421) at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:912) at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:743) "VM Thread" prio=5 tid=0x0000000801aae800 nid=0x801847800 runnable "VM Periodic Task Thread" prio=5 tid=0x0000000801aaf000 nid=0x80184cc00 waiting on condition JNI global references: 301