FULL PRODUCT VERSION :
7u25, 7u21, 7u13, JDK8 (I have tried 25, 21, 13, all same) and Jre 8
ADDITIONAL OS VERSION INFORMATION :
This happens to a lot of machines, win7, win8.
My machine is Windows 7 Enterprise, Service pack 1, 64-bit operating system.
EXTRA RELEVANT SYSTEM CONFIGURATION :
need to disconnect internet after web start installed shortcut with icon
A DESCRIPTION OF THE PROBLEM :
First launch a web start application with shortcut installed on local machine with an image.
jnlp will have below in <info>
<icon href= " http://ibtbuild.ets.org:80/ibt/images/etslogoonly.gif " kind= " default " />
Then disconnect the internet and launch the shortcut.
You will see that the shortcut gets recreated with image of javaws icon.
When launch connected again, the shortcut icon gets recreated.
We released fine with Java 1.6_30. Now start to find this problem with all Java 7 version and above.
REGRESSION. Last worked in version 6u30
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
First launch a web start application with shortcut installed on local machine with an image. Then disconnect the internet and launch the shortcut.
You will see that the shortcut gets recreated with image of javaws icon.
When launch connected again, the shortcut icon gets recreated.
We released fine with Java 1.6_30. Now start to find this problem with all Java 7 version and above
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
shortcut icon should display the correct image even launch disconnected
ACTUAL -
shortcut icon gets replaced with image of javaws icon.
ERROR MESSAGES/STACK TRACES THAT OCCUR :
network: Cache entry found [url: http://ibtbuild.ets.org:80/ibt/images/etslogoonly.gif, version: null] prevalidated=false/0
cache: Adding MemoryCache entry: http://ibtbuild.ets.org:80/ibt/images/etslogoonly.gif
cache: Resource http://ibtbuild.ets.org:80/ibt/images/etslogoonly.gif has expired.
network: Connecting http://ibtbuild.ets.org:80/ibt/images/etslogoonly.gif with proxy=DIRECT
network: Connecting socket://ibtbuild.ets.org:80 with proxy=DIRECT
java.net.UnknownHostException: ibtbuild.ets.org
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
....
at com.sun.javaws.Launcher.launch(Unknown Source)
at com.sun.javaws.Main.launchApp(Unknown Source)
at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
at com.sun.javaws.Main.access$000(Unknown Source)
at com.sun.javaws.Main$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
cache: Resource http://ibtbuild.ets.org:80/ibt/images/etslogoonly.gif has expired.
network: Connecting http://ibtbuild.ets.org:80/ibt/images/etslogoonly.gif with proxy=DIRECT
network: Connecting socket://ibtbuild.ets.org:80 with proxy=DIRECT
java.net.UnknownHostException: ibtbuild.ets.org
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
....
at com.sun.javaws.Main.access$000(Unknown Source)
at com.sun.javaws.Main$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
temp: Start path: C:\Users\fzhang\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\ desktop C:\Users\fzhang\Desktoptemp: installshortcut with args:
temp: path: C:\Users\fzhang\Desktop\iBT - IAS Local Server.lnk
temp: name: iBT - IAS Local Server
temp: desc: ETS iBT CacheProxy
temp: appP: C:\Windows\SysWOW64\javaws.exe
temp: args: -localfile " C:\Users\fzhang\AppData\LocalLow\Sun\Java\Deployment\cache\6.0\48\61003770-34b2698e "
temp: dir : null
temp: icon: C:\Windows\SysWOW64\javaws.exe
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
There is no source code for this, the java ws team should be easily reproduce this
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
If I specify the icon href to a specific image in my local machine, instead of a actual url of http, it works.
<icon href= " http://ibtbuild.ets.org:80/ibt/images/etslogoonly.gif " kind= " default " /> no good,
<icon href= " file:///C:/project/ibt/java/j2ee/ibt.ear/control.war/images/etslogoonly.gif " /> is fine.
But this is not what is desired.