United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-8000290 Web Start fails to find native library jar when offline
JDK-8000290 : Web Start fails to find native library jar when offline

Details
Type:
Backport
Submit Date:
2012-10-01
Status:
Closed
Updated Date:
2012-11-19
Project Name:
JDK
Resolved Date:
2012-10-02
Component:
deploy
OS:
Sub-Component:
webstart
CPU:
Priority:
P3
Resolution:
Fixed
Affected Versions:
7
Fixed Versions:
7u10 (b12)

Related Reports
Backport:

Sub Tasks

Description
FULL PRODUCT VERSION :
java version "1.7.0_06"

ADDITIONAL OS VERSION INFORMATION :
Microsoft Windows [Version 6.1.7601]
  Bug occurs on all OSs tested so far: Win7, WinXP

A DESCRIPTION OF THE PROBLEM :
Application works as expected when "online" i.e. with an internet connection, but fails when "offline" i.e. with no internet connection:

JNLPClassLoader: Finding library jspWin.dll
java.net.ConnectException: Connection timed out: connect
	at java.net.TwoStacksPlainSocketImpl.socketConnect(Native Method)
	at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
        ...

java.lang.UnsatisfiedLinkError: no jspWin in java.library.path: Check that native library jspWin is in proper directory


This is a regression - it works on Java6, Java5, Java4.

REGRESSION.  Last worked in version 6u31

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Get http://driveweb.com/tech/ap/v3/dw.jnlp
After launch, etc., choose menu item 'Directory->Discover on Serial Port->PL-series DC drive'

When online, it works, when offline it fails.

EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
A dialog appears which would allow connection via a serial port
ACTUAL -
An exception occurs (and is reported via a dialog).

ERROR MESSAGES/STACK TRACES THAT OCCUR :
Here is a log from WinXP:


Serialio Library: version 10.0.4: build 9212
Copyright (c) 1996-2009 Serialio.com, All Rights Reserved.
os.name="Windows XP"  os.arch="x86"
JNLPClassLoader: Finding library jspWin.dll
java.net.ConnectException: Connection timed out: connect
	at java.net.TwoStacksPlainSocketImpl.socketConnect(Native Method)
	at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
	at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
	at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
	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 sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
	at java.net.URL.openStream(Unknown Source)
	at com.bardac.dw1.tools.Toolbox$7.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
java.lang.UnsatisfiedLinkError: no jspWin in java.library.path: Check that native library jspWin is in proper directory
java.lang.Exception: Unable to find library file; ensure that the working directory contains jspWin.dll or libjspMacOSX.jnilib
	at com.bardac.dw1.tools.model.SerialPort.a(Unknown Source)
	at com.bardac.dw1.tools.model.SerialPort.access$3400(Unknown Source)
	at com.bardac.dw1.tools.model.SerialPort$l.try(Unknown Source)
	at com.bardac.dw1.tools.model.SerialPort$l.access$1600(Unknown Source)
	at com.bardac.dw1.tools.model.SerialPort.a(Unknown Source)
	at com.bardac.dw1.tools.ui.DMenuItem$dq.do(Unknown Source)
	at com.bardac.dw1.tools.ui.DMenuItem.actionPerformed(Unknown Source)
	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at javax.swing.AbstractButton$Handler.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.doClick(Unknown Source)
	at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
	at java.awt.Component.processMouseEvent(Unknown Source)
	at javax.swing.JComponent.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.dispatchEventImpl(Unknown Source)
	at java.awt.EventQueue.access$000(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)
Aug 28, 2012 3:48:54 PM com.bardac.dw1.tools.Toolbox if
INFO: Unable to find library file; ensure that the working directory contains jspWin.dll or libjspMacOSX.jnilib


REPRODUCIBILITY :
This bug can be reproduced always.

CUSTOMER SUBMITTED WORKAROUND :
Remove Java 7 and re-install java 6

                                    

Comments
Verified. Test case passed. functional works without exception with disable network.
                                     
2012-10-30



Hardware and Software, Engineered to Work Together