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