There is a dead-lock simular situation in a rare, but reproduceable combination where the servlet container claims 99 % cpu load (and more) on the server side and never goes down.
1) An overridden setVisible method where the false parameter (setVisible(false)) pop up with a messagebox.
2) Close the browser-window but keep the session-cookie (JSESSIONID) intact. For example by closing the tab with the web-application but do not exit firefox.
3) Start the same web-application from that browser.
I add my short testcase. The source of TestDialog includes a table what cases I have tested and what result I got.
TestDialog class for testing
Logged In: YES
user_id=1719939
Originator: YES
File Added: Main.java
Main class to invoce the TestDialog
Logged In: YES
user_id=1719939
Originator: YES
The same happens if you dont override setVisible() but use a PropertyChangeListener on PROPERTY_VISIBLE and display a MessageBox when set to false.
I believe that I encountered the cause of this bug in my refactoring. I will test again when I finish my current development, but I believe this is fixed.