David Otasek created KARAF-5508:
-----------------------------------

             Summary: Error using OSGi JAX RS Connector in Java 9
                 Key: KARAF-5508
                 URL: https://issues.apache.org/jira/browse/KARAF-5508
             Project: Karaf
          Issue Type: Bug
    Affects Versions: 4.2.0.M1
         Environment: Ubuntu 16.04
Java build 9.0.1+11
Karaf is built from SNAPSHOT using pax_web_jetty 6.0.9 and Jetty 
9.3.21.v20170918
            Reporter: David Otasek


When using the OSGi JAX-RS Connector in my application, I get an error trying 
to register the GSON provider:

{code}
14:15:54.022 [pool-15-thread-1] ERROR Felix - Bundle 
com.eclipsesource.jaxrs.publisher [181] EventDispatcher: Error during dispatch. 
(java.lang.IllegalArgumentException)
java.lang.IllegalArgumentException: null
        at org.objectweb.asm.ClassReader.<init>(Unknown Source) ~[?:?]
        at org.objectweb.asm.ClassReader.<init>(Unknown Source) ~[?:?]
        at org.objectweb.asm.ClassReader.<init>(Unknown Source) ~[?:?]
        at 
org.apache.xbean.finder.BundleAssignableClassFinder.isInterfaceAssignable(BundleAssignableClassFinder.java:180)
 ~[?:?]
        at 
org.apache.xbean.finder.BundleAssignableClassFinder.isClassAcceptable(BundleAssignableClassFinder.java:105)
 ~[?:?]
        at 
org.apache.xbean.finder.BundleAssignableClassFinder.isClassAcceptable(BundleAssignableClassFinder.java:125)
 ~[?:?]
        at 
org.apache.xbean.osgi.bundle.util.BundleClassFinder.scanDirectory(BundleClassFinder.java:257)
 ~[?:?]
        at 
org.apache.xbean.osgi.bundle.util.BundleClassFinder.scanBundleClassPath(BundleClassFinder.java:228)
 ~[?:?]
        at 
org.apache.xbean.osgi.bundle.util.BundleClassFinder.find(BundleClassFinder.java:112)
 ~[?:?]
        at 
org.apache.xbean.osgi.bundle.util.BundleClassFinder.findAllClasses(BundleClassFinder.java:183)
 ~[?:?]
        at 
org.apache.xbean.osgi.bundle.util.BundleClassFinder.scanImportPackages(BundleClassFinder.java:198)
 ~[?:?]
        at 
org.apache.xbean.osgi.bundle.util.BundleClassFinder.find(BundleClassFinder.java:106)
 ~[?:?]
        at 
org.ops4j.pax.web.utils.ServletContainerInitializerScanner.scanBundles(ServletContainerInitializerScanner.java:118)
 ~[?:?]
        at 
org.ops4j.pax.web.service.jetty.internal.JettyServerWrapper.addContext(JettyServerWrapper.java:284)
 ~[?:?]
        at 
org.ops4j.pax.web.service.jetty.internal.JettyServerWrapper.getOrCreateContext(JettyServerWrapper.java:209)
 ~[?:?]
        at 
org.ops4j.pax.web.service.jetty.internal.JettyServerWrapper.getOrCreateContext(JettyServerWrapper.java:190)
 ~[?:?]
        at 
org.ops4j.pax.web.service.jetty.internal.JettyServerImpl.addServlet(JettyServerImpl.java:388)
 ~[?:?]
        at 
org.ops4j.pax.web.service.jetty.internal.ServerControllerImpl$Started.addServlet(ServerControllerImpl.java:311)
 ~[?:?]
        at 
org.ops4j.pax.web.service.jetty.internal.ServerControllerImpl.addServlet(ServerControllerImpl.java:120)
 ~[?:?]
        at 
org.ops4j.pax.web.service.internal.HttpServiceStarted.registerServlet(HttpServiceStarted.java:245)
 ~[?:?]
        at 
org.ops4j.pax.web.service.internal.HttpServiceStarted.registerServlet(HttpServiceStarted.java:221)
 ~[?:?]
        at 
org.ops4j.pax.web.service.internal.HttpServiceStarted.registerServlet(HttpServiceStarted.java:205)
 ~[?:?]
        at 
org.ops4j.pax.web.service.internal.HttpServiceProxy.registerServlet(HttpServiceProxy.java:65)
 ~[?:?]
        at 
com.eclipsesource.jaxrs.publisher.internal.JerseyContext.registerServlet(JerseyContext.java:159)
 ~[?:?]
        at 
com.eclipsesource.jaxrs.publisher.internal.JerseyContext.registerApplication(JerseyContext.java:137)
 ~[?:?]
        at 
com.eclipsesource.jaxrs.publisher.internal.JerseyContext.registerServletWhenNotAlreadyRegistered(JerseyContext.java:129)
 ~[?:?]
        at 
com.eclipsesource.jaxrs.publisher.internal.JerseyContext.addResource(JerseyContext.java:76)
 ~[?:?]
        at 
com.eclipsesource.jaxrs.publisher.internal.JAXRSConnector.registerResource(JAXRSConnector.java:189)
 ~[?:?]
        at 
com.eclipsesource.jaxrs.publisher.internal.JAXRSConnector.registerResource(JAXRSConnector.java:171)
 ~[?:?]
        at 
com.eclipsesource.jaxrs.publisher.internal.JAXRSConnector.doAddResource(JAXRSConnector.java:165)
 ~[?:?]
        at 
com.eclipsesource.jaxrs.publisher.internal.JAXRSConnector.addResource(JAXRSConnector.java:159)
 ~[?:?]
        at 
com.eclipsesource.jaxrs.publisher.internal.ResourceTracker.delegateAddService(ResourceTracker.java:46)
 ~[?:?]
        at 
com.eclipsesource.jaxrs.publisher.internal.ResourceTracker.addingService(ResourceTracker.java:40)
 ~[?:?]
        at 
org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:941)
 ~[?:?]
        at 
org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:870)
 ~[?:?]
        at 
org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256) 
~[?:?]
        at 
org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229) ~[?:?]
        at 
org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:901)
 ~[?:?]
        at 
org.apache.felix.framework.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:990)
 ~[?:?]
        at 
org.apache.felix.framework.EventDispatcher.fireEventImmediately(EventDispatcher.java:838)
 ~[?:?]
        at 
org.apache.felix.framework.EventDispatcher.fireServiceEvent(EventDispatcher.java:545)
 ~[?:?]
        at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4595) 
~[?:?]
        at org.apache.felix.framework.Felix.registerService(Felix.java:3587) 
~[?:?]
        at 
org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:348)
 ~[?:?]
        at 
org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:322)
 ~[?:?]
        at 
com.eclipsesource.jaxrs.provider.gson.internal.Activator.start(Activator.java:17)
 ~[?:?]
        at 
org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:697)
 ~[?:?]
        at org.apache.felix.framework.Felix.activateBundle(Felix.java:2240) 
~[?:?]
        at org.apache.felix.framework.Felix.startBundle(Felix.java:2146) ~[?:?]
        at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:998) 
~[?:?]
        at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:984) 
~[?:?]
        at 
org.cytoscape.rest.internal.task.OSGiJAXRSManager.installBundlesFromResources(OSGiJAXRSManager.java:203)
 ~[?:?]
        at 
org.cytoscape.rest.internal.task.OSGiJAXRSManager.installOSGiJAXRSBundles(OSGiJAXRSManager.java:134)
 ~[?:?]
        at 
org.cytoscape.rest.internal.CyActivator.lambda$start$0(CyActivator.java:146) 
~[?:?]
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:514) [?:?]
        at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 
[?:?]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 
[?:?]
        at java.lang.Thread.run(Thread.java:844) [?:?]
14:15:54.074 [FelixDispatchQueue] ERROR com.eclipsesource.jaxrs.publisher - 
FrameworkEvent ERROR - com.eclipsesource.jaxrs.publisher
java.lang.IllegalArgumentException: null
        at org.objectweb.asm.ClassReader.<init>(Unknown Source) ~[?:?]
        at org.objectweb.asm.ClassReader.<init>(Unknown Source) ~[?:?]
        at org.objectweb.asm.ClassReader.<init>(Unknown Source) ~[?:?]
        at 
org.apache.xbean.finder.BundleAssignableClassFinder.isInterfaceAssignable(BundleAssignableClassFinder.java:180)
 ~[?:?]
        at 
org.apache.xbean.finder.BundleAssignableClassFinder.isClassAcceptable(BundleAssignableClassFinder.java:105)
 ~[?:?]
        at 
org.apache.xbean.finder.BundleAssignableClassFinder.isClassAcceptable(BundleAssignableClassFinder.java:125)
 ~[?:?]
        at 
org.apache.xbean.osgi.bundle.util.BundleClassFinder.scanDirectory(BundleClassFinder.java:257)
 ~[?:?]
        at 
org.apache.xbean.osgi.bundle.util.BundleClassFinder.scanBundleClassPath(BundleClassFinder.java:228)
 ~[?:?]
        at 
org.apache.xbean.osgi.bundle.util.BundleClassFinder.find(BundleClassFinder.java:112)
 ~[?:?]
        at 
org.apache.xbean.osgi.bundle.util.BundleClassFinder.findAllClasses(BundleClassFinder.java:183)
 ~[?:?]
        at 
org.apache.xbean.osgi.bundle.util.BundleClassFinder.scanImportPackages(BundleClassFinder.java:198)
 ~[?:?]
        at 
org.apache.xbean.osgi.bundle.util.BundleClassFinder.find(BundleClassFinder.java:106)
 ~[?:?]
        at 
org.ops4j.pax.web.utils.ServletContainerInitializerScanner.scanBundles(ServletContainerInitializerScanner.java:118)
 ~[?:?]
        at 
org.ops4j.pax.web.service.jetty.internal.JettyServerWrapper.addContext(JettyServerWrapper.java:284)
 ~[?:?]
        at 
org.ops4j.pax.web.service.jetty.internal.JettyServerWrapper.getOrCreateContext(JettyServerWrapper.java:209)
 ~[?:?]
        at 
org.ops4j.pax.web.service.jetty.internal.JettyServerWrapper.getOrCreateContext(JettyServerWrapper.java:190)
 ~[?:?]
        at 
org.ops4j.pax.web.service.jetty.internal.JettyServerImpl.addServlet(JettyServerImpl.java:388)
 ~[?:?]
        at 
org.ops4j.pax.web.service.jetty.internal.ServerControllerImpl$Started.addServlet(ServerControllerImpl.java:311)
 ~[?:?]
        at 
org.ops4j.pax.web.service.jetty.internal.ServerControllerImpl.addServlet(ServerControllerImpl.java:120)
 ~[?:?]
        at 
org.ops4j.pax.web.service.internal.HttpServiceStarted.registerServlet(HttpServiceStarted.java:245)
 ~[?:?]
        at 
org.ops4j.pax.web.service.internal.HttpServiceStarted.registerServlet(HttpServiceStarted.java:221)
 ~[?:?]
        at 
org.ops4j.pax.web.service.internal.HttpServiceStarted.registerServlet(HttpServiceStarted.java:205)
 ~[?:?]
        at 
org.ops4j.pax.web.service.internal.HttpServiceProxy.registerServlet(HttpServiceProxy.java:65)
 ~[?:?]
        at 
com.eclipsesource.jaxrs.publisher.internal.JerseyContext.registerServlet(JerseyContext.java:159)
 ~[?:?]
        at 
com.eclipsesource.jaxrs.publisher.internal.JerseyContext.registerApplication(JerseyContext.java:137)
 ~[?:?]
        at 
com.eclipsesource.jaxrs.publisher.internal.JerseyContext.registerServletWhenNotAlreadyRegistered(JerseyContext.java:129)
 ~[?:?]
        at 
com.eclipsesource.jaxrs.publisher.internal.JerseyContext.addResource(JerseyContext.java:76)
 ~[?:?]
        at 
com.eclipsesource.jaxrs.publisher.internal.JAXRSConnector.registerResource(JAXRSConnector.java:189)
 ~[?:?]
        at 
com.eclipsesource.jaxrs.publisher.internal.JAXRSConnector.registerResource(JAXRSConnector.java:171)
 ~[?:?]
        at 
com.eclipsesource.jaxrs.publisher.internal.JAXRSConnector.doAddResource(JAXRSConnector.java:165)
 ~[?:?]
        at 
com.eclipsesource.jaxrs.publisher.internal.JAXRSConnector.addResource(JAXRSConnector.java:159)
 ~[?:?]
        at 
com.eclipsesource.jaxrs.publisher.internal.ResourceTracker.delegateAddService(ResourceTracker.java:46)
 ~[?:?]
        at 
com.eclipsesource.jaxrs.publisher.internal.ResourceTracker.addingService(ResourceTracker.java:40)
 ~[?:?]
        at 
org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:941)
 ~[?:?]
        at 
org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:870)
 ~[?:?]
        at 
org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256) 
~[?:?]
        at 
org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229) ~[?:?]
        at 
org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:901)
 ~[?:?]
        at 
org.apache.felix.framework.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:990)
 ~[?:?]
        at 
org.apache.felix.framework.EventDispatcher.fireEventImmediately(EventDispatcher.java:838)
 ~[?:?]
        at 
org.apache.felix.framework.EventDispatcher.fireServiceEvent(EventDispatcher.java:545)
 ~[?:?]
        at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4595) 
~[?:?]
        at org.apache.felix.framework.Felix.registerService(Felix.java:3587) 
~[?:?]
        at 
org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:348)
 ~[?:?]
        at 
org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:322)
 ~[?:?]
        at 
com.eclipsesource.jaxrs.provider.gson.internal.Activator.start(Activator.java:17)
 ~[?:?]
        at 
org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:697)
 ~[?:?]
        at org.apache.felix.framework.Felix.activateBundle(Felix.java:2240) 
~[?:?]
        at org.apache.felix.framework.Felix.startBundle(Felix.java:2146) ~[?:?]
        at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:998) 
~[?:?]
        at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:984) 
~[?:?]
        at 
org.cytoscape.rest.internal.task.OSGiJAXRSManager.installBundlesFromResources(OSGiJAXRSManager.java:203)
 ~[?:?]
        at 
org.cytoscape.rest.internal.task.OSGiJAXRSManager.installOSGiJAXRSBundles(OSGiJAXRSManager.java:134)
 ~[?:?]
        at 
org.cytoscape.rest.internal.CyActivator.lambda$start$0(CyActivator.java:146) 
~[?:?]
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:514) ~[?:?]
        at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 
~[?:?]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 
~[?:?]
        at java.lang.Thread.run(Thread.java:844) [?:?]

{code}

This appears very similar to the issue reported here: 
[https://issues.apache.org/jira/browse/KARAF-5399]

Running under Java 8 works with no errors or warnings.





--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to