Name: nt126004 Date: 02/06/2002
FULL PRODUCT VERSION :
java version "1.3.1"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1-b24)
Java HotSpot(TM) Client VM (build 1.3.1-b24, mixed mode)
FULL OPERATING SYSTEM VERSION :
Windows NT Version 4.0
build 1381
service pack 4
A DESCRIPTION OF THE PROBLEM :
When selecting the Advance tab in the Preferences dialog
the tab doesn't show anything. After closing the preference
dialog it is not possible to open it anymore in the
current Java Web Start session.
It appears to be a problem accessing the registry. (Based on the stacktrace)
The problem could be in KeyValue.getValue()
if the retrieved string from the registry is set but of zero length
(even if possibly not my problem in the end this is a BUG).
Decompiling WinRegistry class with Jad you can see that in the
case of string data ("case 1:") you are trying to create the following:
return new String(data,0,-1);
Here is the decompiled code (com.sun.javaws.WinRegistry):
public class WinRegistry
{
static class KeyValue
{
public Object getValue()
{
switch(type)
{
case 1: // '\001'
return new String(data, 0, data.length - 1);
case 4: // '\004'
int i = 0;
for(int j = 0; j < 4 && j < data.length; j++)
i += data[j] << j * 8;
return new Integer(i);
case 2: // '\002'
case 3: // '\003'
default:
return getData();
}
}
// ...
}
// ...
}
...here where it is called (com.sun.javaws.proxy.WinInternetProxy):
public InternetProxyInfo getBrowserInfo()
{
InternetProxyInfo internetproxyinfo = new InternetProxyInfo();
String s = "http\\shell\\open\\ddeexec\\Application";
int i = 0x80000000;
String s1 = WinRegistry.getString(i, s, "");
Above I assume that the third empty String is meant to
point to the (Default) key in the registry.
...and here (part of) my stacktrace:
Exception occurred during event dispatching:
java.lang.StringIndexOutOfBoundsException: length must be >= 0
at java.lang.String.<init>(Unknown Source)
at java.lang.String.<init>(Unknown Source)
at com.sun.javaws.WinRegistry$KeyValue.getValue(Unknown Source)
at com.sun.javaws.WinRegistry.get(Unknown Source)
at com.sun.javaws.WinRegistry.getString(Unknown Source)
at com.sun.javaws.proxy.WinInternetProxy.getBrowserInfo(Unknown Source)
at com.sun.javaws.ui.prefs.GeneralPanel.<init>(Unknown Source)
The strange thing is that I got the exception even if the value of
"http\\shell\\open\\ddeexec\\Application" key is "IExplore"
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
1.Select File->Preferences
2.select Advanced tab (the exception messages are traced)
3.close Preference dialog
4.repeat 1.: nothin happens
EXPECTED VERSUS ACTUAL BEHAVIOR :
It should show some preference such as
the possibility to show the Java Web Start Console
ERROR MESSAGES/STACK TRACES THAT OCCUR :
Java Web Start Console, started Wed Dec 19 19:02:58 CET 2001
Java 2 Runtime Environment: Version 1.3.1 by Sun
Microsystems Inc.
Assert failure: should never return null
java.lang.Throwable
at com.sun.javaws.debug.Debug.dumpStack(Unknown Source)
at com.sun.javaws.debug.Debug.assert(Unknown Source)
at com.sun.javaws.cache.DiskCache.visitDiskCacheHelper(Unknown Source)
at com.sun.javaws.cache.DiskCache.visitDiskCacheHelper(Unknown Source)
at com.sun.javaws.cache.DiskCache.visitDiskCacheHelper(Unknown Source)
at com.sun.javaws.cache.DiskCache.visitDiskCacheHelper(Unknown Source)
at com.sun.javaws.cache.DiskCache.visitDiskCacheHelper(Unknown Source)
at com.sun.javaws.cache.DiskCache.visitDiskCacheHelper(Unknown Source)
at com.sun.javaws.cache.DiskCache.visitDiskCacheHelper(Unknown Source)
at com.sun.javaws.cache.DiskCache.visitDiskCacheHelper(Unknown Source)
at com.sun.javaws.cache.DiskCache.visitDiskCacheHelper(Unknown Source)
at com.sun.javaws.cache.DiskCache.visitDiskCacheHelper(Unknown Source)
at com.sun.javaws.cache.DiskCache.visitDiskCacheHelper(Unknown Source)
at com.sun.javaws.cache.DiskCache.visitDiskCache(Unknown Source)
at com.sun.javaws.cache.DiskCache.getCacheSize(Unknown Source)
at com.sun.javaws.ui.prefs.AdvancedPanel.revert(Unknown Source)
at com.sun.javaws.ui.prefs.AdvancedPanel.createPropertyControls(Unknown
Source)
at com.sun.javaws.ui.prefs.PrefsPanel$PropertyPanel.start(Unknown Source)
at com.sun.javaws.ui.general.AbstractController.setActiveSubcontrollerIndex(Unknown
Source)
at com.sun.javaws.ui.prefs.PrefsPanel.setSelectedTab(Unknown Source)
at com.sun.javaws.ui.prefs.PrefsPanel.stateChanged(Unknown Source)
at javax.swing.JTabbedPane.fireStateChanged(Unknown Source)
at javax.swing.JTabbedPane$ModelListener.stateChanged(Unknown Source)
at javax.swing.DefaultSingleSelectionModel.fireStateChanged(Unknown Source)
at javax.swing.DefaultSingleSelectionModel.setSelectedIndex(Unknown Source)
at javax.swing.JTabbedPane.setSelectedIndex(Unknown Source)
at javax.swing.plaf.basic.BasicTabbedPaneUI$MouseHandler.mousePressed(Unknown
Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Exception occurred during event dispatching:
java.lang.NullPointerException
at com.sun.javaws.cache.DiskCache$SizeVisitor.visitEntry(Unknown Source)
at com.sun.javaws.cache.DiskCache.visitDiskCacheHelper(Unknown Source)
at com.sun.javaws.cache.DiskCache.visitDiskCacheHelper(Unknown Source)
at com.sun.javaws.cache.DiskCache.visitDiskCacheHelper(Unknown Source)
at com.sun.javaws.cache.DiskCache.visitDiskCacheHelper(Unknown Source)
at com.sun.javaws.cache.DiskCache.visitDiskCacheHelper(Unknown Source)
at com.sun.javaws.cache.DiskCache.visitDiskCacheHelper(Unknown Source)
at com.sun.javaws.cache.DiskCache.visitDiskCacheHelper(Unknown Source)
at com.sun.javaws.cache.DiskCache.visitDiskCacheHelper(Unknown Source)
at com.sun.javaws.cache.DiskCache.visitDiskCacheHelper(Unknown Source)
at com.sun.javaws.cache.DiskCache.visitDiskCacheHelper(Unknown Source)
at com.sun.javaws.cache.DiskCache.visitDiskCacheHelper(Unknown Source)
at com.sun.javaws.cache.DiskCache.visitDiskCache(Unknown Source)
at com.sun.javaws.cache.DiskCache.getCacheSize(Unknown Source)
at com.sun.javaws.ui.prefs.AdvancedPanel.revert(Unknown Source)
at com.sun.javaws.ui.prefs.AdvancedPanel.createPropertyControls(Unknown
Source)
at com.sun.javaws.ui.prefs.PrefsPanel$PropertyPanel.start(Unknown Source)
at
com.sun.javaws.ui.general.AbstractController.setActiveSubcontrollerIndex(Unknown
Source)
at com.sun.javaws.ui.prefs.PrefsPanel.setSelectedTab(Unknown Source)
at com.sun.javaws.ui.prefs.PrefsPanel.stateChanged(Unknown Source)
at javax.swing.JTabbedPane.fireStateChanged(Unknown Source)
at javax.swing.JTabbedPane$ModelListener.stateChanged(Unknown Source)
at javax.swing.DefaultSingleSelectionModel.fireStateChanged(Unknown Source)
at javax.swing.DefaultSingleSelectionModel.setSelectedIndex(Unknown Source)
at javax.swing.JTabbedPane.setSelectedIndex(Unknown Source)
at javax.swing.plaf.basic.BasicTabbedPaneUI$MouseHandler.mousePressed(Unknown
Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Also this one:
Java Web Start Console, started Tue Jan 29 14:10:37 CET 2002
Java 2 Runtime Environment: Version 1.3.1 by Sun Microsystems Inc.
Exception occurred during event dispatching:
java.lang.StringIndexOutOfBoundsException: length must be >= 0
at java.lang.String.<init>(Unknown Source)
at java.lang.String.<init>(Unknown Source)
at com.sun.javaws.WinRegistry$KeyValue.getValue(Unknown Source)
at com.sun.javaws.WinRegistry.get(Unknown Source)
at com.sun.javaws.WinRegistry.getString(Unknown Source)
at com.sun.javaws.proxy.WinInternetProxy.getBrowserInfo(Unknown Source)
at com.sun.javaws.ui.prefs.GeneralPanel.<init>(Unknown Source)
at com.sun.javaws.ui.prefs.WinSubcontrollerCreator.getSubcontroller(Unknown Source)
at com.sun.javaws.ui.prefs.PrefsPanel.createSubcontroller(Unknown Source)
at com.sun.javaws.ui.prefs.PrefsPanel.access$0(Unknown Source)
at com.sun.javaws.ui.prefs.PrefsPanel$1.createSubcontroller(Unknown Source)
at com.sun.javaws.ui.general.AbstractController.setActiveSubcontrollerIndex(Unknown Source)
at com.sun.javaws.ui.prefs.PrefsPanel.setSelectedTab(Unknown Source)
at com.sun.javaws.ui.prefs.PrefsPanel.<init>(Unknown Source)
at com.sun.javaws.ui.player.Player$4.actionPerformed(Unknown Source)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI$MouseInputHandler.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
This bug can be reproduced always.
------- BEGIN SOURCE -------------
#
#Wed Jan 30 10:22:25 CET 2002
javaws.cfg.proxy.httpport=8080
javaws.cfg.proxy.setting=MANUAL
javaws.favorites.size=0
javaws.cfg.logToFile=false
javaws.player.manager=0
javaws.whenInstall=0
javaws.player.bounds=573,18,609,552
javaws.cfg.logFileName=
javaws.player.mode=1
javaws.cfg.showConsole=true
javaws.cfg.proxy.httpproxyoverride=localhost,gesun128.it.marconicomms.com,172.16.135.65,gesun128
javaws.whatInstall=3
javaws.cfg.proxy.http=proxy1
--------- END SOURCE --------------
CUSTOMER WORKAROUND :
In order to enable Java Web Start Console
I had to edit the javaws.cfg property file
(Review ID: 137568)
======================================================================
- duplicates
-
JDK-4506366 JavaWebStart crashes while trying to load proxy settings from IE
-
- Resolved
-