[ 
https://issues.apache.org/jira/browse/FELIX-5998?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16719165#comment-16719165
 ] 

Thomas Watson commented on FELIX-5998:
--------------------------------------

I see at least one of two things that could be going on.  First off, I think 
the NPE must be happening because at line 1311 of ResolerImpl the following is 
getting a null assigned to the pkgs variable
{code:java}
Packages pkgs = resourcePkgMap.get(resource);
{code}

This is either happening because:
# ResolverImpl.calculatePackageSpaces(ResolveSession, Candidates, 
Collection<Resource>) is not properly creating the Map in your case and leaving 
a resource out of the map.
# Somehow you have an implementation of Capability which is returning null from 
the method Capability.getResource() and when we use the null as a key in the 
map we get a null value back.

> NPE in Resolver checkPackageSpaceConsistency
> --------------------------------------------
>
>                 Key: FELIX-5998
>                 URL: https://issues.apache.org/jira/browse/FELIX-5998
>             Project: Felix
>          Issue Type: Task
>          Components: Resolver
>    Affects Versions: resolver-2.0.0
>            Reporter: Pierre De Rop
>            Priority: Major
>
> I'm using a custom ResolveContext implementation that I've written in order 
> to calculate the dependencies of some applications which bundles are all 
> centralized in an OBR. Now, using the Felix framework 6.0.1 (and the Resolver 
> 2.0.0 that is provided by the framework), I sometimes get an NPE in the 
> ResolverImpl.checkPackageSpaceConsistency, line 1319). 
> My OBR is not yet fully "curated" (I still have some " Candidate permutation 
> failed due to a conflict between imports" logs when enabling 
> felix.log.level=4). So I'm cleaning the OBR gradually, but now, sometimes  I 
> see this NPE while resolving :
> {code:java}
> java.lang.NullPointerException
> at 
> org.apache.felix.resolver.ResolverImpl.checkPackageSpaceConsistency(ResolverImpl.java:1319)
> at 
> org.apache.felix.resolver.ResolverImpl.checkPackageSpaceConsistency(ResolverImpl.java:1500)
> at 
> org.apache.felix.resolver.ResolverImpl.checkPackageSpaceConsistency(ResolverImpl.java:1500)
> at 
> org.apache.felix.resolver.ResolverImpl.checkPackageSpaceConsistency(ResolverImpl.java:1500)
> at 
> org.apache.felix.resolver.ResolverImpl.checkPackageSpaceConsistency(ResolverImpl.java:1500)
> at 
> org.apache.felix.resolver.ResolverImpl.checkPackageSpaceConsistency(ResolverImpl.java:1500)
> at 
> org.apache.felix.resolver.ResolverImpl.checkPackageSpaceConsistency(ResolverImpl.java:1500)
> at 
> org.apache.felix.resolver.ResolverImpl.checkPackageSpaceConsistency(ResolverImpl.java:1500)
> at 
> org.apache.felix.resolver.ResolverImpl.checkConsistency(ResolverImpl.java:622)
> at 
> org.apache.felix.resolver.ResolverImpl.findValidCandidates(ResolverImpl.java:575)
> at org.apache.felix.resolver.ResolverImpl.doResolve(ResolverImpl.java:438)
> at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:421)
> at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:414)
> at 
> com.nokia.as.microfeatures.bundlerepository.impl.BundleRepositoryImpl.findResolution(BundleRepositoryImpl.java:257)
> {code}
> The bad thing is that I'm not able to reproduce the NPE when I enable 
> felix.log.level=4, and the NPE is difficult to reproduce.
> Could someone please give me a clue about what could produce this NPE ? Are 
> there some traces which could be added in order to figure out what is the 
> problem ? Then is there a fix which should be done in order to avoid this 
> null pointer ?
> If I fully cleanup my OBR, maybe I won't have anymore the NPE, but I just 
> wanted to report it here.
> thank you.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to