felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Felix Meschberger <fmesc...@adobe.com>
Subject Re: NPE with felix framework 3.0.8
Date Mon, 30 May 2011 11:10:33 GMT
Hi,

Sure.

Regards
Felix

Am Dienstag, den 24.05.2011, 15:28 +0100 schrieb Richard S. Hall: 
> Keep me posted...thanks.
> 
> -> richard
> 
> On 5/24/11 3:28, Felix Meschberger wrote:
> > Hi,
> >
> > Am Montag, den 23.05.2011, 14:59 +0100 schrieb Richard S. Hall:
> >> If I recall, I don't think that should be null.
> > That would be my interpretation, too. But unfortunately it can happen.
> >
> >> It would be awesome if
> >> there was some way to reproduce it.
> > I try to get hold to a system which exhibits this problem and try to
> > find out how to reproduce ...
> >
> > At the moment it looks like this:
> >
> >    * start framework
> >    * after startup install and start a bunch of bundles
> >    * use the system
> >      -->  NPE occurs
> >    * stop framework
> >    * start the framework again
> >      -->  all bundles already installed and starting properly
> >    * use the system
> >      -->  works flawlessly without NPE
> >
> > So it sounds like an issue related to resolution bundles installed after
> > startup.
> >
> > Regards
> > Felix
> >
> >
> >> ->  richard
> >>
> >> On 5/23/11 6:05, Felix Meschberger wrote:
> >>> 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]
> >>>>>
> >>>>>
> >



Mime
View raw message