JDK-4791917 : VM and Netscape both freese when new applet window and modal dialog comes up.
  • Type: Bug
  • Component: deploy
  • Sub-Component: plugin
  • Affected Version: 1.3.1_06
  • Priority: P3
  • Status: Closed
  • Resolution: Won't Fix
  • OS: windows_xp
  • CPU: x86
  • Submitted: 2002-12-11
  • Updated: 2004-11-30
  • Resolved: 2004-11-30
Related Reports
Relates :  
Description
Java VM and Netscape both freeze when a new applet window and a 
modal dialog comes up at the same time. 
We observed this issue on WindowsNT.

Comments
EVALUATION Please provide a test case here and at same time, specify the platform it is reproduced and the browser version. ###@###.### 2002-12-12 As a matter of fact, I am not sure we claim support for Netscape 7 in 1.3.1_06. I can not reproduce this problem with JRE 1.4.2 build 09. I clicked the "New Window" and "Call Dialog" button and I can't see the freeze. ###@###.### 2002-12-13 Since it is a update release problem, I will deliver it to CDE team to investigate. ###@###.### 2002-12-16 ------------------------------------------------------------------------- I could reproduce this problem with the following config: OS: Windows NT - build 1381 - with sp6 JRE: 1.3.1_07 Browser: Netscape 6.2.1 Running the test case with the following Java runtime parameters: -verbose -XX:+JavaMonitorsInStackTrace I noticed that the main thread is waiting for an AWTTreeLock. The same AWTTreeLock is being locked by the AWT-EventQueue-2 thread. I'm attaching a full java thread dump (jthreads_13107_monitor.txt). Could the submitter of this bug confirm that he/she is seeing the same java thread dump when the VM & Netscape both freeze? To get the thread dump: 1) enter the above mentioned Java Runtime parameter at the Java control panel; 2) start the applet; 3) when Java Plugin sees the -verbose option, it creates a dos window while starting the applet. Increase the height of the dos windows to a large number (say 900) so that a scroll bar appears. The height can be adjusted using the properties menu of the dos window. (Right click and then select Properties). 4) when the lock-up (freeze) happens, hit <ctrl-break> (hold down the <ctrl> key and hit the <break> key at the same time) at the dos window, and you'll see a full java thread dump. If the customer wants a fix in an 1.3.1_0x update release. Please ask the customer to escalate this bug through a support channel. ###@###.### 2002-12-23 ----------------------------------------------------------------------- I've found a potential workaround: in the applet code (SampleApplet.java), instead of calling JOptionPane.showOptionDialog directly, use the SwingUtilites.invokeLater utility. I'm attaching a modified SampleApplet.java (renamed as SampleApple.java.new to avoid file name confict with the original version). Shunichi, could you try this workaround and let me know the results? ###@###.### 2003-01-03 ---------------------------------------------------------------------- The same workaround works well with Netscape 7.01, winNT, and JRE1.3.1_07. Without the workaround, I could see the hang similar to that with Netscape 6.2.1. Shunichi reported that the workaroud doesn't work. Did you use Windows XP to reproduce the problem with the workaround? ###@###.### 2003-01-07 -- Calvin, I was looking for English WindowsXP but could not find it. So I tried with English Windows2000 with IE and it did freeze. It does not seem the problem is caused by Japanese WindowsOS. ###@###.### -------------- This problem is not reproducible with JRE 1.4.2_06 and Mozilla 1.7.2. I'm closing this bug as "Will Not Fix" for 1.3.1_xx since the original escalation against JRE 1.3.1_06 was closed. ###@###.### 2004-11-30 02:19:45 GMT
30-11-2004

WORK AROUND SampleApplet.java ==> modified version with workaround SampleApplet.java.org ==> original version $ diff -b SampleApplet.java SampleApplet.java.org 13d12 < private Component thisComp = null; 28d26 < thisComp = this; 81,91d78 < try { < showAppOptionDialog(); < } < catch (Exception ex) { < ex.printStackTrace(); < } < } < < void showAppOptionDialog() throws Exception { < Runnable showAppOptionDialog2 = new Runnable() { < public void run() { 95c82,83 < JOptionPane.showOptionDialog(thisComp, "Hello", "Hello", JOptionPane.DEFAULT_OPTION, JOptionPane.PLAIN_MESSAGE, null, strOption, strOption[0]); --- > JOptionPane.showOptionDialog(this, "Hello", "Hello", JOptionPane.DEFAULT_OPTION, > JOptionPane.PLAIN_MESSAGE, null, strOption, strOption[0]); 97,99d84 < }; < SwingUtilities.invokeLater(showAppOptionDialog2); < }
11-06-2004