[ 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)