FULL PRODUCT VERSION :
java version "1.6.0-rc"
Java(TM) SE Runtime Environment (build 1.6.0-rc-b104)
Java HotSpot(TM) Client VM (build 1.6.0-rc-b104, mixed mode, sharing)
ADDITIONAL OS VERSION INFORMATION :
Windows XP Professional Version 2002 Service Pack 2
Windows 2000 5.00.2195 Service Pack 4
A DESCRIPTION OF THE PROBLEM :
Using the JRE 6 Release Candidate with all three 'Debugging' options (Enable tracing, Enable logging and Show applet lifecycle exceptions) and 'Show Console' selected in the Java Control Panel, running a simple applet sometimes results in a browser hang in Internet Explorer. This appears to be a timing issue when the VM is starting up, and results in both the java console and the web page freezing and being labelled 'Not Responding' in the Task Manager.
This was observed using Internet Explorer version 7.0.5730.11IS on Windows XP, and Internet Explorer version 6.0.2800.1106IS on Windows 2000. It occured in about ten percent of cases where the browser was opened on a page containing an applet, such as:
http://www.objectplanet.com/newsticker/changes.html
A test case is included that demonstrates the problem using a very simple applet and html page.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
1. On Windows XP, open the Java Control Panel and open the Advanced tab.
2. Under Settings -> Debugging, select the 'Enable tracing', 'Enable logging' and 'Show applet lifecycle exception' checkboxes.
3. Under Settings->Java console, select the 'Show console' radio button.
4. Create a file called SimpleApplet.html containing the following text:
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
</HEAD>
<BODY>
Simple Applet
<applet code="SimpleApplet.class"
width="200" height="200" align="center">
</applet>
</BODY>
</HTML>
5. Create a SimpleApplet class using the following code:
import java.applet.Applet;
public class SimpleApplet extends Applet
{
public void start()
{
super.start();
System.out.println("applet started....");
}
}
6. Compile SimpleApplet.java and place the class file in the same directory as SimpleApplet.html.
7. Open 'SimpleApplet.html' using IE.
8. IE 7 will initially block the applet saying 'To help protect your security IE has restricted this webpage....Click here for options.' Click the banner and select 'Allow blocked content'
9. IE 7 displays an 'Are you sure you want to let this file run active content?' prompt. Click 'yes'.
Alternatively, open IE and browse to the ObjectPlanet newsticker applet page:
http://www.objectplanet.com/newsticker/changes.html
ensuring that the newsticker page is the first page containing an applet encountered, so it has to start the VM.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
The page should load, the java console should start up and display debug output like this:
liveconnect: Invoking JS method: document
liveconnect: Invoking JS method: URL
basic: Referencing classloader: sun.plugin.ClassLoaderInfo@1e51060, refcount=1
basic: Added progress listener: sun.plugin.util.GrayBoxPainter@124bbbf
basic: Loading applet ...
basic: Initializing applet ...
basic: Starting applet ...
basic: completed perf rollup
applet started....
including the 'applet started' output from the SimpleApplet.
ACTUAL -
In about ten percent of case of cases the page and console freeeze and can only be closed using the Task Manager. No output is visible in the console, and two Java icons are visible in the bottom right of the TaskBar.
REPRODUCIBILITY :
This bug can be reproduced often.
---------- BEGIN SOURCE ----------
import java.applet.Applet;
public class SimpleApplet extends Applet
{
public void start()
{
super.start();
System.out.println("applet started....");
}
}
---------- END SOURCE ----------