"Steven E. Harris" <s...@panix.com> writes: > In the meantime, I'll continue the investigation.
Here are two thread dumps of the Java process running Clojure and Swank, which, at this time, has a live Clojure REPL, but the Swank call to `connection-info' hasn't completed yet. This first one comes via jvisualvm: ========== 2010-01-02 10:55:39 Full thread dump Java HotSpot(TM) Client VM (14.3-b01 mixed mode, sharing): "RMI TCP Connection(4)-192.168.1.35" daemon prio=6 tid=0x02e43000 nid=0x15f8 runnable [0x0377f000] java.lang.Thread.State: RUNNABLE at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(Unknown Source) at java.io.BufferedInputStream.fill(Unknown Source) at java.io.BufferedInputStream.read(Unknown Source) - locked <0x23215700> (a java.io.BufferedInputStream) at java.io.FilterInputStream.read(Unknown Source) at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Locked ownable synchronizers: - <0x2321c928> (a java.util.concurrent.locks.ReentrantLock$NonfairSync) "RMI TCP Connection(idle)" daemon prio=6 tid=0x02f74c00 nid=0x121c waiting on condition [0x0372f000] java.lang.Thread.State: TIMED_WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x231df420> (a java.util.concurrent.SynchronousQueue$TransferStack) at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source) at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(Unknown Source) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(Unknown Source) at java.util.concurrent.SynchronousQueue.poll(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Locked ownable synchronizers: - None "JMX server connection timeout 22" daemon prio=6 tid=0x02f70400 nid=0x324 in Object.wait() [0x036df000] java.lang.Thread.State: TIMED_WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x231e31d8> (a [I) at com.sun.jmx.remote.internal.ServerCommunicatorAdmin$Timeout.run(Unknown Source) - locked <0x231e31d8> (a [I) at java.lang.Thread.run(Unknown Source) Locked ownable synchronizers: - None "RMI Scheduler(0)" daemon prio=6 tid=0x02b4e000 nid=0x1430 waiting on condition [0x0368f000] java.lang.Thread.State: TIMED_WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x231b9ae0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source) at java.util.concurrent.DelayQueue.take(Unknown Source) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Locked ownable synchronizers: - None "RMI TCP Connection(idle)" daemon prio=6 tid=0x02e4b400 nid=0x1608 waiting on condition [0x0363f000] java.lang.Thread.State: TIMED_WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x231df420> (a java.util.concurrent.SynchronousQueue$TransferStack) at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source) at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(Unknown Source) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(Unknown Source) at java.util.concurrent.SynchronousQueue.poll(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Locked ownable synchronizers: - None "RMI TCP Accept-0" daemon prio=6 tid=0x02b2e800 nid=0x128c runnable [0x035cf000] java.lang.Thread.State: RUNNABLE at java.net.PlainSocketImpl.socketAccept(Native Method) at java.net.PlainSocketImpl.accept(Unknown Source) - locked <0x231cf4e0> (a java.net.SocksSocketImpl) at java.net.ServerSocket.implAccept(Unknown Source) at java.net.ServerSocket.accept(Unknown Source) at sun.management.jmxremote.LocalRMIServerSocketFactory$1.accept(Unknown Source) at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(Unknown Source) at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Locked ownable synchronizers: - None "Read Loop Thread" prio=6 tid=0x02f0f000 nid=0x964 runnable [0x0357e000] java.lang.Thread.State: RUNNABLE at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(Unknown Source) at sun.nio.cs.StreamDecoder.readBytes(Unknown Source) at sun.nio.cs.StreamDecoder.implRead(Unknown Source) at sun.nio.cs.StreamDecoder.read(Unknown Source) - locked <0x230ef858> (a java.io.InputStreamReader) at sun.nio.cs.StreamDecoder.read0(Unknown Source) - locked <0x230ef858> (a java.io.InputStreamReader) at sun.nio.cs.StreamDecoder.read(Unknown Source) at java.io.InputStreamReader.read(Unknown Source) at swank.util.io$read_chars__264.invoke(io.clj:10) at swank.core.protocol$read_swank_message__298.invoke(protocol.clj:65) at swank.core.connection$read_from_connection__315.invoke(connection.clj:59) at swank.core$read_loop__654.invoke(core.clj:207) at swank.swank$connection_serve__3088$fn__3156$fn__3158.invoke(swank.clj:39) at clojure.lang.AFn.applyToHelper(AFn.java:171) at clojure.lang.AFn.applyTo(AFn.java:164) at clojure.core$apply__4370.invoke(core.clj:436) at swank.swank$connection_serve__3088$fn__3156.doInvoke(swank.clj:36) at clojure.lang.RestFn.invoke(RestFn.java:402) at clojure.lang.AFn.run(AFn.java:37) at java.lang.Thread.run(Unknown Source) Locked ownable synchronizers: - None "Swank Control Thread" prio=6 tid=0x02f0b800 nid=0x4e8 waiting on condition [0x0352f000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x230ef968> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(Unknown Source) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source) at java.util.concurrent.LinkedBlockingQueue.take(Unknown Source) at swank.util.concurrent.mbox$receive__408.invoke(mbox.clj:28) at swank.core$control_loop__683.invoke(core.clj:258) at swank.swank$connection_serve__3088$fn__3120$fn__3122.invoke(swank.clj:29) at clojure.lang.AFn.applyToHelper(AFn.java:171) at clojure.lang.AFn.applyTo(AFn.java:164) at clojure.core$apply__4370.invoke(core.clj:436) at swank.swank$connection_serve__3088$fn__3120.doInvoke(swank.clj:26) at clojure.lang.RestFn.invoke(RestFn.java:402) at clojure.lang.AFn.run(AFn.java:37) at java.lang.Thread.run(Unknown Source) Locked ownable synchronizers: - None "Call-on-write Stream" prio=6 tid=0x02f0fc00 nid=0x1584 waiting on condition [0x0309f000] java.lang.Thread.State: TIMED_WAITING (sleeping) at java.lang.Thread.sleep(Native Method) at swank.util.io$call_on_flush_stream__269$fn__280.invoke(io.clj:35) at clojure.lang.AFn.run(AFn.java:37) at java.lang.Thread.run(Unknown Source) Locked ownable synchronizers: - None "Low Memory Detector" daemon prio=6 tid=0x02aba400 nid=0x11c8 runnable [0x00000000] java.lang.Thread.State: RUNNABLE Locked ownable synchronizers: - None "CompilerThread0" daemon prio=10 tid=0x02ab4000 nid=0xca8 waiting on condition [0x00000000] java.lang.Thread.State: RUNNABLE Locked ownable synchronizers: - None "Attach Listener" daemon prio=10 tid=0x02ab2800 nid=0xe40 waiting on condition [0x00000000] java.lang.Thread.State: RUNNABLE Locked ownable synchronizers: - None "Signal Dispatcher" daemon prio=10 tid=0x02ab1400 nid=0x68c runnable [0x00000000] java.lang.Thread.State: RUNNABLE Locked ownable synchronizers: - None "Finalizer" daemon prio=8 tid=0x02a72800 nid=0x13c4 in Object.wait() [0x02c3f000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x22e803c0> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(Unknown Source) - locked <0x22e803c0> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(Unknown Source) at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source) Locked ownable synchronizers: - None "Reference Handler" daemon prio=10 tid=0x02a6dc00 nid=0x1024 in Object.wait() [0x02bef000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x22e80448> (a java.lang.ref.Reference$Lock) at java.lang.Object.wait(Object.java:485) at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source) - locked <0x22e80448> (a java.lang.ref.Reference$Lock) Locked ownable synchronizers: - None "main" prio=6 tid=0x002b7800 nid=0x155c runnable [0x0090f000] java.lang.Thread.State: RUNNABLE at java.io.FileInputStream.readBytes(Native Method) at java.io.FileInputStream.read(Unknown Source) at java.io.BufferedInputStream.read1(Unknown Source) at java.io.BufferedInputStream.read(Unknown Source) - locked <0x22e827c8> (a java.io.BufferedInputStream) at sun.nio.cs.StreamDecoder.readBytes(Unknown Source) at sun.nio.cs.StreamDecoder.implRead(Unknown Source) at sun.nio.cs.StreamDecoder.read(Unknown Source) - locked <0x22eb0cd8> (a java.io.InputStreamReader) at java.io.InputStreamReader.read(Unknown Source) at java.io.BufferedReader.fill(Unknown Source) at java.io.BufferedReader.read(Unknown Source) - locked <0x22eb0cd8> (a java.io.InputStreamReader) at java.io.LineNumberReader.read(Unknown Source) - locked <0x22eb0cd8> (a java.io.InputStreamReader) at java.io.FilterReader.read(Unknown Source) at java.io.PushbackReader.read(Unknown Source) - locked <0x22eb0040> (a java.io.LineNumberReader) at clojure.lang.LineNumberingPushbackReader.read(LineNumberingPushbackReader.java:40) at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:90) at clojure.lang.Reflector.invokeNoArgInstanceMember(Reflector.java:265) at clojure.main$skip_whitespace__7367.invoke(main.clj:70) at clojure.main$repl_read__7371.invoke(main.clj:91) at clojure.main$repl__7385$read_eval_print__7397.invoke(main.clj:181) at clojure.main$repl__7385.doInvoke(main.clj:200) at clojure.lang.RestFn.invoke(RestFn.java:426) at clojure.main$repl_opt__7431.invoke(main.clj:254) at clojure.main$main__7466.doInvoke(main.clj:346) at clojure.lang.RestFn.invoke(RestFn.java:413) at clojure.lang.Var.invoke(Var.java:359) at clojure.lang.AFn.applyToHelper(AFn.java:173) at clojure.lang.Var.applyTo(Var.java:476) at clojure.main.main(main.java:37) Locked ownable synchronizers: - None "VM Thread" prio=10 tid=0x02a6c400 nid=0x134c runnable "VM Periodic Task Thread" prio=10 tid=0x02abbc00 nid=0x1748 waiting on condition JNI global references: 631 ========== Here's another thread dump of the same process, after shutting down jvisualvm, using jstack: ========== 2010-01-02 11:00:12 Full thread dump Java HotSpot(TM) Client VM (14.3-b01 mixed mode, sharing): "RMI TCP Connection(idle)" daemon prio=6 tid=0x02f74c00 nid=0x121c waiting on condition [0x0372f000] java.lang.Thread.State: TIMED_WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x231df420> (a java.util.concurrent.SynchronousQueue$TransferStack) at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source) at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(Unknown Source) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(Unknown Source) at java.util.concurrent.SynchronousQueue.poll(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) "JMX server connection timeout 22" daemon prio=6 tid=0x02f70400 nid=0x324 in Object.wait() [0x036df000] java.lang.Thread.State: TIMED_WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x231e31d8> (a [I) at com.sun.jmx.remote.internal.ServerCommunicatorAdmin$Timeout.run(Unknown Source) - locked <0x231e31d8> (a [I) at java.lang.Thread.run(Unknown Source) "RMI Scheduler(0)" daemon prio=6 tid=0x02b4e000 nid=0x1430 waiting on condition [0x0368f000] java.lang.Thread.State: TIMED_WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x231b9ae0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source) at java.util.concurrent.DelayQueue.take(Unknown Source) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) "RMI TCP Accept-0" daemon prio=6 tid=0x02b2e800 nid=0x128c runnable [0x035cf000] java.lang.Thread.State: RUNNABLE at java.net.PlainSocketImpl.socketAccept(Native Method) at java.net.PlainSocketImpl.accept(Unknown Source) - locked <0x231cf4e0> (a java.net.SocksSocketImpl) at java.net.ServerSocket.implAccept(Unknown Source) at java.net.ServerSocket.accept(Unknown Source) at sun.management.jmxremote.LocalRMIServerSocketFactory$1.accept(Unknown Source) at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(Unknown Source) at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(Unknown Source) at java.lang.Thread.run(Unknown Source) "Read Loop Thread" prio=6 tid=0x02f0f000 nid=0x964 runnable [0x0357e000] java.lang.Thread.State: RUNNABLE at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(Unknown Source) at sun.nio.cs.StreamDecoder.readBytes(Unknown Source) at sun.nio.cs.StreamDecoder.implRead(Unknown Source) at sun.nio.cs.StreamDecoder.read(Unknown Source) - locked <0x230ef858> (a java.io.InputStreamReader) at sun.nio.cs.StreamDecoder.read0(Unknown Source) - locked <0x230ef858> (a java.io.InputStreamReader) at sun.nio.cs.StreamDecoder.read(Unknown Source) at java.io.InputStreamReader.read(Unknown Source) at swank.util.io$read_chars__264.invoke(io.clj:10) at swank.core.protocol$read_swank_message__298.invoke(protocol.clj:65) at swank.core.connection$read_from_connection__315.invoke(connection.clj:59) at swank.core$read_loop__654.invoke(core.clj:207) at swank.swank$connection_serve__3088$fn__3156$fn__3158.invoke(swank.clj:39) at clojure.lang.AFn.applyToHelper(AFn.java:171) at clojure.lang.AFn.applyTo(AFn.java:164) at clojure.core$apply__4370.invoke(core.clj:436) at swank.swank$connection_serve__3088$fn__3156.doInvoke(swank.clj:36) at clojure.lang.RestFn.invoke(RestFn.java:402) at clojure.lang.AFn.run(AFn.java:37) at java.lang.Thread.run(Unknown Source) "Swank Control Thread" prio=6 tid=0x02f0b800 nid=0x4e8 waiting on condition [0x0352f000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x230ef968> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(Unknown Source) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source) at java.util.concurrent.LinkedBlockingQueue.take(Unknown Source) at swank.util.concurrent.mbox$receive__408.invoke(mbox.clj:28) at swank.core$control_loop__683.invoke(core.clj:258) at swank.swank$connection_serve__3088$fn__3120$fn__3122.invoke(swank.clj:29) at clojure.lang.AFn.applyToHelper(AFn.java:171) at clojure.lang.AFn.applyTo(AFn.java:164) at clojure.core$apply__4370.invoke(core.clj:436) at swank.swank$connection_serve__3088$fn__3120.doInvoke(swank.clj:26) at clojure.lang.RestFn.invoke(RestFn.java:402) at clojure.lang.AFn.run(AFn.java:37) at java.lang.Thread.run(Unknown Source) "Call-on-write Stream" prio=6 tid=0x02f0fc00 nid=0x1584 waiting on condition [0x0309f000] java.lang.Thread.State: TIMED_WAITING (sleeping) at java.lang.Thread.sleep(Native Method) at swank.util.io$call_on_flush_stream__269$fn__280.invoke(io.clj:35) at clojure.lang.AFn.run(AFn.java:37) at java.lang.Thread.run(Unknown Source) "Low Memory Detector" daemon prio=6 tid=0x02aba400 nid=0x11c8 runnable [0x00000000] java.lang.Thread.State: RUNNABLE "CompilerThread0" daemon prio=10 tid=0x02ab4000 nid=0xca8 waiting on condition [0x00000000] java.lang.Thread.State: RUNNABLE "Attach Listener" daemon prio=10 tid=0x02ab2800 nid=0xe40 waiting on condition [0x00000000] java.lang.Thread.State: RUNNABLE "Signal Dispatcher" daemon prio=10 tid=0x02ab1400 nid=0x68c runnable [0x00000000] java.lang.Thread.State: RUNNABLE "Finalizer" daemon prio=8 tid=0x02a72800 nid=0x13c4 in Object.wait() [0x02c3f000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x22e803c0> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(Unknown Source) - locked <0x22e803c0> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(Unknown Source) at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source) "Reference Handler" daemon prio=10 tid=0x02a6dc00 nid=0x1024 in Object.wait() [0x02bef000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x22e80448> (a java.lang.ref.Reference$Lock) at java.lang.Object.wait(Object.java:485) at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source) - locked <0x22e80448> (a java.lang.ref.Reference$Lock) "main" prio=6 tid=0x002b7800 nid=0x155c runnable [0x0090f000] java.lang.Thread.State: RUNNABLE at java.io.FileInputStream.readBytes(Native Method) at java.io.FileInputStream.read(Unknown Source) at java.io.BufferedInputStream.read1(Unknown Source) at java.io.BufferedInputStream.read(Unknown Source) - locked <0x22e827c8> (a java.io.BufferedInputStream) at sun.nio.cs.StreamDecoder.readBytes(Unknown Source) at sun.nio.cs.StreamDecoder.implRead(Unknown Source) at sun.nio.cs.StreamDecoder.read(Unknown Source) - locked <0x22eb0cd8> (a java.io.InputStreamReader) at java.io.InputStreamReader.read(Unknown Source) at java.io.BufferedReader.fill(Unknown Source) at java.io.BufferedReader.read(Unknown Source) - locked <0x22eb0cd8> (a java.io.InputStreamReader) at java.io.LineNumberReader.read(Unknown Source) - locked <0x22eb0cd8> (a java.io.InputStreamReader) at java.io.FilterReader.read(Unknown Source) at java.io.PushbackReader.read(Unknown Source) - locked <0x22eb0040> (a java.io.LineNumberReader) at clojure.lang.LineNumberingPushbackReader.read(LineNumberingPushbackReader.java:40) at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:90) at clojure.lang.Reflector.invokeNoArgInstanceMember(Reflector.java:265) at clojure.main$skip_whitespace__7367.invoke(main.clj:70) at clojure.main$repl_read__7371.invoke(main.clj:91) at clojure.main$repl__7385$read_eval_print__7397.invoke(main.clj:181) at clojure.main$repl__7385.doInvoke(main.clj:200) at clojure.lang.RestFn.invoke(RestFn.java:426) at clojure.main$repl_opt__7431.invoke(main.clj:254) at clojure.main$main__7466.doInvoke(main.clj:346) at clojure.lang.RestFn.invoke(RestFn.java:413) at clojure.lang.Var.invoke(Var.java:359) at clojure.lang.AFn.applyToHelper(AFn.java:173) at clojure.lang.Var.applyTo(Var.java:476) at clojure.main.main(main.java:37) "VM Thread" prio=10 tid=0x02a6c400 nid=0x134c runnable "VM Periodic Task Thread" prio=10 tid=0x02abbc00 nid=0x1748 waiting on condition JNI global references: 675 ========== -- Steven E. Harris -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en