I have a simple test run of some code of medium complexity that will not be completed, i.e. the main method ends, but the process does not die.
Here is a summary of the code (which is too long to insert here):
ProcessBuilder used to create a group of subprocesses. They all do the right thing (if you can believe VisualVM).- We use log4j.
- The main algorithm is executed inside
FutureTask , on which run and later get called. - We are not explicitly using RMI, although the thread list seems to offer this.
Obviously, I can call System.exit(0) , but I would like to know what is wrong here. I could not create a minimal unsuccessful example. In addition, I cannot identify the obvious culprit from the list of threads; maybe you can?

Edit: See here for a stream dump.
source share