You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by Rob Walker <ro...@ascert.com> on 2007/09/06 16:22:30 UTC

Q - anyone else seen a Java LinkageError launching Felix from within an Applet

Before I go delving deep in the code, I wonder if anyone else has seen a 
linkage error like that below when trying to launch a Felix framework 
within an Applet

All my JARs are signed, and I've proven that I have access to local 
machine resources such as System properties, local folders etc.

Cheers

-- Rob

java.lang.LinkageError: sun/plugin/net/protocol/http/Handler
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Unknown Source)
	at org.apache.felix.framework.util.SecureAction$Actions.run(SecureAction.java:683)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.apache.felix.framework.util.SecureAction.forName(SecureAction.java:92)
	at org.apache.felix.framework.URLHandlers.createURLStreamHandler(URLHandlers.java:157)
	at java.net.URL.getURLStreamHandler(Unknown Source)
	at java.net.URL.<init>(Unknown Source)
	at java.net.URL.<init>(Unknown Source)
	at java.net.URL.<init>(Unknown Source)
	at java.net.URI.toURL(Unknown Source)
	at com.sun.deploy.cache.DeployCacheHandler.get(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.HttpURLConnection.getResponseCode(Unknown Source)
	at sun.applet.AppletClassLoader.getBytes(Unknown Source)
	at sun.applet.AppletClassLoader.access$100(Unknown Source)
	at sun.applet.AppletClassLoader$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.applet.AppletClassLoader.findClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at sun.applet.AppletClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClassInternal(Unknown Source)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Unknown Source)
	at org.apache.felix.framework.util.SecureAction$Actions.run(SecureAction.java:683)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.apache.felix.framework.util.SecureAction.forName(SecureAction.java:92)
	at org.apache.felix.framework.URLHandlers.createURLStreamHandler(URLHandlers.java:157)
	at java.net.URL.getURLStreamHandler(Unknown Source)
	at java.net.URL.<init>(Unknown Source)
	at java.net.URL.<init>(Unknown Source)
	at java.net.URL.<init>(Unknown Source)
	at org.apache.felix.framework.cache.JarRevision.initialize(JarRevision.java:287)
	at org.apache.felix.framework.cache.JarRevision.<init>(JarRevision.java:83)
	at org.apache.felix.framework.cache.JarRevision.<init>(JarRevision.java:61)
	at org.apache.felix.framework.cache.BundleArchive.createRevisionFromLocation(BundleArchive.java:1086)
	at org.apache.felix.framework.cache.BundleArchive.revise(BundleArchive.java:708)
	at org.apache.felix.framework.cache.BundleArchive.<init>(BundleArchive.java:148)
	at org.apache.felix.framework.cache.BundleCache.create(BundleCache.java:149)
	at org.apache.felix.framework.Felix.installBundle(Felix.java:1795)
	at org.apache.felix.framework.Felix.installBundle(Felix.java:1755)
	at org.apache.felix.framework.Felix.processAutoProperties(Felix.java:2963)
	at org.apache.felix.framework.Felix.start(Felix.java:496)
	at com.ascert.vt.launch.VtLauncher.launchFelix(VtLauncher.java:468)
	at com.ascert.vt.launch.VtLauncher.launchVwin(VtLauncher.java:445)
	at com.ascert.vt.launch.VtLauncher.main(VtLauncher.java:203)
	at com.ascert.vt.launch.VtLauncherApplet.start(VtLauncherApplet.java:79)
	at sun.applet.AppletPanel.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
Exception in thread "thread applet-com.ascert.vt.launch.VtLauncherApplet.class" java.lang.LinkageError: sun/plugin/net/protocol/http/Handler
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Unknown Source)
	at org.apache.felix.framework.util.SecureAction$Actions.run(SecureAction.java:683)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.apache.felix.framework.util.SecureAction.forName(SecureAction.java:92)
	at org.apache.felix.framework.URLHandlers.createURLStreamHandler(URLHandlers.java:157)
	at java.net.URL.getURLStreamHandler(Unknown Source)
	at java.net.URL.<init>(Unknown Source)
	at java.net.URL.<init>(Unknown Source)
	at java.net.URL.<init>(Unknown Source)
	at java.net.URI.toURL(Unknown Source)
	at com.sun.deploy.cache.DeployCacheHandler.get(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.HttpURLConnection.getResponseCode(Unknown Source)
	at sun.applet.AppletClassLoader.getBytes(Unknown Source)
	at sun.applet.AppletClassLoader.access$100(Unknown Source)
	at sun.applet.AppletClassLoader$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.applet.AppletClassLoader.findClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at sun.applet.AppletClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClassInternal(Unknown Source)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Unknown Source)
	at org.apache.felix.framework.util.SecureAction$Actions.run(SecureAction.java:683)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.apache.felix.framework.util.SecureAction.forName(SecureAction.java:92)
	at org.apache.felix.framework.URLHandlers.createURLStreamHandler(URLHandlers.java:157)
	at java.net.URL.getURLStreamHandler(Unknown Source)
	at java.net.URL.<init>(Unknown Source)
	at java.net.URL.<init>(Unknown Source)
	at java.net.URL.<init>(Unknown Source)
	at java.net.JarURLConnection.parseSpecs(Unknown Source)
	at java.net.JarURLConnection.<init>(Unknown Source)
	at sun.net.www.protocol.jar.JarURLConnection.<init>(Unknown Source)
	at sun.net.www.protocol.jar.Handler.openConnection(Unknown Source)
	at java.net.URL.openConnection(Unknown Source)
	at sun.misc.URLClassPath.check(Unknown Source)
	at sun.misc.URLClassPath$JarLoader.checkResource(Unknown Source)
	at sun.misc.URLClassPath$JarLoader.getResource(Unknown Source)
	at sun.misc.URLClassPath.getResource(Unknown Source)
	at sun.misc.URLClassPath.getResource(Unknown Source)
	at java.lang.ClassLoader.getBootstrapResource(Unknown Source)
	at java.lang.ClassLoader.getResource(Unknown Source)
	at java.lang.ClassLoader.getResource(Unknown Source)
	at java.lang.ClassLoader.getSystemResource(Unknown Source)
	at sun.plugin.util.GrayBoxPanel.getErrorImage(Unknown Source)
	at sun.plugin.util.GrayBoxPanel.setError(Unknown Source)
	at sun.plugin.util.GrayBoxPainter.getGrayBoxPanel(Unknown Source)
	at sun.plugin.util.GrayBoxPainter.paintGrayBox(Unknown Source)
	at sun.plugin.util.GrayBoxPainter.repaintGrayBox(Unknown Source)
	at sun.plugin.util.GrayBoxPainter.showLoadingError(Unknown Source)
	at sun.plugin.AppletViewer.showAppletException(Unknown Source)
	at sun.applet.AppletPanel.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)



Re: Q - anyone else seen a Java LinkageError launching Felix from within an Applet

Posted by Rob Walker <ro...@ascert.com>.
Karl

Thanks - just trying this now in fact, al;so with the FELX-38 mod of 
disabling custom URL handlers.

I'm optimistic that it will work ;)

Regards

-- Rob

Karl Pauls wrote:
> Rob,
>
> I've seen this issue with older versions of Felix and at one point of
> time resolved it together with Rick. Is it possible that you use an
> old version/revision of Felix? If so, try the 1.0.0 release with
> should have fixed it.
>
> In case you still see this problem on 1.0.0 could you maybe try to
> provide me with a reproducible example?
>
> regards,
>
> Karl
>
>   


Re: Q - anyone else seen a Java LinkageError launching Felix from within an Applet

Posted by Karl Pauls <ka...@gmail.com>.
Rob,

I've seen this issue with older versions of Felix and at one point of
time resolved it together with Rick. Is it possible that you use an
old version/revision of Felix? If so, try the 1.0.0 release with
should have fixed it.

In case you still see this problem on 1.0.0 could you maybe try to
provide me with a reproducible example?

regards,

Karl

On 9/6/07, Rob Walker <ro...@ascert.com> wrote:
> Before I go delving deep in the code, I wonder if anyone else has seen a
> linkage error like that below when trying to launch a Felix framework
> within an Applet
>
> All my JARs are signed, and I've proven that I have access to local
> machine resources such as System properties, local folders etc.
>
> Cheers
>
> -- Rob
>
> java.lang.LinkageError: sun/plugin/net/protocol/http/Handler
>         at java.lang.Class.forName0(Native Method)
>         at java.lang.Class.forName(Unknown Source)
>         at org.apache.felix.framework.util.SecureAction$Actions.run(SecureAction.java:683)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at org.apache.felix.framework.util.SecureAction.forName(SecureAction.java:92)
>         at org.apache.felix.framework.URLHandlers.createURLStreamHandler(URLHandlers.java:157)
>         at java.net.URL.getURLStreamHandler(Unknown Source)
>         at java.net.URL.<init>(Unknown Source)
>         at java.net.URL.<init>(Unknown Source)
>         at java.net.URL.<init>(Unknown Source)
>         at java.net.URI.toURL(Unknown Source)
>         at com.sun.deploy.cache.DeployCacheHandler.get(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.HttpURLConnection.getResponseCode(Unknown Source)
>         at sun.applet.AppletClassLoader.getBytes(Unknown Source)
>         at sun.applet.AppletClassLoader.access$100(Unknown Source)
>         at sun.applet.AppletClassLoader$1.run(Unknown Source)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at sun.applet.AppletClassLoader.findClass(Unknown Source)
>         at java.lang.ClassLoader.loadClass(Unknown Source)
>         at sun.applet.AppletClassLoader.loadClass(Unknown Source)
>         at java.lang.ClassLoader.loadClass(Unknown Source)
>         at java.lang.ClassLoader.loadClassInternal(Unknown Source)
>         at java.lang.Class.forName0(Native Method)
>         at java.lang.Class.forName(Unknown Source)
>         at org.apache.felix.framework.util.SecureAction$Actions.run(SecureAction.java:683)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at org.apache.felix.framework.util.SecureAction.forName(SecureAction.java:92)
>         at org.apache.felix.framework.URLHandlers.createURLStreamHandler(URLHandlers.java:157)
>         at java.net.URL.getURLStreamHandler(Unknown Source)
>         at java.net.URL.<init>(Unknown Source)
>         at java.net.URL.<init>(Unknown Source)
>         at java.net.URL.<init>(Unknown Source)
>         at org.apache.felix.framework.cache.JarRevision.initialize(JarRevision.java:287)
>         at org.apache.felix.framework.cache.JarRevision.<init>(JarRevision.java:83)
>         at org.apache.felix.framework.cache.JarRevision.<init>(JarRevision.java:61)
>         at org.apache.felix.framework.cache.BundleArchive.createRevisionFromLocation(BundleArchive.java:1086)
>         at org.apache.felix.framework.cache.BundleArchive.revise(BundleArchive.java:708)
>         at org.apache.felix.framework.cache.BundleArchive.<init>(BundleArchive.java:148)
>         at org.apache.felix.framework.cache.BundleCache.create(BundleCache.java:149)
>         at org.apache.felix.framework.Felix.installBundle(Felix.java:1795)
>         at org.apache.felix.framework.Felix.installBundle(Felix.java:1755)
>         at org.apache.felix.framework.Felix.processAutoProperties(Felix.java:2963)
>         at org.apache.felix.framework.Felix.start(Felix.java:496)
>         at com.ascert.vt.launch.VtLauncher.launchFelix(VtLauncher.java:468)
>         at com.ascert.vt.launch.VtLauncher.launchVwin(VtLauncher.java:445)
>         at com.ascert.vt.launch.VtLauncher.main(VtLauncher.java:203)
>         at com.ascert.vt.launch.VtLauncherApplet.start(VtLauncherApplet.java:79)
>         at sun.applet.AppletPanel.run(Unknown Source)
>         at java.lang.Thread.run(Unknown Source)
> Exception in thread "thread applet-com.ascert.vt.launch.VtLauncherApplet.class" java.lang.LinkageError: sun/plugin/net/protocol/http/Handler
>         at java.lang.Class.forName0(Native Method)
>         at java.lang.Class.forName(Unknown Source)
>         at org.apache.felix.framework.util.SecureAction$Actions.run(SecureAction.java:683)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at org.apache.felix.framework.util.SecureAction.forName(SecureAction.java:92)
>         at org.apache.felix.framework.URLHandlers.createURLStreamHandler(URLHandlers.java:157)
>         at java.net.URL.getURLStreamHandler(Unknown Source)
>         at java.net.URL.<init>(Unknown Source)
>         at java.net.URL.<init>(Unknown Source)
>         at java.net.URL.<init>(Unknown Source)
>         at java.net.URI.toURL(Unknown Source)
>         at com.sun.deploy.cache.DeployCacheHandler.get(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.HttpURLConnection.getResponseCode(Unknown Source)
>         at sun.applet.AppletClassLoader.getBytes(Unknown Source)
>         at sun.applet.AppletClassLoader.access$100(Unknown Source)
>         at sun.applet.AppletClassLoader$1.run(Unknown Source)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at sun.applet.AppletClassLoader.findClass(Unknown Source)
>         at java.lang.ClassLoader.loadClass(Unknown Source)
>         at sun.applet.AppletClassLoader.loadClass(Unknown Source)
>         at java.lang.ClassLoader.loadClass(Unknown Source)
>         at java.lang.ClassLoader.loadClassInternal(Unknown Source)
>         at java.lang.Class.forName0(Native Method)
>         at java.lang.Class.forName(Unknown Source)
>         at org.apache.felix.framework.util.SecureAction$Actions.run(SecureAction.java:683)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at org.apache.felix.framework.util.SecureAction.forName(SecureAction.java:92)
>         at org.apache.felix.framework.URLHandlers.createURLStreamHandler(URLHandlers.java:157)
>         at java.net.URL.getURLStreamHandler(Unknown Source)
>         at java.net.URL.<init>(Unknown Source)
>         at java.net.URL.<init>(Unknown Source)
>         at java.net.URL.<init>(Unknown Source)
>         at java.net.JarURLConnection.parseSpecs(Unknown Source)
>         at java.net.JarURLConnection.<init>(Unknown Source)
>         at sun.net.www.protocol.jar.JarURLConnection.<init>(Unknown Source)
>         at sun.net.www.protocol.jar.Handler.openConnection(Unknown Source)
>         at java.net.URL.openConnection(Unknown Source)
>         at sun.misc.URLClassPath.check(Unknown Source)
>         at sun.misc.URLClassPath$JarLoader.checkResource(Unknown Source)
>         at sun.misc.URLClassPath$JarLoader.getResource(Unknown Source)
>         at sun.misc.URLClassPath.getResource(Unknown Source)
>         at sun.misc.URLClassPath.getResource(Unknown Source)
>         at java.lang.ClassLoader.getBootstrapResource(Unknown Source)
>         at java.lang.ClassLoader.getResource(Unknown Source)
>         at java.lang.ClassLoader.getResource(Unknown Source)
>         at java.lang.ClassLoader.getSystemResource(Unknown Source)
>         at sun.plugin.util.GrayBoxPanel.getErrorImage(Unknown Source)
>         at sun.plugin.util.GrayBoxPanel.setError(Unknown Source)
>         at sun.plugin.util.GrayBoxPainter.getGrayBoxPanel(Unknown Source)
>         at sun.plugin.util.GrayBoxPainter.paintGrayBox(Unknown Source)
>         at sun.plugin.util.GrayBoxPainter.repaintGrayBox(Unknown Source)
>         at sun.plugin.util.GrayBoxPainter.showLoadingError(Unknown Source)
>         at sun.plugin.AppletViewer.showAppletException(Unknown Source)
>         at sun.applet.AppletPanel.run(Unknown Source)
>         at java.lang.Thread.run(Unknown Source)
>
>
>


-- 
Karl Pauls
karlpauls@gmail.com