JDK-8023094 : web start short cut icon disappear when launch disconnected
  • Type: Bug
  • Component: deploy
  • Sub-Component: webstart
  • Affected Version: 7u13,7u21,7u25,8
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: windows_7
  • Submitted: 2013-08-13
  • Updated: 2016-05-26
  • Resolved: 2014-10-15
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 8 JDK 9
8u40 b12Fixed 9Fixed
Related Reports
Relates :  
Description
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.
Comments
This last worked in 6u30. Not a showstopper for 7u40 at this point in the release cycle.
15-08-2013

SQE is ok to defer from 7u40.
15-08-2013