The attached test program sets a default window close behavior of DISPOSE_ON_CLOSE and also adds a button that will explicitly close and dispose the JFrame. Pressing the window close button (to implicitly dispose the window) or the Swing Button (to explicitly close and dispose the window) should cause the application to exit. When running without a security manager this works fine on all platforms. When running with a security manager, it fails to exit on Mac (it exits fine on Windows and Linux).
Steps to reproduce.
1) Run the attached test program with a security manager:
java -Djava.security.manager JFrameDisposeTest
2) Press either the red window close button or the "Close Window" JButton in the app
The window will close, but the app will remain running.
I have attached the thread stack dump.