Uploaded image for project: 'MINA SSHD'
  1. MINA SSHD
  2. SSHD-225

InvertedShellWrapper does not shutdown its executor, preventing graceful JVM exit

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 0.8.0
    • 0.9.0
    • None
    • Apple Java v. 1.6.0

    Description

      When embedded in my app, the following SSHD thread remains running and prevents my app from exiting gracefully (by allowing the JVM to automatically shutdown when only deamon threads remain). I call sshd.stop(true), but this thread still remains. Note however, than it seems to die itself after several minutes (10+). Then my app successfully exits.

      "pool-6-thread-1" prio=5 tid=102821800 nid=0x10e941000 waiting on condition [10e940000]
      java.lang.Thread.State: WAITING (parking)
      at sun.misc.Unsafe.park(Native Method)

      • parking to wait for <7eedb8190> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987)
        at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399)
        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:957)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:917)
        at java.lang.Thread.run(Thread.java:680)

      I tried the following to replace the executor's ThreadFactory with my own (this) that calls setDaemon(true) on the generated thread, but that didn't work for some reason… The thread in the dump was still not marked daemon, so maybe I'm looking at the wrong area.

      ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor(this);
      sshd.setScheduledExecutorService(executor, true);

      Attachments

        Activity

          People

            gnodet Guillaume Nodet
            janicki Chris Janicki
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: