title: JVM won't terminate
body: <p>I have a simple test run of some medium-complexity code that won't terminate, i.e. the main method finishes but the process does not die.</p>
  
  <p>Here is a rundown of the code (which is too long to be pasted here):</p>
  
  <ul>
  <li><code>ProcessBuilder</code> is used to create a bunch of subprocesses. They all die properly (if you can believe VisualVM).</li>
  <li>We use log4j.</li>
  <li>The main algorithm runs inside a <code>FutureTask</code> on which <code>run</code> and later <code>get</code> are called.</li>
  <li>We don't explicitly use RMI, even though the list of threads seems to suggest so.</li>
  </ul>
  
  <p>Obviously, I can call <code>System.exit(0)</code>, but I'd like to know what is amiss here. I have not been able to produce a minimum failing example. Also, I can not identify an obvious culprit from the thread list; maybe you can?</p>
  
  <p><img src="https://i.stack.imgur.com/ay1O8.png" alt="from VisualVM after main terminates"></p>
  
  <p><strong>Edit:</strong> See <a href="http://pastebin.com/XHEjuaxg" rel="nofollow noreferrer">here</a> for a thread dump.</p>