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]
>
>

Reply via email to