You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Daniel Bremer-Tonn (JIRA)" <ji...@apache.org> on 2008/12/05 10:28:44 UTC

[jira] Created: (FELIX-842) Linkage-Error when embedding Felix inside Tomcat 6

Linkage-Error when embedding Felix inside Tomcat 6
--------------------------------------------------

                 Key: FELIX-842
                 URL: https://issues.apache.org/jira/browse/FELIX-842
             Project: Felix
          Issue Type: Bug
          Components: Framework
    Affects Versions: felix-1.4.0
         Environment: Windows XP SP3, Java 1.5.0, Tomcat 6.0
            Reporter: Daniel Bremer-Tonn


When embedding Felix in Tomcat I get the following Exception on Felix-Startup:

ERROR: Unable to start system bundle. (java.lang.LinkageError: org/osgi/service/url/URLStreamHandlerService)
java.lang.LinkageError: org/osgi/service/url/URLStreamHandlerService
   at java.lang.Class.forName0(Native Method)
   at java.lang.Class.forName(Class.java:164)
   at org.apache.felix.framework.URLHandlersStreamHandlerProxy.class$(URLHandlersStreamHandlerProxy.java:77)
   at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:391)
   at org.apache.felix.framework.URLHandlersStreamHandlerProxy.parseURL(URLHandlersStreamHandlerProxy.java:267)
   at java.net.URL.<init>(URL.java:596)
   at java.net.URL.<init>(URL.java:464)
   at java.net.URL.<init>(URL.java:413)
   at java.net.URI.toURL(URI.java:1081)
   at org.apache.catalina.loader.WebappClassLoader.getURI(WebappClassLoader.java:2355)
   at org.apache.catalina.loader.WebappClassLoader.findResourceInternal(WebappClassLoader.java:2008)
   at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1786)
   at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:890)
   at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1354)
   at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
   at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
   at java.lang.Class.forName0(Native Method)
   at java.lang.Class.forName(Class.java:164)
   at org.apache.felix.framework.URLHandlersStreamHandlerProxy.class$(URLHandlersStreamHandlerProxy.java:77)
   at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:391)
   at org.apache.felix.framework.URLHandlersStreamHandlerProxy.parseURL(URLHandlersStreamHandlerProxy.java:267)
   at java.net.URL.<init>(URL.java:596)
   at java.net.URL.<init>(URL.java:464)
   at java.net.URL.<init>(URL.java:413)
   at java.net.URI.toURL(URI.java:1081)
   at org.apache.catalina.loader.WebappClassLoader.getURI(WebappClassLoader.java:2355)
   at org.apache.catalina.loader.WebappClassLoader.findResourceInternal(WebappClassLoader.java:2008)
   at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1786)
   at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:890)
   at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1354)
   at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
   at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
   at org.apache.felix.framework.Felix.registerService(Felix.java:2694)
   at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:252)
   at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:230)
   at org.apache.felix.framework.StartLevelActivator.start(StartLevelActivator.java:39)
   at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:589)
   at org.apache.felix.framework.Felix$SystemBundleActivator.start(Felix.java:3761)
   at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:589)
   at org.apache.felix.framework.Felix.init(Felix.java:849)
   at org.apache.felix.framework.Felix.start(Felix.java:881)
   at ... osgi.FelixStartupServlet.init(FelixStartupServlet.java:118)
   at javax.servlet.GenericServlet.init(GenericServlet.java:212)
   at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1172)
   at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:992)
   at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4058)
   at org.apache.catalina.core.StandardContext.start(StandardContext.java:4371)
   at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
   at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
   at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
   at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
   at org.apache.catalina.core.StandardService.start(StandardService.java:516)
   at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
   at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:585)
   at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
   at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (FELIX-842) Linkage-Error when embedding Felix inside Tomcat 6

Posted by "Daniel Bremer-Tonn (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-842?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12653710#action_12653710 ] 

Daniel Bremer-Tonn commented on FELIX-842:
------------------------------------------

Workaround: Disabling URLHandlersservice

> Linkage-Error when embedding Felix inside Tomcat 6
> --------------------------------------------------
>
>                 Key: FELIX-842
>                 URL: https://issues.apache.org/jira/browse/FELIX-842
>             Project: Felix
>          Issue Type: Bug
>          Components: Framework
>    Affects Versions: felix-1.4.0
>         Environment: Windows XP SP3, Java 1.5.0, Tomcat 6.0
>            Reporter: Daniel Bremer-Tonn
>
> When embedding Felix in Tomcat I get the following Exception on Felix-Startup:
> ERROR: Unable to start system bundle. (java.lang.LinkageError: org/osgi/service/url/URLStreamHandlerService)
> java.lang.LinkageError: org/osgi/service/url/URLStreamHandlerService
>    at java.lang.Class.forName0(Native Method)
>    at java.lang.Class.forName(Class.java:164)
>    at org.apache.felix.framework.URLHandlersStreamHandlerProxy.class$(URLHandlersStreamHandlerProxy.java:77)
>    at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:391)
>    at org.apache.felix.framework.URLHandlersStreamHandlerProxy.parseURL(URLHandlersStreamHandlerProxy.java:267)
>    at java.net.URL.<init>(URL.java:596)
>    at java.net.URL.<init>(URL.java:464)
>    at java.net.URL.<init>(URL.java:413)
>    at java.net.URI.toURL(URI.java:1081)
>    at org.apache.catalina.loader.WebappClassLoader.getURI(WebappClassLoader.java:2355)
>    at org.apache.catalina.loader.WebappClassLoader.findResourceInternal(WebappClassLoader.java:2008)
>    at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1786)
>    at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:890)
>    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1354)
>    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
>    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
>    at java.lang.Class.forName0(Native Method)
>    at java.lang.Class.forName(Class.java:164)
>    at org.apache.felix.framework.URLHandlersStreamHandlerProxy.class$(URLHandlersStreamHandlerProxy.java:77)
>    at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:391)
>    at org.apache.felix.framework.URLHandlersStreamHandlerProxy.parseURL(URLHandlersStreamHandlerProxy.java:267)
>    at java.net.URL.<init>(URL.java:596)
>    at java.net.URL.<init>(URL.java:464)
>    at java.net.URL.<init>(URL.java:413)
>    at java.net.URI.toURL(URI.java:1081)
>    at org.apache.catalina.loader.WebappClassLoader.getURI(WebappClassLoader.java:2355)
>    at org.apache.catalina.loader.WebappClassLoader.findResourceInternal(WebappClassLoader.java:2008)
>    at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1786)
>    at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:890)
>    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1354)
>    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
>    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
>    at org.apache.felix.framework.Felix.registerService(Felix.java:2694)
>    at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:252)
>    at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:230)
>    at org.apache.felix.framework.StartLevelActivator.start(StartLevelActivator.java:39)
>    at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:589)
>    at org.apache.felix.framework.Felix$SystemBundleActivator.start(Felix.java:3761)
>    at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:589)
>    at org.apache.felix.framework.Felix.init(Felix.java:849)
>    at org.apache.felix.framework.Felix.start(Felix.java:881)
>    at ... osgi.FelixStartupServlet.init(FelixStartupServlet.java:118)
>    at javax.servlet.GenericServlet.init(GenericServlet.java:212)
>    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1172)
>    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:992)
>    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4058)
>    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4371)
>    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
>    at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
>    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
>    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
>    at org.apache.catalina.core.StandardService.start(StandardService.java:516)
>    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
>    at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
>    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>    at java.lang.reflect.Method.invoke(Method.java:585)
>    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
>    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Closed: (FELIX-842) Linkage-Error when embedding Felix inside Tomcat 6

Posted by "Daniel Bremer-Tonn (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/FELIX-842?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Daniel Bremer-Tonn closed FELIX-842.
------------------------------------


With Felix 1.4.1 we can start Felix within Tomcat 6 without any problems. Thank you for the fix.

> Linkage-Error when embedding Felix inside Tomcat 6
> --------------------------------------------------
>
>                 Key: FELIX-842
>                 URL: https://issues.apache.org/jira/browse/FELIX-842
>             Project: Felix
>          Issue Type: Bug
>          Components: Framework
>    Affects Versions: felix-1.4.0
>         Environment: Windows XP SP3, Java 1.5.0, Tomcat 6.0
>            Reporter: Daniel Bremer-Tonn
>            Assignee: Karl Pauls
>             Fix For: felix-1.4.1
>
>
> When embedding Felix in Tomcat I get the following Exception on Felix-Startup:
> ERROR: Unable to start system bundle. (java.lang.LinkageError: org/osgi/service/url/URLStreamHandlerService)
> java.lang.LinkageError: org/osgi/service/url/URLStreamHandlerService
>    at java.lang.Class.forName0(Native Method)
>    at java.lang.Class.forName(Class.java:164)
>    at org.apache.felix.framework.URLHandlersStreamHandlerProxy.class$(URLHandlersStreamHandlerProxy.java:77)
>    at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:391)
>    at org.apache.felix.framework.URLHandlersStreamHandlerProxy.parseURL(URLHandlersStreamHandlerProxy.java:267)
>    at java.net.URL.<init>(URL.java:596)
>    at java.net.URL.<init>(URL.java:464)
>    at java.net.URL.<init>(URL.java:413)
>    at java.net.URI.toURL(URI.java:1081)
>    at org.apache.catalina.loader.WebappClassLoader.getURI(WebappClassLoader.java:2355)
>    at org.apache.catalina.loader.WebappClassLoader.findResourceInternal(WebappClassLoader.java:2008)
>    at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1786)
>    at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:890)
>    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1354)
>    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
>    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
>    at java.lang.Class.forName0(Native Method)
>    at java.lang.Class.forName(Class.java:164)
>    at org.apache.felix.framework.URLHandlersStreamHandlerProxy.class$(URLHandlersStreamHandlerProxy.java:77)
>    at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:391)
>    at org.apache.felix.framework.URLHandlersStreamHandlerProxy.parseURL(URLHandlersStreamHandlerProxy.java:267)
>    at java.net.URL.<init>(URL.java:596)
>    at java.net.URL.<init>(URL.java:464)
>    at java.net.URL.<init>(URL.java:413)
>    at java.net.URI.toURL(URI.java:1081)
>    at org.apache.catalina.loader.WebappClassLoader.getURI(WebappClassLoader.java:2355)
>    at org.apache.catalina.loader.WebappClassLoader.findResourceInternal(WebappClassLoader.java:2008)
>    at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1786)
>    at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:890)
>    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1354)
>    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
>    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
>    at org.apache.felix.framework.Felix.registerService(Felix.java:2694)
>    at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:252)
>    at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:230)
>    at org.apache.felix.framework.StartLevelActivator.start(StartLevelActivator.java:39)
>    at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:589)
>    at org.apache.felix.framework.Felix$SystemBundleActivator.start(Felix.java:3761)
>    at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:589)
>    at org.apache.felix.framework.Felix.init(Felix.java:849)
>    at org.apache.felix.framework.Felix.start(Felix.java:881)
>    at ... osgi.FelixStartupServlet.init(FelixStartupServlet.java:118)
>    at javax.servlet.GenericServlet.init(GenericServlet.java:212)
>    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1172)
>    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:992)
>    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4058)
>    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4371)
>    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
>    at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
>    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
>    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
>    at org.apache.catalina.core.StandardService.start(StandardService.java:516)
>    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
>    at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
>    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>    at java.lang.reflect.Method.invoke(Method.java:585)
>    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
>    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (FELIX-842) Linkage-Error when embedding Felix inside Tomcat 6

Posted by "Karl Pauls (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/FELIX-842?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Karl Pauls resolved FELIX-842.
------------------------------

    Resolution: Fixed

The WebAppClassloader is creating urls during a classload while we are creating url handlers which gets us into a recursive attempt to create a handler resulting in the error. I addressed this in trunk by creating a couple of known built-in handlers up front (i.e., http, https, ftp, jar, file) which we can fallback to in case we get a Linkage-Error while trying to create the handler. Furthermore, a couple of classes are forced to be loaded eagerly. 

Thanks again for reporting. This will make it into the upcoming 1.4.1 release. Please close this issue if it works for you.

> Linkage-Error when embedding Felix inside Tomcat 6
> --------------------------------------------------
>
>                 Key: FELIX-842
>                 URL: https://issues.apache.org/jira/browse/FELIX-842
>             Project: Felix
>          Issue Type: Bug
>          Components: Framework
>    Affects Versions: felix-1.4.0
>         Environment: Windows XP SP3, Java 1.5.0, Tomcat 6.0
>            Reporter: Daniel Bremer-Tonn
>            Assignee: Karl Pauls
>             Fix For: felix-1.4.1
>
>
> When embedding Felix in Tomcat I get the following Exception on Felix-Startup:
> ERROR: Unable to start system bundle. (java.lang.LinkageError: org/osgi/service/url/URLStreamHandlerService)
> java.lang.LinkageError: org/osgi/service/url/URLStreamHandlerService
>    at java.lang.Class.forName0(Native Method)
>    at java.lang.Class.forName(Class.java:164)
>    at org.apache.felix.framework.URLHandlersStreamHandlerProxy.class$(URLHandlersStreamHandlerProxy.java:77)
>    at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:391)
>    at org.apache.felix.framework.URLHandlersStreamHandlerProxy.parseURL(URLHandlersStreamHandlerProxy.java:267)
>    at java.net.URL.<init>(URL.java:596)
>    at java.net.URL.<init>(URL.java:464)
>    at java.net.URL.<init>(URL.java:413)
>    at java.net.URI.toURL(URI.java:1081)
>    at org.apache.catalina.loader.WebappClassLoader.getURI(WebappClassLoader.java:2355)
>    at org.apache.catalina.loader.WebappClassLoader.findResourceInternal(WebappClassLoader.java:2008)
>    at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1786)
>    at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:890)
>    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1354)
>    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
>    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
>    at java.lang.Class.forName0(Native Method)
>    at java.lang.Class.forName(Class.java:164)
>    at org.apache.felix.framework.URLHandlersStreamHandlerProxy.class$(URLHandlersStreamHandlerProxy.java:77)
>    at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:391)
>    at org.apache.felix.framework.URLHandlersStreamHandlerProxy.parseURL(URLHandlersStreamHandlerProxy.java:267)
>    at java.net.URL.<init>(URL.java:596)
>    at java.net.URL.<init>(URL.java:464)
>    at java.net.URL.<init>(URL.java:413)
>    at java.net.URI.toURL(URI.java:1081)
>    at org.apache.catalina.loader.WebappClassLoader.getURI(WebappClassLoader.java:2355)
>    at org.apache.catalina.loader.WebappClassLoader.findResourceInternal(WebappClassLoader.java:2008)
>    at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1786)
>    at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:890)
>    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1354)
>    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
>    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
>    at org.apache.felix.framework.Felix.registerService(Felix.java:2694)
>    at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:252)
>    at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:230)
>    at org.apache.felix.framework.StartLevelActivator.start(StartLevelActivator.java:39)
>    at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:589)
>    at org.apache.felix.framework.Felix$SystemBundleActivator.start(Felix.java:3761)
>    at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:589)
>    at org.apache.felix.framework.Felix.init(Felix.java:849)
>    at org.apache.felix.framework.Felix.start(Felix.java:881)
>    at ... osgi.FelixStartupServlet.init(FelixStartupServlet.java:118)
>    at javax.servlet.GenericServlet.init(GenericServlet.java:212)
>    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1172)
>    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:992)
>    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4058)
>    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4371)
>    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
>    at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
>    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
>    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
>    at org.apache.catalina.core.StandardService.start(StandardService.java:516)
>    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
>    at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
>    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>    at java.lang.reflect.Method.invoke(Method.java:585)
>    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
>    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (FELIX-842) Linkage-Error when embedding Felix inside Tomcat 6

Posted by "Karl Pauls (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-842?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12653736#action_12653736 ] 

Karl Pauls commented on FELIX-842:
----------------------------------

This looks bad. The issue is that the tomcat WebappClassLoader is creating URL's while doing a classload. Now, what happens is that when we set our URLHandlers it is asked to get  a handler for a URL needed for a classload. Getting the handler involves loading classes which triggers another classload via the WebappClassLoader and there we go... 

As mentioned, one solution is to diable URLHandlers for now if you run into this. Another could be to do what I will do internally to resolve this issue externally namely, preload all classes that we need inside a handlers lookup. I will add a comment with all the classes you need to preload soon. 

Thanks for reporting! 

> Linkage-Error when embedding Felix inside Tomcat 6
> --------------------------------------------------
>
>                 Key: FELIX-842
>                 URL: https://issues.apache.org/jira/browse/FELIX-842
>             Project: Felix
>          Issue Type: Bug
>          Components: Framework
>    Affects Versions: felix-1.4.0
>         Environment: Windows XP SP3, Java 1.5.0, Tomcat 6.0
>            Reporter: Daniel Bremer-Tonn
>            Assignee: Karl Pauls
>
> When embedding Felix in Tomcat I get the following Exception on Felix-Startup:
> ERROR: Unable to start system bundle. (java.lang.LinkageError: org/osgi/service/url/URLStreamHandlerService)
> java.lang.LinkageError: org/osgi/service/url/URLStreamHandlerService
>    at java.lang.Class.forName0(Native Method)
>    at java.lang.Class.forName(Class.java:164)
>    at org.apache.felix.framework.URLHandlersStreamHandlerProxy.class$(URLHandlersStreamHandlerProxy.java:77)
>    at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:391)
>    at org.apache.felix.framework.URLHandlersStreamHandlerProxy.parseURL(URLHandlersStreamHandlerProxy.java:267)
>    at java.net.URL.<init>(URL.java:596)
>    at java.net.URL.<init>(URL.java:464)
>    at java.net.URL.<init>(URL.java:413)
>    at java.net.URI.toURL(URI.java:1081)
>    at org.apache.catalina.loader.WebappClassLoader.getURI(WebappClassLoader.java:2355)
>    at org.apache.catalina.loader.WebappClassLoader.findResourceInternal(WebappClassLoader.java:2008)
>    at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1786)
>    at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:890)
>    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1354)
>    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
>    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
>    at java.lang.Class.forName0(Native Method)
>    at java.lang.Class.forName(Class.java:164)
>    at org.apache.felix.framework.URLHandlersStreamHandlerProxy.class$(URLHandlersStreamHandlerProxy.java:77)
>    at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:391)
>    at org.apache.felix.framework.URLHandlersStreamHandlerProxy.parseURL(URLHandlersStreamHandlerProxy.java:267)
>    at java.net.URL.<init>(URL.java:596)
>    at java.net.URL.<init>(URL.java:464)
>    at java.net.URL.<init>(URL.java:413)
>    at java.net.URI.toURL(URI.java:1081)
>    at org.apache.catalina.loader.WebappClassLoader.getURI(WebappClassLoader.java:2355)
>    at org.apache.catalina.loader.WebappClassLoader.findResourceInternal(WebappClassLoader.java:2008)
>    at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1786)
>    at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:890)
>    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1354)
>    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
>    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
>    at org.apache.felix.framework.Felix.registerService(Felix.java:2694)
>    at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:252)
>    at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:230)
>    at org.apache.felix.framework.StartLevelActivator.start(StartLevelActivator.java:39)
>    at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:589)
>    at org.apache.felix.framework.Felix$SystemBundleActivator.start(Felix.java:3761)
>    at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:589)
>    at org.apache.felix.framework.Felix.init(Felix.java:849)
>    at org.apache.felix.framework.Felix.start(Felix.java:881)
>    at ... osgi.FelixStartupServlet.init(FelixStartupServlet.java:118)
>    at javax.servlet.GenericServlet.init(GenericServlet.java:212)
>    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1172)
>    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:992)
>    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4058)
>    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4371)
>    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
>    at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
>    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
>    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
>    at org.apache.catalina.core.StandardService.start(StandardService.java:516)
>    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
>    at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
>    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>    at java.lang.reflect.Method.invoke(Method.java:585)
>    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
>    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (FELIX-842) Linkage-Error when embedding Felix inside Tomcat 6

Posted by "Richard S. Hall (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/FELIX-842?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Richard S. Hall updated FELIX-842:
----------------------------------

    Fix Version/s: felix-1.4.1

> Linkage-Error when embedding Felix inside Tomcat 6
> --------------------------------------------------
>
>                 Key: FELIX-842
>                 URL: https://issues.apache.org/jira/browse/FELIX-842
>             Project: Felix
>          Issue Type: Bug
>          Components: Framework
>    Affects Versions: felix-1.4.0
>         Environment: Windows XP SP3, Java 1.5.0, Tomcat 6.0
>            Reporter: Daniel Bremer-Tonn
>            Assignee: Karl Pauls
>             Fix For: felix-1.4.1
>
>
> When embedding Felix in Tomcat I get the following Exception on Felix-Startup:
> ERROR: Unable to start system bundle. (java.lang.LinkageError: org/osgi/service/url/URLStreamHandlerService)
> java.lang.LinkageError: org/osgi/service/url/URLStreamHandlerService
>    at java.lang.Class.forName0(Native Method)
>    at java.lang.Class.forName(Class.java:164)
>    at org.apache.felix.framework.URLHandlersStreamHandlerProxy.class$(URLHandlersStreamHandlerProxy.java:77)
>    at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:391)
>    at org.apache.felix.framework.URLHandlersStreamHandlerProxy.parseURL(URLHandlersStreamHandlerProxy.java:267)
>    at java.net.URL.<init>(URL.java:596)
>    at java.net.URL.<init>(URL.java:464)
>    at java.net.URL.<init>(URL.java:413)
>    at java.net.URI.toURL(URI.java:1081)
>    at org.apache.catalina.loader.WebappClassLoader.getURI(WebappClassLoader.java:2355)
>    at org.apache.catalina.loader.WebappClassLoader.findResourceInternal(WebappClassLoader.java:2008)
>    at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1786)
>    at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:890)
>    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1354)
>    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
>    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
>    at java.lang.Class.forName0(Native Method)
>    at java.lang.Class.forName(Class.java:164)
>    at org.apache.felix.framework.URLHandlersStreamHandlerProxy.class$(URLHandlersStreamHandlerProxy.java:77)
>    at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:391)
>    at org.apache.felix.framework.URLHandlersStreamHandlerProxy.parseURL(URLHandlersStreamHandlerProxy.java:267)
>    at java.net.URL.<init>(URL.java:596)
>    at java.net.URL.<init>(URL.java:464)
>    at java.net.URL.<init>(URL.java:413)
>    at java.net.URI.toURL(URI.java:1081)
>    at org.apache.catalina.loader.WebappClassLoader.getURI(WebappClassLoader.java:2355)
>    at org.apache.catalina.loader.WebappClassLoader.findResourceInternal(WebappClassLoader.java:2008)
>    at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1786)
>    at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:890)
>    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1354)
>    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
>    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
>    at org.apache.felix.framework.Felix.registerService(Felix.java:2694)
>    at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:252)
>    at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:230)
>    at org.apache.felix.framework.StartLevelActivator.start(StartLevelActivator.java:39)
>    at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:589)
>    at org.apache.felix.framework.Felix$SystemBundleActivator.start(Felix.java:3761)
>    at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:589)
>    at org.apache.felix.framework.Felix.init(Felix.java:849)
>    at org.apache.felix.framework.Felix.start(Felix.java:881)
>    at ... osgi.FelixStartupServlet.init(FelixStartupServlet.java:118)
>    at javax.servlet.GenericServlet.init(GenericServlet.java:212)
>    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1172)
>    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:992)
>    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4058)
>    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4371)
>    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
>    at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
>    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
>    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
>    at org.apache.catalina.core.StandardService.start(StandardService.java:516)
>    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
>    at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
>    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>    at java.lang.reflect.Method.invoke(Method.java:585)
>    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
>    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (FELIX-842) Linkage-Error when embedding Felix inside Tomcat 6

Posted by "Karl Pauls (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/FELIX-842?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Karl Pauls reassigned FELIX-842:
--------------------------------

    Assignee: Karl Pauls

> Linkage-Error when embedding Felix inside Tomcat 6
> --------------------------------------------------
>
>                 Key: FELIX-842
>                 URL: https://issues.apache.org/jira/browse/FELIX-842
>             Project: Felix
>          Issue Type: Bug
>          Components: Framework
>    Affects Versions: felix-1.4.0
>         Environment: Windows XP SP3, Java 1.5.0, Tomcat 6.0
>            Reporter: Daniel Bremer-Tonn
>            Assignee: Karl Pauls
>
> When embedding Felix in Tomcat I get the following Exception on Felix-Startup:
> ERROR: Unable to start system bundle. (java.lang.LinkageError: org/osgi/service/url/URLStreamHandlerService)
> java.lang.LinkageError: org/osgi/service/url/URLStreamHandlerService
>    at java.lang.Class.forName0(Native Method)
>    at java.lang.Class.forName(Class.java:164)
>    at org.apache.felix.framework.URLHandlersStreamHandlerProxy.class$(URLHandlersStreamHandlerProxy.java:77)
>    at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:391)
>    at org.apache.felix.framework.URLHandlersStreamHandlerProxy.parseURL(URLHandlersStreamHandlerProxy.java:267)
>    at java.net.URL.<init>(URL.java:596)
>    at java.net.URL.<init>(URL.java:464)
>    at java.net.URL.<init>(URL.java:413)
>    at java.net.URI.toURL(URI.java:1081)
>    at org.apache.catalina.loader.WebappClassLoader.getURI(WebappClassLoader.java:2355)
>    at org.apache.catalina.loader.WebappClassLoader.findResourceInternal(WebappClassLoader.java:2008)
>    at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1786)
>    at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:890)
>    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1354)
>    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
>    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
>    at java.lang.Class.forName0(Native Method)
>    at java.lang.Class.forName(Class.java:164)
>    at org.apache.felix.framework.URLHandlersStreamHandlerProxy.class$(URLHandlersStreamHandlerProxy.java:77)
>    at org.apache.felix.framework.URLHandlersStreamHandlerProxy.getStreamHandlerService(URLHandlersStreamHandlerProxy.java:391)
>    at org.apache.felix.framework.URLHandlersStreamHandlerProxy.parseURL(URLHandlersStreamHandlerProxy.java:267)
>    at java.net.URL.<init>(URL.java:596)
>    at java.net.URL.<init>(URL.java:464)
>    at java.net.URL.<init>(URL.java:413)
>    at java.net.URI.toURL(URI.java:1081)
>    at org.apache.catalina.loader.WebappClassLoader.getURI(WebappClassLoader.java:2355)
>    at org.apache.catalina.loader.WebappClassLoader.findResourceInternal(WebappClassLoader.java:2008)
>    at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1786)
>    at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:890)
>    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1354)
>    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
>    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
>    at org.apache.felix.framework.Felix.registerService(Felix.java:2694)
>    at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:252)
>    at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:230)
>    at org.apache.felix.framework.StartLevelActivator.start(StartLevelActivator.java:39)
>    at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:589)
>    at org.apache.felix.framework.Felix$SystemBundleActivator.start(Felix.java:3761)
>    at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:589)
>    at org.apache.felix.framework.Felix.init(Felix.java:849)
>    at org.apache.felix.framework.Felix.start(Felix.java:881)
>    at ... osgi.FelixStartupServlet.init(FelixStartupServlet.java:118)
>    at javax.servlet.GenericServlet.init(GenericServlet.java:212)
>    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1172)
>    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:992)
>    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4058)
>    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4371)
>    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
>    at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
>    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
>    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
>    at org.apache.catalina.core.StandardService.start(StandardService.java:516)
>    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
>    at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
>    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>    at java.lang.reflect.Method.invoke(Method.java:585)
>    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
>    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.