United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-4985289 REGRESSION: Java plugin crashes IE when using PAC file
JDK-4985289 : REGRESSION: Java plugin crashes IE when using PAC file

Details
Type:
Bug
Submit Date:
2004-01-29
Status:
Resolved
Updated Date:
2004-04-23
Project Name:
JDK
Resolved Date:
2004-04-23
Component:
deploy
OS:
windows_xp
Sub-Component:
plugin
CPU:
x86,generic
Priority:
P1
Resolution:
Fixed
Affected Versions:
1.4.2,1.4.2_04
Fixed Versions:
1.4.2_04 (04)

Related Reports

Sub Tasks

Description
Steps to reproduce:

1) Install jdk / jre 1.4.2_04b03 to default directory on WinXP Home

2) Open an Internet Explorer browser

3) Go to http://sqeweb.sfbay.sun.com/deployment1/mantis_ws_plugin/doc/proc/JPI_bat.html#TestCases.

4) Click on the links for the individual test cases.

5) The Internet explorer browser then crashes.


This only occurs on WinXP Home with Internet Explorer. 

I tried using Netscape 7 and 4.75 and the test cases work fine.

I hava also tried this test with 1.4.2_04b01 on WinXP Home which works fine.



###@###.### 2004-01-29

                                    

Comments
EVALUATION

NOT A 1.5 PROBLEM. initIDs() is called from a static initializer when the 
WinRegistry class is loaded.

The fix for BugId 4901516 introduced this problem.

###@###.### 2004-01-29
----------------------------------------

This is a generic bug reproducible on all windows platforms, not specific to XP.

Crash occurs at:
  at sun.plugin.services.WinRegistry.sysQueryKey(Native Method)
  at sun.plugin.services.WinRegistry.get(Unknown Source)
  at sun.plugin.services.WinRegistry.getString(Unknown Source)
  at sun.plugin.net.proxy.WIExplorerProxyConfig.getBrowserProxyInfo(Unknown Src)

Native call fails at:
JNIEXPORT jobject JNICALL Java_sun_plugin_services_WinRegistry_sysQueryKey
  (JNIEnv *env, jclass, jint hKey, jstring name)
{
  .......
  return env->NewObject(keyValueClass, keyValueCtorID, dataType, dataArray); <--
}

keyValueClass -> 0x00000000
keyValueCtorID -> 0x00000000
  

Call to WinRegistry.sysQueryKey() without calling initializer 
WinRegistry.init(). There is no safe guard in the native WinRegistry 
implementation and it assumes that the initializer has been called.

Call WinRegistry.init() from WIExplorerProxyConfig.getBrowserProxyInfo()

###@###.### 2004-01-29
                                     
2004-01-29
SUGGESTED FIX

WIExplorerProxyConfig.java

 public BrowserProxyInfo getBrowserProxyInfo()
 {
   ....
   if(proxyInfo == null || info.getType() == ProxyType.NONE) {
      int key = WinRegistry.HKEY_CURRENT_USER;
+     WinRegistry.init();       <<<<<--------- ADD -----
      // Check if auto config is enabled
     String autoConfigURL = WinRegistry.getString(key,  
                       REGSTR_PATH_INTERNET_SETTINGS, REGSTR_VAL_AUTOCONFIGURL);
   .....

###@###.### 2004-01-29
                                     
2004-01-29
CONVERTED DATA

BugTraq+ Release Management Values

COMMIT TO FIX:
1.4.2_04

FIXED IN:
1.4.2_04

INTEGRATED IN:
1.4.2_04


                                     
2004-06-14



Hardware and Software, Engineered to Work Together