Skip to main content

java.lang.UnsatisfiedLinkError

7 replies [Last post]
josecefe
Offline
Joined: 2003-06-11
Points: 0

Hello,

I have been trying mustang weekly builds since several months. In last builds, I have noted the following error:
"java.lang.UnsatisfiedLinkError".
This happen with JDIC, for example. If you want to try, go to https://jdic.dev.java.net/ and try, for example, TrayIcon demo.

Is this a known issue?

Regards,
Cefe

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
jjburke
Offline
Joined: 2004-03-16
Points: 0

Works fine with my XP using Firefox and Runtime (build 1.6.0-rc-b100). The little duke waving is quite cute.

Jim Burke

peruano
Offline
Joined: 2007-03-26
Points: 0

I am trying to create a test browser applet using jdic.jar (cross-platform) and I'm seeing the same
Unsatisfied link error:
org.jdesktop.jdic.init.JdicInitException: java.lang.UnsatisfiedLinkError: no jdic in java.library.path
at org.jdesktop.jdic.init.JdicManager.initBrowserNative(Unknown Source)
at org.jdesktop.jdic.browser.WebBrowser.(Unknown Source)
at JDICTestBrowser.init(JDICTestBrowser.java:18)
at sun.applet.AppletPanel.run(AppletPanel.java:354)
at java.lang.Thread.run(Thread.java:552)
Caused by: java.lang.UnsatisfiedLinkError: no jdic in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1517)
at java.lang.Runtime.loadLibrary0(Runtime.java:788)
at java.lang.System.loadLibrary(System.java:834)
at org.jdesktop.jdic.init.InitUtility.(Unknown Source)
... 5 more
java.lang.UnsatisfiedLinkError: no jdic in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1517)
at java.lang.Runtime.loadLibrary0(Runtime.java:788)
at java.lang.System.loadLibrary(System.java:834)
at org.jdesktop.jdic.browser.internal.WebBrowserUtil.(Unknown Source)
at org.jdesktop.jdic.browser.MsgClient.(Unknown Source)
at org.jdesktop.jdic.browser.NativeEventThread.(Unknown Source)
at org.jdesktop.jdic.browser.WebBrowser.(Unknown Source)
at JDICTestBrowser.init(JDICTestBrowser.java:18)
at sun.applet.AppletPanel.run(AppletPanel.java:354)
at java.lang.Thread.run(Thread.java:552)
java.lang.NoClassDefFoundError
at JDICTestBrowser.init(JDICTestBrowser.java:18)
at sun.applet.AppletPanel.run(AppletPanel.java:354)
at java.lang.Thread.run(Thread.java:552)

I'm running Java 1.4.2 (Mac OSX default) and using Eclipse. The browser source this test applet is based on is from:
https://jdic.dev.java.net/documentation/deployment.html

import java.awt.*;
import javax.swing.*;
import java.net.URL;
import java.net.MalformedURLException;
import org.jdesktop.jdic.browser.*;

/**
* @author admin
*
*/
public class JDICTestBrowser extends JApplet {
private static final long serialVersionUID = 1576583L;
public void init() {
WebBrowser.setDebug(true);
WebBrowser browser = new WebBrowser();
URL url;
try {
url = new URL("http://www.google.com");
browser.setURL(url);
} catch (MalformedURLException e) {
e.printStackTrace();
}
this.add(browser);
}

}

What I'm I missing here?

wiggleworms
Offline
Joined: 2008-05-19
Points: 0

this topic spans a few years, but it is the only result on Google for this error

I found that the beta version of Firefox broke my JDIC program and gave me the cannonicalPath error, reinstalling the old version and setting that to the default browser fixed the problem

i just installed FF3 RC1 and now i'm getting that error again, i guess JDIC is no longer well supported?

aces
Offline
Joined: 2003-07-17
Points: 0

After I updated to FireFox 3, my JDIC help system just stop working.
I had set IE as my default browser to have it working again.

Below is a partial stack trace:
[code]
org.jdesktop.jdic.init.JdicInitException: java.io.IOException: The filename, directory name, or volume label syntax is incorrect
at org.jdesktop.jdic.init.JdicManager.initBrowserNative(Unknown Source)
at org.jdesktop.jdic.browser.WebBrowser.(Unknown Source)
at javax.help.plaf.basic.BasicNativeContentViewerUI.installUI(BasicNativeContentViewerUI.java:125)
at javax.swing.JComponent.setUI(JComponent.java:668)
at javax.help.JHelpContentViewer.setUI(JHelpContentViewer.java:120)
at javax.help.JHelpContentViewer.updateUI(JHelpContentViewer.java:140)
at javax.help.JHelpContentViewer.(JHelpContentViewer.java:87)
at javax.help.JHelp.(JHelp.java:122)
at javax.help.WindowPresentation.createJHelp(WindowPresentation.java:853)
at javax.help.WindowPresentation.createHelpWindow(WindowPresentation.java:889)
at javax.help.WindowPresentation.setDisplayed(WindowPresentation.java:354)
at javax.help.DefaultHelpBroker.setDisplayed(DefaultHelpBroker.java:186)
[/code]

I'll try to post it on JDIC forum

gmanwani
Offline
Joined: 2004-07-12
Points: 0

Hi,

I tried running the TrayIcon demo using mustang b42 but did not see any UnsatisfiedLinkError. I am getting a different exception though (which seems like a JDIC bug/issue)

Java Web Start 1.6.0-ea
Using JRE version 1.6.0-ea Java HotSpot(TM) Client VM
User home directory = C:\Documents and Settings\xxxxxx
----------------------------------------------------
c: clear console window
f: finalize objects on finalization queue
g: garbage collect
h: display this help message
m: print memory usage
o: trigger logging
p: reload proxy configuration
q: hide console
r: reload policy configuration
s: dump system and deployment properties
t: dump thread list
v: dump thread stack
0-5: set trace level to
----------------------------------------------------
org.jdesktop.jdic.init.JdicInitException: java.io.IOException: The filename, directory name, or volume label syntax is incorrect
at org.jdesktop.jdic.init.JdicManager.initShareNative(Unknown Source)
at org.jdesktop.jdic.tray.internal.ServiceManager.(Unknown Source)
at org.jdesktop.jdic.tray.SystemTray.(Unknown Source)
at Tray.(Unknown Source)
at Tray.main(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.javaws.Launcher.executeApplication(Unknown Source)
at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.io.IOException: The filename, directory name, or volume label syntax is incorrect
at java.io.WinNTFileSystem.canonicalize0(Native Method)
at java.io.Win32FileSystem.canonicalize(Unknown Source)
at java.io.File.getCanonicalPath(Unknown Source)
... 14 more

georgez
Offline
Joined: 2003-08-19
Points: 0

Hi,

I just verified that that demo works with JDK 1.5 update 4 (build 1.5.0-b64).

But not with Mustang b42. The exception is exactly like the above post. I think both JDK 1.5 and Mustang are using exactly the same JNLP files (and WebStart cache), so I think this might be a bug with Mustang b42.

On the other hand, I looked into this exception output:
...
Caused by: java.io.IOException: The filename, directory name, or volume label syntax is incorrect
at java.io.WinNTFileSystem.canonicalize0(Native Method)
at java.io.Win32FileSystem.canonicalize(Unknown Source)
at java.io.File.getCanonicalPath(Unknown Source)

and found that this error message was actually thrown by a native Windows call:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/w2kmsgs...
http://support.microsoft.com/default.aspx?scid=kb;en-us;315472

As the native path is just a normal Windows path, if the native method (such as canonicalize0()) can't handle some characters, it should catch the errors and handle it with some workaround. There is no way in Java to change the native path. :-(

Thanks,
-George.

rram
Offline
Joined: 2006-09-27
Points: 0

Getting the following error with JDK 1.6.0 beta 2.

org.jdesktop.jdic.init.JdicInitException: java.io.IOException: The filename, directory name, or volume label syntax is incorrect
at org.jdesktop.jdic.init.JdicManager.initShareNative(Unknown Source)
at org.jdesktop.jdic.tray.internal.ServiceManager.(Unknown Source)
at org.jdesktop.jdic.tray.SystemTray.(Unknown Source)
at com.clx.client.gui.ClientTrayIcon.(Unknown Source)
at com.clx.client.gui.ClientTrayIcon.getInstance(Unknown Source)
at com.clx.client.gui.ClientController.addClientTrayIcon(Unknown Source)
at com.clx.client.gui.ClientController.main(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.javaws.Launcher.executeApplication(Unknown Source)
at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.io.IOException: The filename, directory name, or volume label syntax is incorrect
at java.io.WinNTFileSystem.canonicalize0(Native Method)
at java.io.Win32FileSystem.canonicalize(Unknown Source)
at java.io.File.getCanonicalPath(Unknown Source)
... 16 more

The tray icon starts though and seems to work fine.

However, the same is not the case with the JDIC's web browser. This one gives the following error and does not come up.

org.jdesktop.jdic.init.JdicInitException: java.io.IOException: The filename, directory name, or volume label syntax is incorrect
at org.jdesktop.jdic.init.JdicManager.initShareNative(Unknown Source)
at org.jdesktop.jdic.browser.WebBrowser.(Unknown Source)
at com.clx.client.gui.device.BrowserView.(Unknown Source)
at com.clx.client.gui.device.BrowserView.getInstance(Unknown Source)
at com.clx.client.gui.device.DeviceController.viewMeterReadActionPerformed(Unknown Source)
at com.clx.client.gui.device.DeviceController.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.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.AWTEventMulticaster.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.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)
Caused by: java.io.IOException: The filename, directory name, or volume label syntax is incorrect
at java.io.WinNTFileSystem.canonicalize0(Native Method)
at java.io.Win32FileSystem.canonicalize(Unknown Source)
at java.io.File.getCanonicalPath(Unknown Source)
... 32 more
Can't execute the native embedded browser. Error message: Cannot run program "garuda.celstream-in.com:80\IeEmbed.exe": CreateProcess error=2, The system cannot find the file specified

I do see that 1.6 uses a different cache folder (6.0 subfolder under cache folder) and none of the data therein is human readable, as it used to be in 1.5

Also, the JNLP application does not show up in the Java Cache Viewer though it exists and there is a shortcut.

Not sure if this is a bug or some change needed in our application or the JDIC library.