Raymond Augé created ARIES-2028: ----------------------------------- Summary: 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é
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)