Hi,

A user of ours just reported this stack trace with 3.0.7:

> org.apache.felix.framework.resolver.ResolverImpl.permutateIfNeeded(ResolverImpl.java:1140)
>  
> org.apache.felix.framework.resolver.ResolverImpl.checkPackageSpaceConsistency(ResolverImpl.java:1066)
>  
> org.apache.felix.framework.resolver.ResolverImpl.resolve(ResolverImpl.java:176)
> org.apache.felix.framework.FelixFelixResolver.resolve(Felix.java:4066)
> org.apache.felix.framework.ModuleImpl.searchDynamicImports(ModuleImpl.java:1412)
> org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:734)

Looking at the code in question:


> SortedSet<Capability> candidates = allCandidates.getCandidates(req);
>         if (candidates.size() > 1)
>         {

it seems like there is no candidates set for the requirement which
causes the candidates.size() method to throw .. This is still the same
code in 3.2.2.

The user in fact reports that after a restart everything works fine.

Regards
Felix

> 
Am Mittwoch, den 02.02.2011, 22:37 +0000 schrieb Richard S. Hall: 
> I don't think anything changed in that area for 3.0.8, but you could try 
> it on 3.0.7 to see.
> 
> If it is reproducible, then open a bug and tell me how and I'll look 
> into it.
> 
> -> richard
> 
> On 2/2/11 16:30, Guillaume Nodet wrote:
> > I just had this exception while testing with the latest 3.0.8
> >
> > java.lang.NullPointerException
> >     at 
> > org.apache.felix.framework.resolver.ResolverImpl.permutateIfNeeded(ResolverImpl.java:1140)[org.apache.felix.framework-3.0.8.jar:]
> >     at 
> > org.apache.felix.framework.resolver.ResolverImpl.checkPackageSpaceConsistency(ResolverImpl.java:1066)[org.apache.felix.framework-3.0.8.jar:]
> >     at 
> > org.apache.felix.framework.resolver.ResolverImpl.resolve(ResolverImpl.java:176)[org.apache.felix.framework-3.0.8.jar:]
> >     at 
> > org.apache.felix.framework.Felix$FelixResolver.resolve(Felix.java:4100)[org.apache.felix.framework-3.0.8.jar:]
> >     at 
> > org.apache.felix.framework.ModuleImpl.searchDynamicImports(ModuleImpl.java:1412)[org.apache.felix.framework-3.0.8.jar:]
> >     at 
> > org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:734)[org.apache.felix.framework-3.0.8.jar:]
> >     at 
> > org.apache.felix.framework.ModuleImpl.access$400(ModuleImpl.java:71)[org.apache.felix.framework-3.0.8.jar:]
> >     at 
> > org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1768)[org.apache.felix.framework-3.0.8.jar:]
> >     at java.lang.ClassLoader.loadClass(ClassLoader.java:248)[:1.6.0_22]
> >     at 
> > org.apache.felix.framework.ModuleImpl.getClassByDelegation(ModuleImpl.java:645)[org.apache.felix.framework-3.0.8.jar:]
> >     at 
> > org.apache.felix.framework.Felix.loadBundleClass(Felix.java:1612)[org.apache.felix.framework-3.0.8.jar:]
> >     at 
> > org.apache.felix.framework.BundleImpl.loadClass(BundleImpl.java:904)[org.apache.felix.framework-3.0.8.jar:]
> >     at 
> > org.apache.aries.blueprint.namespace.NamespaceHandlerRegistryImpl$NamespaceHandlerSetImpl.findCompatibleNamespaceHandler(NamespaceHandlerRegistryImpl.java:369)[10:org.apache.aries.blueprint:0.3.0]
> >     at 
> > org.apache.aries.blueprint.namespace.NamespaceHandlerRegistryImpl$NamespaceHandlerSetImpl.registerHandler(NamespaceHandlerRegistryImpl.java:325)[10:org.apache.aries.blueprint:0.3.0]
> >     at 
> > org.apache.aries.blueprint.namespace.NamespaceHandlerRegistryImpl.registerHandler(NamespaceHandlerRegistryImpl.java:135)[10:org.apache.aries.blueprint:0.3.0]
> >     at 
> > org.apache.aries.blueprint.namespace.NamespaceHandlerRegistryImpl.addingService(NamespaceHandlerRegistryImpl.java:97)[10:org.apache.aries.blueprint:0.3.0]
> >     at 
> > org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:896)[karaf.jar:]
> >     at 
> > org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:261)[karaf.jar:]
> >     at 
> > org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:233)[karaf.jar:]
> >     at 
> > org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:840)[karaf.jar:]
> >     at 
> > org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:871)[org.apache.felix.framework-3.0.8.jar:]
> >     at 
> > org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:733)[org.apache.felix.framework-3.0.8.jar:]
> >     at 
> > org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:662)[org.apache.felix.framework-3.0.8.jar:]
> >     at 
> > org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:3769)[org.apache.felix.framework-3.0.8.jar:]
> >     at 
> > org.apache.felix.framework.Felix.access$000(Felix.java:80)[org.apache.felix.framework-3.0.8.jar:]
> >     at 
> > org.apache.felix.framework.Felix$2.serviceChanged(Felix.java:722)[org.apache.felix.framework-3.0.8.jar:]
> >     at 
> > org.apache.felix.framework.ServiceRegistry.registerService(ServiceRegistry.java:107)[org.apache.felix.framework-3.0.8.jar:]
> >     at 
> > org.apache.felix.framework.Felix.registerService(Felix.java:2854)[org.apache.felix.framework-3.0.8.jar:]
> >     at 
> > org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:251)[org.apache.felix.framework-3.0.8.jar:]
> >     at 
> > org.apache.aries.blueprint.container.BlueprintContainerImpl.registerService(BlueprintContainerImpl.java:404)[10:org.apache.aries.blueprint:0.3.0]
> >     at 
> > org.apache.aries.blueprint.container.ServiceRecipe.register(ServiceRecipe.java:184)[10:org.apache.aries.blueprint:0.3.0]
> >     at 
> > org.apache.aries.blueprint.container.BlueprintContainerImpl.registerServices(BlueprintContainerImpl.java:662)[10:org.apache.aries.blueprint:0.3.0]
> >     at 
> > org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:330)[10:org.apache.aries.blueprint:0.3.0]
> >     at 
> > org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:227)[10:org.apache.aries.blueprint:0.3.0]
> >     at 
> > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)[:1.6.0_22]
> >     at 
> > java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)[:1.6.0_22]
> >     at java.util.concurrent.FutureTask.run(FutureTask.java:138)[:1.6.0_22]
> >     at 
> > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)[:1.6.0_22]
> >     at 
> > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206)[:1.6.0_22]
> >     at 
> > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)[:1.6.0_22]
> >     at 
> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)[:1.6.0_22]
> >     at java.lang.Thread.run(Thread.java:680)[:1.6.0_22]
> >
> >


Reply via email to