[ 
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.

Reply via email to