JDK-6563344 : IE crashes while loading the Java plugin
  • Type: Bug
  • Component: deploy
  • Sub-Component: plugin
  • Affected Version: 6,6u1
  • Priority: P2
  • Status: Resolved
  • Resolution: Fixed
  • OS: windows_2003,windows_vista
  • CPU: x86
  • Submitted: 2007-05-30
  • Updated: 2011-02-16
  • Resolved: 2010-07-06
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 6 JDK 7
6u4Fixed 7 b64Fixed
Related Reports
Duplicate :  
Description
FULL PRODUCT VERSION :
java version "1.6.0"
Java(TM) SE Runtime Environment (build 1.6.0-b105)


ADDITIONAL OS VERSION INFORMATION :
Windows 2003 SP2
Also faced the issue against few other flavors of Windows.

EXTRA RELEVANT SYSTEM CONFIGURATION :
Its a fresh OS installed on the system, no other softwares installed. Browser: Internet Explorer 6 SP 2.

We did not see the issue on other browsers like FireFox.

A DESCRIPTION OF THE PROBLEM :
The browser (Internet Explorer) crashes when you try to open any page containing a Java applet.
 
  To reproduce the issue you don't even need to necessarily visit such a page. Just attempting to open "Sun Java Console" from the "Tools" menu of Internet Explorer causes the crash.
 
Note that this crash does not create any log file etc (exmaple hs_err_pid... etc) on the desktop, nor does it present any error dialogs or warnings.

There another issue in Bug Parade (Bug ID 6559136), which may have similar root cause.


STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Sufficient Steps to Reproduce the issue:
1) Install the operating system.
2) Install Java Plug-in 1.6.0.
3) Open Internet Explorer
4) From Tools menu, click Sun Java Console.
5) Observe that the Java console never opens, instead the browser silently crashes (the browser window disappears).


EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
The browser is expected to load the Java plugin and run any applet.
ACTUAL -
The browser crashes if you try to load any applet.

If you try to open the Sun Java Console (without even visiting any URL), the Java console never opens, instead the browser silently crashes (the browser window disappears).


ERROR MESSAGES/STACK TRACES THAT OCCUR :
The browser silently crashes without producing any warning, error dialog or log file (e.g. hs_err_pid...).


REPRODUCIBILITY :
This bug can be reproduced always.

---------- BEGIN SOURCE ----------
To observe crash while opening Java Console, no source code is required. Just Access "Sun Java Console" from the "Tools" menu of the Internet Explorer.

  To observe the crash using an applet the following is sufficient:

import javax.swing.JApplet;
import java.awt.Graphics;

public class HelloWorld extends JApplet {
    public void paint(Graphics g) {
        g.drawString("Hello world!", 5, 15);
    }
}

---------- END SOURCE ----------

CUSTOMER SUBMITTED WORKAROUND :
(1) If Java Plug-in 1.5.0 update 6  is used in place of Java Plug-in 1.6.0, the issue is not seen. You can run applets or open Sun Java Console from the Tools menu of IE when using Java 1.5.0 update 6.
We did not investigate with other intermediate Java Plug-in versions (like 1.5 update 7... etc).
 
(2) In the Internet Explorer, Tools->Internet Options->"Advanced" tab, if you select the checkbox titled "Enable third-party browser extensions (requires restart)" even once, then the issue disappears.
If you get the Sun Java Console work even once (by selecting this checkbox), after that it will always work, no matter wehther you check or uncheck it.
 
(3) Analysis performed by us:
JRE when installed, it adds a Java Plugin 1.6.0 for Netscape Navigator which is a helper DLL npjpi160.dll, This plugin internally loads the DLL file jpiexp.dll which is actual plug-in for Internet Explorer , during loading of this DLL, the internet explorer crashes due to the Trap ACCESS VIOLATION.

But, If we copy the file jpexp32.dll from JRE 5.0, and rename it as jpexp.dll in JRE 6.0, the dll loads sucessfully.

Release Regression From : 5.0u11
The above release value was the last known release where this 
bug was not reproducible. Since then there has been a regression.

Comments
SUGGESTED FIX http://sa.sfbay.sun.com/projects/deployment_data/7/6563344.0
05-07-2007

EVALUATION A simple fix to ensure that the msvcr71.dll has been loaded prior to loading the java plugin library - jpiexp.dll. Otherwise, loading of jpiexp.dll fails and we're trying to invoke a function using an invalid function pointer resulting in a browser crash.
05-07-2007