Java VM only terminates when all user threads have finished. Exiting the main() function normally at the end of the BEAST run should terminate the process but it doesn't, suggesting that another user thread is still active. When a GUI is present, this is desired behaviour because it is up to the user to select 'quit' from the menu.
Previously main() finished with:
if (!window) {
System.exit(0);
}
Which is a solution. This was removed in v1.8.1 because the assumption was it wasn't needed. The better solution would be to find the thread that is still running and correctly terminate it. If this is not possible, then revert this hack solution.
Comment #1
Posted on Feb 3, 2015 by Quick Horse(No comment was entered for this change.)
Status: Fixed
Labels:
Type-Defect
Priority-Critical
beast
v1.8.1
Milestone-Release1.8.2