FULL PRODUCT VERSION : java version "1.7.0_02" Java(TM) SE Runtime Environment (build 1.7.0_02-b13) Java HotSpot(TM) Client VM (build 22.0-b10, mixed mode, sharing) and java version "1.6.0_29" Java(TM) SE Runtime Environment (build 1.6.0_29-b11) Java HotSpot(TM) Client VM (build 20.4-b02, mixed mode, sharing) ADDITIONAL OS VERSION INFORMATION : Microsoft Windows XP [Version 5.1.2600] and Microsoft Windows [Version 6.1.7601] A DESCRIPTION OF THE PROBLEM : When a JDialog (or JFrame) is being dragged (or just held) with the mouse while dispose() is called, the whole systems seems to freeze. On a multicore system only one of the cores shows 100% cpu usage, but the windows desktop and all other applications are unresponsive. The only way out of this state seems to be to ALT-Tab to a different application. STEPS TO FOLLOW TO REPRODUCE THE PROBLEM : Execute the code and drag the small dialog (and keep the mouse button pressed) until the dialog disappears. ACTUAL - All applications are unresponsive but continue working. E.g. the task manager will show the current CPU usage, but not react to mouse clicks. REPRODUCIBILITY : This bug can be reproduced always. ---------- BEGIN SOURCE ---------- import javax.swing.JFrame; public class DialogExecuter extends JFrame { public static void main(String[] args) { new DialogExecuter(); } public DialogExecuter() { this.setSize(800, 800); this.setVisible(true); Test test = new Test(); test.start(); } private class Test extends Thread { @Override public void run() { DialogClass dialog = new DialogClass(); try { sleep(5000); } catch (Exception e) { e.printStackTrace(); } // system will lock up when the dialog is dragged while being disposed dialog.dispose(); } } private class DialogClass extends JFrame { public DialogClass() { init(); } private void init() { setBounds(50, 50, 100, 100); setVisible(true); } } } ---------- END SOURCE ----------
|