[ https://issues.apache.org/jira/browse/FELIX-1642?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12759491#action_12759491 ]
Eoghan Glynn commented on FELIX-1642: ------------------------------------- Here's a thread dump from a client after running shutdown: ka...@root> shutdown ka...@root> 2009-09-25 12:12:27 Full thread dump Java HotSpot(TM) Server VM (14.2-b01 mixed mode): "ClientInputStreamPump" daemon prio=10 tid=0x8fffa800 nid=0x84a runnable [0x8f5fe000] java.lang.Thread.State: RUNNABLE at java.io.FileInputStream.readBytes(Native Method) at java.io.FileInputStream.read(FileInputStream.java:199) at org.apache.sshd.client.channel.ChannelSession.pumpInputStream(ChannelSession.java:78) at org.apache.sshd.client.channel.ChannelSession$1.run(ChannelSession.java:50) "pool-1-thread-1" prio=10 tid=0x091b0800 nid=0x83f waiting on condition [0x8fcad000] java.lang.Thread.State: TIMED_WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0xb1084c68> (a java.util.concurrent.SynchronousQueue$TransferStack) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198) at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:424) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:323) at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:874) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:945) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) at java.lang.Thread.run(Thread.java:619) "pool-2-thread-1" prio=10 tid=0x8ff1f400 nid=0x83d waiting on condition [0x8fcfe000] java.lang.Thread.State: TIMED_WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0xb10f3890> (a java.util.concurrent.SynchronousQueue$TransferStack) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198) at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:424) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:323) at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:874) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:945) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) at java.lang.Thread.run(Thread.java:619) "Low Memory Detector" daemon prio=10 tid=0x08c2d800 nid=0x834 runnable [0x00000000] java.lang.Thread.State: RUNNABLE "CompilerThread1" daemon prio=10 tid=0x08c2b800 nid=0x833 waiting on condition [0x00000000] java.lang.Thread.State: RUNNABLE "CompilerThread0" daemon prio=10 tid=0x08c28c00 nid=0x832 waiting on condition [0x00000000] java.lang.Thread.State: RUNNABLE "Signal Dispatcher" daemon prio=10 tid=0x08c27400 nid=0x831 waiting on condition [0x00000000] java.lang.Thread.State: RUNNABLE "Finalizer" daemon prio=10 tid=0x08c16c00 nid=0x830 in Object.wait() [0x90332000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0xb16c29c8> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118) - locked <0xb16c29c8> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134) at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159) "Reference Handler" daemon prio=10 tid=0x08c12000 nid=0x82f in Object.wait() [0x90383000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0xb16c29e8> (a java.lang.ref.Reference$Lock) at java.lang.Object.wait(Object.java:485) at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116) - locked <0xb16c29e8> (a java.lang.ref.Reference$Lock) "main" prio=10 tid=0x08b6f000 nid=0x829 in Object.wait() [0xb739d000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0xb12f34b0> (a java.lang.Object) at java.lang.Object.wait(Object.java:485) at org.apache.sshd.client.channel.AbstractClientChannel.waitFor(AbstractClientChannel.java:155) - locked <0xb12f34b0> (a java.lang.Object) at org.apache.felix.karaf.client.Main.main(Main.java:92) "VM Thread" prio=10 tid=0x08c0e000 nid=0x82e runnable "GC task thread#0 (ParallelGC)" prio=10 tid=0x08b75800 nid=0x82a runnable "GC task thread#1 (ParallelGC)" prio=10 tid=0x08b77000 nid=0x82b runnable "GC task thread#2 (ParallelGC)" prio=10 tid=0x08b78800 nid=0x82c runnable "GC task thread#3 (ParallelGC)" prio=10 tid=0x08b79c00 nid=0x82d runnable "VM Periodic Task Thread" prio=10 tid=0x08c2f400 nid=0x835 waiting on condition JNI global references: 680 Heap PSYoungGen total 12800K, used 12228K [0xb09f0000, 0xb16f0000, 0xb41f0000) eden space 12288K, 95% used [0xb09f0000,0xb1561b60,0xb15f0000) from space 512K, 99% used [0xb1670000,0xb16ef800,0xb16f0000) to space 512K, 0% used [0xb15f0000,0xb15f0000,0xb1670000) PSOldGen total 28672K, used 108K [0x949f0000, 0x965f0000, 0xb09f0000) object space 28672K, 0% used [0x949f0000,0x94a0b000,0x965f0000) PSPermGen total 16384K, used 5235K [0x909f0000, 0x919f0000, 0x949f0000) object space 16384K, 31% used [0x909f0000,0x90f0ce40,0x919f0000) > osgi:shutdown just hang when use karaf-client.jar > ------------------------------------------------- > > Key: FELIX-1642 > URL: https://issues.apache.org/jira/browse/FELIX-1642 > Project: Felix > Issue Type: Bug > Components: Karaf > Reporter: Freeman Fang > > I tried with karaf/demos/web example, all is fine, I can use java -jar > lib/karaf-client.jar to connect the karaf instance deployed in servlet > container, > osgi:list return is ok, > but when I try to use osgi:shutdown to quit the client, the console just hang -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.