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
|
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
|