[
https://issues.apache.org/jira/browse/SSHD-340?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14109095#comment-14109095
]
Sampo Savolainen commented on SSHD-340:
---------------------------------------
I can't find where to upload attachments. Here's the thread dump:
2014-08-25 16:09:49
Full thread dump Java HotSpot(TM) 64-Bit Server VM (20.45-b01 mixed mode):
"DestroyJavaVM" prio=10 tid=0x00007f183400c000 nid=0x691d waiting on condition
[0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"pool-1-thread-1" prio=10 tid=0x00007f17e000a000 nid=0x693a waiting on
condition [0x00007f182d837000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000007ad263e50> (a
java.util.concurrent.SynchronousQueue$TransferStack)
at
java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:196)
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:955)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:917)
at java.lang.Thread.run(Thread.java:662)
"java-sdk-http-connection-reaper" daemon prio=10 tid=0x00007f1834511800
nid=0x6935 waiting on condition [0x00007f182e287000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at
com.amazonaws.http.IdleConnectionReaper.run(IdleConnectionReaper.java:81)
"Low Memory Detector" daemon prio=10 tid=0x00007f18340a5800 nid=0x6933 runnable
[0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"C2 CompilerThread1" daemon prio=10 tid=0x00007f18340a3000 nid=0x6932 waiting
on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"C2 CompilerThread0" daemon prio=10 tid=0x00007f18340a0800 nid=0x6931 waiting
on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"JDWP Command Reader" daemon prio=10 tid=0x00007f180c001000 nid=0x692e runnable
[0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"JDWP Event Helper Thread" daemon prio=10 tid=0x00007f183409e000 nid=0x692d
runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"JDWP Transport Listener: dt_socket" daemon prio=10 tid=0x00007f183409a800
nid=0x692a runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Signal Dispatcher" daemon prio=10 tid=0x00007f183408d800 nid=0x6928 waiting on
condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Finalizer" daemon prio=10 tid=0x00007f1834072000 nid=0x6924 in Object.wait()
[0x00007f182f318000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00000007b0e68070> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
- locked <0x00000007b0e68070> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:171)
"Reference Handler" daemon prio=10 tid=0x00007f1834070000 nid=0x6923 in
Object.wait() [0x00007f182f419000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00000007b0e50340> (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 <0x00000007b0e50340> (a java.lang.ref.Reference$Lock)
"VM Thread" prio=10 tid=0x00007f1834069800 nid=0x6922 runnable
"GC task thread#0 (ParallelGC)" prio=10 tid=0x00007f183401f000 nid=0x691e
runnable
"GC task thread#1 (ParallelGC)" prio=10 tid=0x00007f1834020800 nid=0x691f
runnable
"GC task thread#2 (ParallelGC)" prio=10 tid=0x00007f1834022800 nid=0x6920
runnable
"GC task thread#3 (ParallelGC)" prio=10 tid=0x00007f1834024800 nid=0x6921
runnable
"VM Periodic Task Thread" prio=10 tid=0x00007f18340b8800 nid=0x6934 waiting on
condition
JNI global references: 5190
Heap
PSYoungGen total 74368K, used 38598K [0x00000007ad000000,
0x00000007b6140000, 0x0000000800000000)
eden space 63808K, 51% used
[0x00000007ad000000,0x00000007af04ee10,0x00000007b0e50000)
from space 10560K, 52% used
[0x00000007b0e50000,0x00000007b13b2b50,0x00000007b18a0000)
to space 10560K, 0% used
[0x00000007b56f0000,0x00000007b56f0000,0x00000007b6140000)
PSOldGen total 169984K, used 0K [0x0000000707000000,
0x0000000711600000, 0x00000007ad000000)
object space 169984K, 0% used
[0x0000000707000000,0x0000000707000000,0x0000000711600000)
PSPermGen total 26432K, used 26364K [0x0000000701e00000,
0x00000007037d0000, 0x0000000707000000)
object space 26432K, 99% used
[0x0000000701e00000,0x00000007037bf2d0,0x00000007037d0000)
> Hanging threads
> ---------------
>
> Key: SSHD-340
> URL: https://issues.apache.org/jira/browse/SSHD-340
> Project: MINA SSHD
> Issue Type: Bug
> Affects Versions: 0.12.0
> Reporter: Sampo Savolainen
> Original Estimate: 1h
> Remaining Estimate: 1h
>
> SSHD fails to stop properly due to errant threads. I've attached a thread
> dump from a point of execution where everything should have been cleaned up.
> The hanging threads happen only if the server has accepted connections and
> they do not hang forever, they seem to stop themselves after a minute or so.
> This might be an executor pool which is not shut down correctly.
> Earlier versions (0.8.0 and 0.9.0) did not exhibit this behavior.
--
This message was sent by Atlassian JIRA
(v6.2#6252)