JDK-7121086 : Offline application does not work without internet access if uses extension
  • Type: Bug
  • Component: deploy
  • Sub-Component: webstart
  • Affected Version: 6u29
  • Priority: P4
  • Status: Resolved
  • Resolution: Won't Fix
  • OS: windows_xp
  • CPU: x86
  • Submitted: 2011-12-13
  • Updated: 2014-05-06
  • Resolved: 2014-05-06
Description
FULL PRODUCT VERSION :
Java(TM) SE Runtime Environment (build 1.6.0_29-b11)
Java HotSpot(TM) Client VM (build 20.4-b02, mixed mode, sharing)

ADDITIONAL OS VERSION INFORMATION :
Windows XP SP3
Professional Version 2002

A DESCRIPTION OF THE PROBLEM :
An application allowed to run off-line that uses jnlp as extension does not work anymore without Internet connection.

In fact , after unpluging internet access, the application works once and all the next running does not work anymore.
When you reconnect the Internet Access the application is updated even if no modification has been done.


REGRESSION.  Last worked in version 6u29

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
see above. Really simple to produce.


ERROR MESSAGES/STACK TRACES THAT OCCUR :
java.net.UnknownHostException: www.web-emedia.com
	at java.net.PlainSocketImpl.connect(Unknown Source)
	at java.net.SocksSocketImpl.connect(Unknown Source)
	at java.net.Socket.connect(Unknown Source)
	at java.net.Socket.connect(Unknown Source)
	at sun.net.NetworkClient.doConnect(Unknown Source)
	at sun.net.www.http.HttpClient.openServer(Unknown Source)
	at sun.net.www.http.HttpClient.openServer(Unknown Source)
	at sun.net.www.http.HttpClient.<init>(Unknown Source)
	at sun.net.www.http.HttpClient.New(Unknown Source)
	at sun.net.www.http.HttpClient.New(Unknown Source)
	at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source)
	at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
	at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
	at com.sun.deploy.net.BasicHttpRequest.doRequest(Unknown Source)
	at com.sun.deploy.net.BasicHttpRequest.doGetRequestEX(Unknown Source)
	at com.sun.deploy.net.DownloadEngine.isUpdateAvailable(Unknown Source)
	at com.sun.deploy.net.DownloadEngine.isUpdateAvailable(Unknown Source)
	at com.sun.deploy.net.DownloadEngine.getResourceCacheEntry(Unknown Source)
	at com.sun.deploy.net.DownloadEngine.getCachedFile(Unknown Source)
	at com.sun.javaws.LaunchDownload.downloadExtensionsHelper(Unknown Source)
	at com.sun.javaws.LaunchDownload.downloadExtensions(Unknown Source)
	at com.sun.javaws.Launcher.prepareLaunchFile(Unknown Source)
	at com.sun.javaws.Launcher.prepareAllResources(Unknown Source)
	at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
	at com.sun.javaws.Launcher.prepareToLaunch(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$1.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)


REPRODUCIBILITY :
This bug can be reproduced always.

CUSTOMER SUBMITTED WORKAROUND :
Get rif of every jnlp used as extension. meaning mix all in one. At this condition that works

Comments
We don't have plans to fix it
06-05-2014

EVALUATION more reports on this in forum: https://forums.oracle.com/forums/thread.jspa?threadID=2320066&tstart=0 they claimed it's recent regression. i can reproduce the problem using 6u30 and the first example in the forum. below is what happen when i try to launch offline: "Java Web Start Main Thread" prio=6 tid=0x05ee7400 nid=0x14e0 in Object.wait() [0x05def000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x2915f170> (a java.awt.EventQueue$1AWTInvocationLock) at java.lang.Object.wait(Object.java:485) at java.awt.EventQueue.invokeAndWait(Unknown Source) - locked <0x2915f170> (a java.awt.EventQueue$1AWTInvocationLock) at javax.swing.SwingUtilities.invokeAndWait(Unknown Source) at com.sun.deploy.ui.DialogTemplate.setVisible(Unknown Source) at com.sun.deploy.ui.UIFactory$7.execute(Unknown Source) at com.sun.javaws.ui.JavawsSysRun.delegate(Unknown Source) at com.sun.deploy.util.DeploySysRun.execute(Unknown Source) at com.sun.deploy.util.DeploySysRun$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at com.sun.deploy.util.DeploySysRun.executePrivileged(Unknown Source) at com.sun.deploy.ui.UIFactory.showConfirmDialog(Unknown Source) at com.sun.deploy.ui.UIFactory.showConfirmDialog(Unknown Source) at com.sun.deploy.ui.UIFactory.showConfirmDialog(Unknown Source) at com.sun.deploy.net.offline.WIExplorerOfflineHandler.askUserGoOnline(Unknown Source) at com.sun.deploy.net.offline.DeployOfflineManager.askUserGoOnline(Unknown Source) at com.sun.javaws.Launcher.prepareToLaunch(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$1.run(Unknown Source) at java.lang.Thread.run(Unknown Source) we shouldn't be showing the goonline dialog to begin with should just start instead
14-12-2011