Duplicate :
|
Run the attached test (Applet) on Mozilla with any JDK7 build (b03 or later). When the applet gets loaded, I am opening a page dialog. When the page dialog is alive, I am clicking on the browser's 'back' button. Now I expect all the windows to be disposed. But the code still gets executed and a PrintDialog comes up though the browser contents have been restored to previous. After this, the dialog does not go away and I had to kill the browser to close the dialog. The above behavior is seen atleast since JDK6-beta but there is a new exception on clicking the 'Back' button from JDK7-b03. This does not happen on b02 or JDK6. Here is the exception shown on the Java Console: Exception in thread "TimerQueue" java.lang.IllegalMonitorStateException at java.util.concurrent.locks.ReentrantLock$Sync.tryRelease(ReentrantLock.java:127) at java.util.concurrent.locks.AbstractQueuedSynchronizer.release(AbstractQueuedSynchronizer.java:1140) at java.util.concurrent.locks.ReentrantLock.unlock(ReentrantLock.java:431) at java.util.concurrent.DelayQueue.take(DelayQueue.java:176) at javax.swing.TimerQueue.run(TimerQueue.java:153) at java.lang.Thread.run(Thread.java:619) This is not reproducible on Win32. I reproduced it on SolSparc10-JDS. To reproduce the bug, do the following - 1. Set MOZ_PLUGIN_PATH to the test JDK's jre/plugin/sparc/ns7 folder (JDK7-b03+). 2. Launch Mozilla. 3. Load the applet. 4. Click on the button in the applet. A page dialog would come up. 5. Keeping the page dialog alive, click on the 'Back' button of the browser. You will see that page dialog gets disposed but a print dialog comes up and stays on the screen forever. Also you would see the above exception on the java-console.