[ https://issues.apache.org/jira/browse/ARIES-2028?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Raymond Augé updated ARIES-2028: -------------------------------- Fix Version/s: component-dsl-1.2.3 > if a service leaves too quickly the dsl can NPE > ------------------------------------------------ > > Key: ARIES-2028 > URL: https://issues.apache.org/jira/browse/ARIES-2028 > Project: Aries > Issue Type: Bug > Components: Component DSL > Affects Versions: component-dsl-1.2.2 > Reporter: Raymond Augé > Priority: Major > Fix For: component-dsl-1.2.3 > > > Example > {code} > [INFO] Bnd inferred -runee: JavaSE-1.8 > ! Found no fw implementation > 13:32:35.816 [main] ERROR o.a.a.j.r.w.internal.Whiteboard - ServiceReference > CachingServiceReference { > cachedProperties={osgi.jaxrs.application.select=null (cached), service.id=75, > objectClass=[javax.ws.rs.core.Feature], osgi.jaxrs.name=aries.shiro.authc, > osgi.jaxrs.extension.select=null (cached), service.ranking=null (cached), > osgi.jaxrs.whiteboard.target=null (cached)} > serviceReference={javax.ws.rs.core.Feature}={service.id=75, > osgi.jaxrs.extension=true, service.bundleid=3, service.scope=prototype, > shiro.authc=true, osgi.jaxrs.name=aries.shiro.authc, > service.pid=org.apache.aries.jax.rs.shiro.authentication} > } for extension produced error: {} > java.lang.NullPointerException: null > at > org.apache.aries.jax.rs.whiteboard.internal.Whiteboard.lambda$null$59(Whiteboard.java:938) > at org.apache.aries.component.dsl.OSGi.lambda$null$64(OSGi.java:599) > at org.apache.aries.component.dsl.OSGi.lambda$null$64(OSGi.java:602) > at org.apache.aries.component.dsl.Publisher.apply(Publisher.java:28) > at org.apache.aries.component.dsl.OSGi.lambda$null$75(OSGi.java:715) > at org.apache.aries.component.dsl.OSGi.lambda$null$64(OSGi.java:602) > at org.apache.aries.component.dsl.OSGi.lambda$null$64(OSGi.java:602) > at > org.apache.aries.component.dsl.internal.JustOSGiImpl.lambda$new$2(JustOSGiImpl.java:47) > at > org.apache.aries.component.dsl.internal.OSGiImpl.run(OSGiImpl.java:50) > at org.apache.aries.component.dsl.OSGi.lambda$effects$65(OSGi.java:596) > at > org.apache.aries.component.dsl.internal.OSGiImpl.lambda$create$0(OSGiImpl.java:39) > at > org.apache.aries.component.dsl.internal.OSGiImpl.run(OSGiImpl.java:50) > at org.apache.aries.component.dsl.OSGi.lambda$effects$65(OSGi.java:596) > at > org.apache.aries.component.dsl.internal.OSGiImpl.lambda$create$0(OSGiImpl.java:39) > at > org.apache.aries.component.dsl.internal.OSGiImpl.run(OSGiImpl.java:50) > at org.apache.aries.component.dsl.OSGi.lambda$null$68(OSGi.java:674) > at org.apache.aries.component.dsl.Publisher.apply(Publisher.java:28) > at org.apache.aries.component.dsl.OSGi.lambda$null$75(OSGi.java:715) > at > org.apache.aries.component.dsl.internal.JustOSGiImpl.lambda$new$2(JustOSGiImpl.java:47) > at > org.apache.aries.component.dsl.internal.OSGiImpl.run(OSGiImpl.java:50) > at > org.apache.aries.component.dsl.OSGi.lambda$recoverWith$76(OSGi.java:711) > at > org.apache.aries.component.dsl.internal.OSGiImpl.lambda$create$0(OSGiImpl.java:39) > at > org.apache.aries.component.dsl.internal.OSGiImpl.run(OSGiImpl.java:50) > at org.apache.aries.component.dsl.OSGi.lambda$flatMap$69(OSGi.java:674) > at > org.apache.aries.component.dsl.internal.OSGiImpl.lambda$create$0(OSGiImpl.java:39) > at > org.apache.aries.component.dsl.internal.OSGiImpl.run(OSGiImpl.java:50) > at org.apache.aries.component.dsl.OSGi.lambda$null$68(OSGi.java:674) > at > org.apache.aries.component.dsl.internal.JustOSGiImpl.lambda$new$2(JustOSGiImpl.java:47) > at > org.apache.aries.component.dsl.internal.OSGiImpl.run(OSGiImpl.java:50) > at > org.apache.aries.component.dsl.internal.BundleContextOSGiImpl.lambda$new$0(BundleContextOSGiImpl.java:29) > at > org.apache.aries.component.dsl.internal.OSGiImpl.run(OSGiImpl.java:50) > at org.apache.aries.component.dsl.OSGi.lambda$flatMap$69(OSGi.java:674) > at > org.apache.aries.component.dsl.internal.OSGiImpl.lambda$create$0(OSGiImpl.java:39) > at > org.apache.aries.component.dsl.internal.OSGiImpl.run(OSGiImpl.java:50) > at > org.apache.aries.component.dsl.internal.ChangeContextOSGiImpl.lambda$new$0(ChangeContextOSGiImpl.java:31) > at > org.apache.aries.component.dsl.internal.OSGiImpl.run(OSGiImpl.java:50) > at > org.apache.aries.component.dsl.OSGi.lambda$recoverWith$76(OSGi.java:711) > at > org.apache.aries.component.dsl.internal.OSGiImpl.lambda$create$0(OSGiImpl.java:39) > at > org.apache.aries.component.dsl.internal.OSGiImpl.run(OSGiImpl.java:50) > at org.apache.aries.component.dsl.OSGi.lambda$effects$65(OSGi.java:596) > at > org.apache.aries.component.dsl.internal.OSGiImpl.lambda$create$0(OSGiImpl.java:39) > at > org.apache.aries.component.dsl.internal.OSGiImpl.run(OSGiImpl.java:50) > at org.apache.aries.component.dsl.OSGi.lambda$effects$65(OSGi.java:596) > at > org.apache.aries.component.dsl.internal.OSGiImpl.lambda$create$0(OSGiImpl.java:39) > at > org.apache.aries.component.dsl.internal.OSGiImpl.run(OSGiImpl.java:50) > at org.apache.aries.component.dsl.OSGi.lambda$effects$65(OSGi.java:596) > at > org.apache.aries.component.dsl.internal.OSGiImpl.lambda$create$0(OSGiImpl.java:39) > at > org.apache.aries.component.dsl.internal.OSGiImpl.run(OSGiImpl.java:50) > at org.apache.aries.component.dsl.OSGi.lambda$effects$65(OSGi.java:596) > at > org.apache.aries.component.dsl.internal.OSGiImpl.lambda$create$0(OSGiImpl.java:39) > at > org.apache.aries.component.dsl.internal.OSGiImpl.run(OSGiImpl.java:50) > at org.apache.aries.component.dsl.OSGi.lambda$null$68(OSGi.java:674) > at > org.apache.aries.component.dsl.internal.JustOSGiImpl.lambda$new$2(JustOSGiImpl.java:47) > at > org.apache.aries.component.dsl.internal.OSGiImpl.run(OSGiImpl.java:50) > at org.apache.aries.component.dsl.OSGi.lambda$flatMap$69(OSGi.java:674) > at > org.apache.aries.component.dsl.internal.OSGiImpl.lambda$create$0(OSGiImpl.java:39) > at > org.apache.aries.component.dsl.internal.OSGiImpl.run(OSGiImpl.java:50) > at org.apache.aries.component.dsl.OSGi.lambda$null$68(OSGi.java:674) > at > org.apache.aries.component.dsl.internal.JustOSGiImpl.lambda$new$2(JustOSGiImpl.java:47) > at > org.apache.aries.component.dsl.internal.OSGiImpl.run(OSGiImpl.java:50) > at org.apache.aries.component.dsl.OSGi.lambda$flatMap$69(OSGi.java:674) > at > org.apache.aries.component.dsl.internal.OSGiImpl.lambda$create$0(OSGiImpl.java:39) > at > org.apache.aries.component.dsl.internal.OSGiImpl.run(OSGiImpl.java:50) > at org.apache.aries.component.dsl.OSGi.lambda$null$68(OSGi.java:674) > at > org.apache.aries.jax.rs.whiteboard.internal.FilteredPublisher.publishIfMatched(FilteredPublisher.java:51) > at > org.apache.aries.jax.rs.whiteboard.internal.Registry.lambda$waitForService$1(Registry.java:66) > at > org.apache.aries.component.dsl.internal.OSGiImpl.lambda$create$0(OSGiImpl.java:39) > at > org.apache.aries.component.dsl.internal.OSGiImpl.run(OSGiImpl.java:50) > at org.apache.aries.component.dsl.OSGi.lambda$flatMap$69(OSGi.java:674) > at > org.apache.aries.component.dsl.internal.OSGiImpl.lambda$create$0(OSGiImpl.java:39) > at > org.apache.aries.component.dsl.internal.OSGiImpl.run(OSGiImpl.java:50) > at org.apache.aries.component.dsl.OSGi.lambda$null$68(OSGi.java:674) > at > org.apache.aries.component.dsl.internal.JustOSGiImpl.lambda$new$2(JustOSGiImpl.java:47) > at > org.apache.aries.component.dsl.internal.OSGiImpl.run(OSGiImpl.java:50) > at org.apache.aries.component.dsl.OSGi.lambda$null$68(OSGi.java:674) > at > org.apache.aries.component.dsl.internal.JustOSGiImpl.lambda$new$2(JustOSGiImpl.java:47) > at > org.apache.aries.component.dsl.internal.OSGiImpl.run(OSGiImpl.java:50) > at org.apache.aries.component.dsl.OSGi.lambda$null$68(OSGi.java:674) > at org.apache.aries.component.dsl.Publisher.apply(Publisher.java:28) > at org.apache.aries.component.dsl.OSGi.lambda$null$66(OSGi.java:663) > at org.apache.aries.component.dsl.internal.Pad.publish(Pad.java:59) > at > org.apache.aries.component.dsl.internal.DistributeOSGiImpl.lambda$null$1(DistributeOSGiImpl.java:51) > at org.apache.aries.component.dsl.OSGi.lambda$null$64(OSGi.java:602) > at org.apache.aries.component.dsl.Publisher.apply(Publisher.java:28) > at > org.apache.aries.component.dsl.internal.HighestRankingOSGi.lambda$null$0(HighestRankingOSGi.java:86) > at org.apache.aries.component.dsl.OSGiResult.run(OSGiResult.java:29) > at > org.apache.aries.component.dsl.internal.JustOSGiImpl.cleanUp(JustOSGiImpl.java:67) > at > org.apache.aries.component.dsl.internal.JustOSGiImpl.lambda$null$1(JustOSGiImpl.java:57) > at org.apache.aries.component.dsl.OSGiResult.run(OSGiResult.java:29) > at > org.apache.aries.component.dsl.internal.OSGiResultImpl.close(OSGiResultImpl.java:36) > at org.apache.aries.component.dsl.OSGiResult.run(OSGiResult.java:29) > at org.apache.aries.component.dsl.OSGi.lambda$null$63(OSGi.java:613) > at org.apache.aries.component.dsl.OSGiResult.run(OSGiResult.java:29) > at > org.apache.aries.component.dsl.internal.ServiceReferenceOSGi$DefaultServiceTrackerCustomizer.removedService(ServiceReferenceOSGi.java:96) > at > org.apache.aries.component.dsl.internal.ServiceReferenceOSGi$DefaultServiceTrackerCustomizer.removedService(ServiceReferenceOSGi.java:56) > at > org.osgi.util.tracker.ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:969) > at > org.osgi.util.tracker.ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:1) > at > org.osgi.util.tracker.AbstractTracked.untrack(AbstractTracked.java:341) > at > org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:911) > at > org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:120) > at > org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:957) > at > org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) > at > org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151) > at > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:936) > at > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:873) > at > org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:241) > at > org.apache.aries.component.dsl.internal.ServiceRegistrationOSGiImpl.lambda$getServiceRegistrationOSGiResult$3(ServiceRegistrationOSGiImpl.java:94) > at org.apache.aries.component.dsl.OSGiResult.run(OSGiResult.java:29) > at > org.apache.aries.component.dsl.internal.OSGiResultImpl.close(OSGiResultImpl.java:36) > at org.apache.aries.component.dsl.OSGiResult.run(OSGiResult.java:29) > at > org.apache.aries.component.dsl.internal.OSGiResultImpl.close(OSGiResultImpl.java:36) > at org.apache.aries.component.dsl.OSGiResult.run(OSGiResult.java:29) > at > org.apache.aries.component.dsl.internal.OnlyLastPublisher.lambda$publish$0(OnlyLastPublisher.java:63) > at org.apache.aries.component.dsl.OSGiResult.run(OSGiResult.java:29) > at > org.apache.aries.component.dsl.internal.JustOSGiImpl.cleanUp(JustOSGiImpl.java:67) > at > org.apache.aries.component.dsl.internal.JustOSGiImpl.lambda$null$1(JustOSGiImpl.java:57) > at org.apache.aries.component.dsl.OSGiResult.run(OSGiResult.java:29) > at > org.apache.aries.component.dsl.internal.OSGiResultImpl.close(OSGiResultImpl.java:36) > at org.apache.aries.component.dsl.OSGiResult.run(OSGiResult.java:29) > at org.apache.aries.component.dsl.OSGi.lambda$null$63(OSGi.java:613) > at org.apache.aries.component.dsl.OSGiResult.run(OSGiResult.java:29) > at > org.apache.aries.component.dsl.internal.JustOSGiImpl.cleanUp(JustOSGiImpl.java:67) > at > org.apache.aries.component.dsl.internal.JustOSGiImpl.lambda$null$1(JustOSGiImpl.java:57) > at org.apache.aries.component.dsl.OSGiResult.run(OSGiResult.java:29) > at > org.apache.aries.component.dsl.internal.OSGiResultImpl.close(OSGiResultImpl.java:36) > at org.apache.aries.component.dsl.OSGiResult.run(OSGiResult.java:29) > at > org.apache.aries.component.dsl.internal.EffectsOSGi.lambda$null$0(EffectsOSGi.java:46) > at org.apache.aries.component.dsl.OSGiResult.run(OSGiResult.java:29) > at > org.apache.aries.component.dsl.internal.OSGiResultImpl.close(OSGiResultImpl.java:36) > at org.apache.aries.component.dsl.OSGiResult.run(OSGiResult.java:29) > at > org.apache.aries.component.dsl.internal.OSGiResultImpl.close(OSGiResultImpl.java:36) > at org.apache.aries.component.dsl.OSGiResult.run(OSGiResult.java:29) > at > org.apache.aries.component.dsl.internal.JustOSGiImpl.cleanUp(JustOSGiImpl.java:67) > at > org.apache.aries.component.dsl.internal.JustOSGiImpl.lambda$null$1(JustOSGiImpl.java:57) > at org.apache.aries.component.dsl.OSGiResult.run(OSGiResult.java:29) > at > org.apache.aries.component.dsl.internal.OSGiResultImpl.close(OSGiResultImpl.java:36) > at org.apache.aries.component.dsl.OSGiResult.run(OSGiResult.java:29) > at > org.apache.aries.component.dsl.internal.OSGiResultImpl.close(OSGiResultImpl.java:36) > at org.apache.aries.component.dsl.OSGiResult.run(OSGiResult.java:29) > at > org.apache.aries.component.dsl.internal.ServiceReferenceOSGi$DefaultServiceTrackerCustomizer.removedService(ServiceReferenceOSGi.java:96) > at > org.apache.aries.component.dsl.internal.ServiceReferenceOSGi$DefaultServiceTrackerCustomizer.removedService(ServiceReferenceOSGi.java:56) > at > org.osgi.util.tracker.ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:969) > at > org.osgi.util.tracker.ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:1) > at > org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:286) > at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229) > at > org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:903) > at > org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:120) > at > org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:957) > at > org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) > at > org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151) > at > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:936) > at > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:873) > at > org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:141) > at > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:261) > at > org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:496) > at > org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:515) > at > org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:1043) > at test.ShiroTest.setupConfigs(ShiroTest.java:71) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) > at > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) > at > org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24) > at > org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) > at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) > at > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) > at > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) > at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) > at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) > at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) > at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) > at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) > at org.junit.runners.ParentRunner.run(ParentRunner.java:363) > at junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:38) > at junit.framework.TestSuite.runTest(TestSuite.java:252) > at junit.framework.TestSuite.run(TestSuite.java:247) > at aQute.junit.Activator.test(Activator.java:356) > at aQute.junit.Activator.automatic(Activator.java:266) > at aQute.junit.Activator.run(Activator.java:187) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) > at aQute.launcher.Launcher.launch(Launcher.java:450) > at aQute.launcher.Launcher.run(Launcher.java:179) > at aQute.launcher.Launcher.main(Launcher.java:155) > at > aQute.launcher.pre.EmbeddedLauncher.executeWithRunPath(EmbeddedLauncher.java:170) > at > aQute.launcher.pre.EmbeddedLauncher.findAndExecute(EmbeddedLauncher.java:135) > at aQute.launcher.pre.EmbeddedLauncher.main(EmbeddedLauncher.java:52) > 13:32:35.818 [CM Event Dispatcher (Fire ConfigurationEvent: > pid=org.apache.aries.jax.rs.shiro.authentication)] ERROR > o.a.a.j.r.w.internal.Whiteboard - Errored ServiceReference > CachingServiceReference { > cachedProperties={osgi.jaxrs.application.select=null (cached), service.id=75, > objectClass=[javax.ws.rs.core.Feature], osgi.jaxrs.name=aries.shiro.authc, > osgi.jaxrs.extension.select=null (cached), service.ranking=null (cached), > osgi.jaxrs.whiteboard.target=null (cached)} > serviceReference={javax.ws.rs.core.Feature}={service.id=75, > osgi.jaxrs.extension=true, service.bundleid=3, service.scope=prototype, > shiro.authc=true, osgi.jaxrs.name=aries.shiro.authc, > service.pid=org.apache.aries.jax.rs.shiro.authentication} > } for extension left > {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)