[ https://issues.apache.org/jira/browse/FELIX-2780?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13004072#comment-13004072 ]
Sylvain RIBEYRON commented on FELIX-2780: ----------------------------------------- Hi all. I've had the same issue running Felix on Web Start. I've resolved the issue by patching the ExtensionManager.java. At line 510, replace the line: throw new IOException("Resource not provided by any extension!"); By the following code: // JDK6u24 issue return new URLConnection(url) { @Override public void connect() throws IOException { throw new IOException("Resource not provided by any extension!"); } }; // End JDK6u24 issue The issue occurs when looking up classes, because IOException is thrown on URL.openConnection when classes (or resources) are not found. The IOException should not be thrown on the openConnection method, but later on the connect method on URLConnection (this streamHandler should work as any other http handler: when a file does not exist, the http server sends a 404 response. This response can only occur when URLconnection is established, not when URLConnection is initialized). This patch work fine for me. > Extension bundle implementation relies on urlhandlers service to start > extension bundles > ----------------------------------------------------------------------------------------- > > Key: FELIX-2780 > URL: https://issues.apache.org/jira/browse/FELIX-2780 > Project: Felix > Issue Type: Bug > Components: Framework > Affects Versions: framework-3.0.7 > Environment: Host: Ubuntu Linux > JVM: JAMVM-1.5.4 (patched - see attached patches in Bug 2775) > Library: GNU Classpath 0.98 (patched - see attached patches in Bug 2775) > felix framework - 3.0.7 or 3.1.0-SNAPSHOT > framework.security - 1.4.1 or 1.5.0-SNAPSHOT > Other bundles that are being auto-deployed deployed: > -rw-r--r-- 1 root root 150520 2010-12-26 13:33 > org.apache.felix.bundlerepository-1.6.2.jar > -rw-r--r-- 1 root root 90013 2011-01-10 20:06 > org.apache.felix.framework.security-1.5.0-SNAPSHOT.jar > -rw-r--r-- 1 samba samba 62727 2011-01-13 12:34 > org.apache.felix.shell-1.4.2.jar > -rw-r--r-- 1 samba samba 12748 2011-01-13 12:34 > org.apache.felix.shell.tui-1.4.1.jar > Reporter: Samba > Assignee: Karl Pauls > Priority: Minor > > I am trying to start the felix security framework extension bundle with the > urlhandler service disabled in the Felix framework. > COMMAND: > ====== > /usr/local/jamvm/bin/jamvm -Xmx256M -Dfelix.service.urlhandlers=false > -Dorg.osgi.framework.security="osgi" > -Dpolicy.provider=gnu.java.security.PolicyFile > -Djava.security.policy=file:///home/samba/wurk/downloads/osgi/felix-framework-3.0.7/conf/java.policy > -jar bin/felix.jar > Policy file: > ======== > grant { > permission java.security.AllPermission; > } > grant codeBase "http://felix.extensions:9/" { > permission java.security.AllPermission; > }; > I get the following error and the security framework does not start > WARNING: Unable to start Felix Extension Activator > (java.nio.channels.UnresolvedAddressException) > Stack trace where the exception occurs > at java.lang.Thread.dumpStack(Thread.java:522) > at > java.nio.channels.UnresolvedAddressException.<init>(UnresolvedAddressException.java:55) > at gnu.java.nio.SocketChannelImpl.connect(SocketChannelImpl.java:160) > at gnu.java.net.PlainSocketImpl.connect(PlainSocketImpl.java:281) > at java.net.Socket.connect(Socket.java:454) > at java.net.Socket.connect(Socket.java:414) > at > gnu.java.net.protocol.http.HTTPConnection.getSocket(HTTPConnection.java:721) > at > gnu.java.net.protocol.http.HTTPConnection.getOutputStream(HTTPConnection.java:802) > at gnu.java.net.protocol.http.Request.dispatch(Request.java:292) > at > gnu.java.net.protocol.http.HTTPURLConnection.connect(HTTPURLConnection.java:219) > at > gnu.java.net.protocol.http.HTTPURLConnection.getHeaderField(HTTPURLConnection.java:582) > at java.net.URLConnection.getHeaderFieldInt(URLConnection.java:426) > at java.net.URLConnection.getContentLength(URLConnection.java:302) > at gnu.java.net.loader.RemoteURLLoader.getResource(RemoteURLLoader.java:79) > at java.net.URLClassLoader.findClass(URLClassLoader.java:528) > at java.lang.ClassLoader.loadClass(ClassLoader.java:341) > at java.lang.ClassLoader$1.loadClass(ClassLoader.java:1112) > at java.lang.ClassLoader.loadClass(ClassLoader.java:293) > at > org.apache.felix.framework.ExtensionManager.startExtensionBundle(ExtensionManager.java:381) > at org.apache.felix.framework.Felix.installBundle(Felix.java:2610) > at org.apache.felix.framework.Felix.installBundle(Felix.java:2429) > at > org.apache.felix.framework.BundleContextImpl.installBundle(BundleContextImpl.java:121) > at > org.apache.felix.framework.BundleContextImpl.installBundle(BundleContextImpl.java:107) > at > org.apache.felix.main.AutoProcessor.processAutoDeploy(AutoProcessor.java:173) > at org.apache.felix.main.AutoProcessor.process(AutoProcessor.java:78) > at org.apache.felix.main.Main.main(Main.java:291) > at java.lang.reflect.VMMethod.invoke(Native Method) > at java.lang.reflect.Method.invoke(Method.java:327) > at jamvm.java.lang.JarLauncher.main(JarLauncher.java:50) -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira