Nothing concrete but this sounds like a SecurityManager issue wrt to
protocol handlers (specifically NetPermission("specifyStreamHandler") ),
see this http://java.sun.com/developer/onlineTraining/protocolhandlers/Try disabling Felix's url handling: *-Dfelix.service.urlhandlers=false* Caspar On 22 November 2011 10:56, Caunter, Mark <[email protected]> wrote: > Hi, > > We've added the felix property felix.bootdelegation.implicit=false as > recommended by Karl and that enabled us to get past that initial problem. > > However, there is a further issue: > > After Felix is started, our code creates a URL, opens the connection and > reads in the response from the input stream. Pretty basic stuff, but this > code is failing in the most fundamental way: > > 11-22 10:20:42.057: E/SkiftaService(3342): java.net.MalformedURLException: > java.lang.IllegalStateException: Unknown protocol: http > 11-22 10:20:42.057: E/SkiftaService(3342): at > java.net.URL.<init>(URL.java:192) > 11-22 10:20:42.057: E/SkiftaService(3342): at > java.net.URL.<init>(URL.java:127) > 11-22 10:20:42.057: E/SkiftaService(3342): at > com.skifta.android.client.SkiftaService.init(SkiftaService.java:782) > 11-22 10:20:42.057: E/SkiftaService(3342): at > com.skifta.android.client.SkiftaService$1.run(SkiftaService.java:384) > 11-22 10:20:42.057: E/SkiftaService(3342): at > java.lang.Thread.run(Thread.java:856) > > The java.net.URL class in this case is the version in the libcore of the > Android O/S. Most importantly: if felix is NOT started (literally the > call to felix.start() is commented out) the code works fine. So, > something must happen after Felix starts to cause this. > > This is only a problem with Android 4.0, not earlier versions of Android. > > Any ideas? > > Regards, > > Mark > > > > On 10/11/2011 17:25, "Karl Pauls" <[email protected]> wrote: > > >Can you try to set the following property: > > > >felix.bootdelegation.implicit=false > > > >that hopefully fixes it. > > > >regards, > > > >Karl > > > >On Thu, Nov 10, 2011 at 5:32 PM, Caunter, Mark <[email protected]> > >wrote: > >> This is the stack trace for the latest version of felix: > >> > >> E/SkiftaService(10175): unable to load and start bundle from > >> org.apache.felix.http.jetty-2.2.0.jar > >> E/SkiftaService(10175): org.osgi.framework.BundleException: Activator > >> start error in bundle org.apache.felix.http.jetty [3]. > >> E/SkiftaService(10175): at > >> org.apache.felix.framework.Felix.activateBundle(Felix.java:2027) > >> E/SkiftaService(10175): at > >> org.apache.felix.framework.Felix.startBundle(Felix.java:1895) > >> E/SkiftaService(10175): at > >> org.apache.felix.framework.BundleImpl.start(BundleImpl.java:944) > >> E/SkiftaService(10175): at > >> org.apache.felix.framework.BundleImpl.start(BundleImpl.java:931) > >> E/SkiftaService(10175): at > >> > >>com.skifta.android.client.SkiftaService.startOSGi(SkiftaService.java:1208 > >>) > >> E/SkiftaService(10175): at > >> com.skifta.android.client.SkiftaService.init(SkiftaService.java:675) > >> E/SkiftaService(10175): at > >> com.skifta.android.client.SkiftaService$1.run(SkiftaService.java:384) > >> E/SkiftaService(10175): at java.lang.Thread.run(Thread.java:856) > >> E/SkiftaService(10175): Caused by: java.lang.ExceptionInInitializerError > >> E/SkiftaService(10175): at > >> > >>org.apache.felix.http.base.internal.AbstractHttpActivator.doStart(Abstrac > >>tH > >> ttpActivator.java:45) > >> E/SkiftaService(10175): at > >> > >>org.apache.felix.http.jetty.internal.JettyActivator.doStart(JettyActivato > >>r. > >> java:29) > >> E/SkiftaService(10175): at > >> > >>org.apache.felix.http.base.internal.AbstractActivator.start(AbstractActiv > >>at > >> or.java:41) > >> E/SkiftaService(10175): at > >> > >>org.apache.felix.framework.util.SecureAction.startActivator(SecureAction. > >>ja > >> va:641) > >> E/SkiftaService(10175): at > >> org.apache.felix.framework.Felix.activateBundle(Felix.java:1977) > >> E/SkiftaService(10175): ... 7 more > >> E/SkiftaService(10175): Caused by: java.lang.NullPointerException > >> E/SkiftaService(10175): at > >> > >>org.apache.felix.framework.BundleWiringImpl.doImplicitBootDelegation(Bund > >>le > >> WiringImpl.java:1626) > >> E/SkiftaService(10175): at > >> > >>org.apache.felix.framework.BundleWiringImpl.searchDynamicImports(BundleWi > >>ri > >> ngImpl.java:1603) > >> E/SkiftaService(10175): at > >> > >>org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegati > >>on > >> (BundleWiringImpl.java:1439) > >> E/SkiftaService(10175): at > >> > >>org.apache.felix.framework.BundleWiringImpl.getResourceByDelegation(Bundl > >>eW > >> iringImpl.java:1360) > >> E/SkiftaService(10175): at > >> > >>org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.getResource > >>(B > >> undleWiringImpl.java:2256) > >> E/SkiftaService(10175): at > >> java.lang.ClassLoader.getResourceAsStream(ClassLoader.java:434) > >> E/SkiftaService(10175): at > >> java.util.ResourceBundle.handleGetBundle(ResourceBundle.java:514) > >> E/SkiftaService(10175): at > >> java.util.ResourceBundle.getBundle(ResourceBundle.java:227) > >> E/SkiftaService(10175): at > >> java.util.ResourceBundle.getBundle(ResourceBundle.java:140) > >> E/SkiftaService(10175): at > >> javax.servlet.GenericServlet.<clinit>(GenericServlet.java:64) > >> E/SkiftaService(10175): ... 12 more > >> > >> > >> > >> On 10/11/2011 10:35, "Caunter, Mark" <[email protected]> wrote: > >> > >>>We've been trying out Skifta, our mobile app, which uses felix (v3.2.2) > >>>on > >>>the latest version of Android (v4.0 - Ice Cream Sandwich) and have found > >>>an issue when trying to start the jetty bundle (v2.2.0). We need some > >>>help to solve this problem given that Android v4.0 will be officially > >>>released soon. > >>> > >>>Below is the stack trace: > >>> > >>>11-09 12:03:36.507: E/SkiftaService(2979): unable to load and start > >>>bundle > >>>from org.apache.felix.http.jetty-2.2.0.jar > >>>11-09 12:03:36.507: E/SkiftaService(2979): > >>>org.osgi.framework.BundleException: Activator start error in bundle > >>>org.apache.felix.http.jetty [3]. > >>>11-09 12:03:36.507: E/SkiftaService(2979): at > >>>org.apache.felix.framework.Felix.activateBundle(Felix.java:1951) > >>>11-09 12:03:36.507: E/SkiftaService(2979): at > >>>org.apache.felix.framework.Felix.startBundle(Felix.java:1822) > >>>11-09 12:03:36.507: E/SkiftaService(2979): at > >>>org.apache.felix.framework.BundleImpl.start(BundleImpl.java:927) > >>>11-09 12:03:36.507: E/SkiftaService(2979): at > >>>org.apache.felix.framework.BundleImpl.start(BundleImpl.java:914) > >>>11-09 12:03:36.507: E/SkiftaService(2979): at > >>>com.skifta.android.client.SkiftaService.startOSGi(SkiftaService.java:120 > >>>8) > >>>11-09 12:03:36.507: E/SkiftaService(2979): at > >>>com.skifta.android.client.SkiftaService.init(SkiftaService.java:675) > >>>11-09 12:03:36.507: E/SkiftaService(2979): at > >>>com.skifta.android.client.SkiftaService$1.run(SkiftaService.java:384) > >>>11-09 12:03:36.507: E/SkiftaService(2979): at > >>>java.lang.Thread.run(Thread.java:856) > >>>11-09 12:03:36.507: E/SkiftaService(2979): Caused by: > >>>java.lang.ExceptionInInitializerError > >>>11-09 12:03:36.507: E/SkiftaService(2979): at > >>>org.apache.felix.http.base.internal.AbstractHttpActivator.doStart(Abstra > >>>ct > >>>H > >>>ttpActivator.java:45) > >>>11-09 12:03:36.507: E/SkiftaService(2979): at > >>>org.apache.felix.http.jetty.internal.JettyActivator.doStart(JettyActivat > >>>or > >>>. > >>>java:29) > >>>11-09 12:03:36.507: E/SkiftaService(2979): at > >>>org.apache.felix.http.base.internal.AbstractActivator.start(AbstractActi > >>>va > >>>t > >>>or.java:41) > >>>11-09 12:03:36.507: E/SkiftaService(2979): at > >>>org.apache.felix.framework.util.SecureAction.startActivator(SecureAction > >>>.j > >>>a > >>>va:629) > >>>11-09 12:03:36.507: E/SkiftaService(2979): at > >>>org.apache.felix.framework.Felix.activateBundle(Felix.java:1904) > >>>11-09 12:03:36.507: E/SkiftaService(2979): ... 7 more > >>>11-09 12:03:36.507: E/SkiftaService(2979): Caused by: > >>>java.lang.NullPointerException > >>>11-09 12:03:36.507: E/SkiftaService(2979): at > >>>org.apache.felix.framework.ModuleImpl.doImplicitBootDelegation(ModuleImp > >>>l. > >>>j > >>>ava:1531) > >>>11-09 12:03:36.507: E/SkiftaService(2979): at > >>>org.apache.felix.framework.ModuleImpl.searchDynamicImports(ModuleImpl.ja > >>>va > >>>: > >>>1508) > >>>11-09 12:03:36.507: E/SkiftaService(2979): at > >>>org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(Mo > >>>du > >>>l > >>>eImpl.java:759) > >>>11-09 12:03:36.507: E/SkiftaService(2979): at > >>>org.apache.felix.framework.ModuleImpl.getResourceByDelegation(ModuleImpl > >>>.j > >>>a > >>>va:677) > >>>11-09 12:03:36.507: E/SkiftaService(2979): at > >>>org.apache.felix.framework.ModuleImpl$ModuleClassLoader.getResource(Modu > >>>le > >>>I > >>>mpl.java:2061) > >>>11-09 12:03:36.507: E/SkiftaService(2979): at > >>>java.lang.ClassLoader.getResourceAsStream(ClassLoader.java:434) > >>>11-09 12:03:36.507: E/SkiftaService(2979): at > >>>java.util.ResourceBundle.handleGetBundle(ResourceBundle.java:514) > >>>11-09 12:03:36.507: E/SkiftaService(2979): at > >>>java.util.ResourceBundle.getBundle(ResourceBundle.java:227) > >>>11-09 12:03:36.507: E/SkiftaService(2979): at > >>>java.util.ResourceBundle.getBundle(ResourceBundle.java:140) > >>>11-09 12:03:36.507: E/SkiftaService(2979): at > >>>javax.servlet.GenericServlet.<clinit>(GenericServlet.java:64) > >>>11-09 12:03:36.507: E/SkiftaService(2979): ... 12 more > >>> > >>>We've been able to identify that the root cause of the problem is that > >>>SecurityManagerEx.getClassContext() is returning null. Looking at the > >>>framework code it doesn't look like it would ever expect to get back > >>>null, > >>>so we're not sure if this is a bug in felix or Android v4.0 is doing > >>>something unexpected. > >>> > >>>Points to note: > >>> > >>>- This only occurs on Android v4.0 and doesn't happen on previous > >>>versions > >>>of Android which work fine. > >>>- We've only seen this happen with the jetty bundle: it doesn't seem to > >>>be > >>>a problem for every bundle or at least the bundles we use. > >>>- We've tried different versions of the framework including the latest > >>>with the same result, so it isn't related to the framework version we're > >>>using. > >>> > >> > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: [email protected] > >> For additional commands, e-mail: [email protected] > >> > >> > > > > > > > >-- > >Karl Pauls > >[email protected] > >http://twitter.com/karlpauls > >http://www.linkedin.com/in/karlpauls > >https://profiles.google.com/karlpauls > > > >--------------------------------------------------------------------- > >To unsubscribe, e-mail: [email protected] > >For additional commands, e-mail: [email protected] > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > >

