Uploaded image for project: 'Felix'
  1. Felix
  2. FELIX-5998

NPE in Resolver checkPackageSpaceConsistency

    XMLWordPrintableJSON

Details

    • Task
    • Status: Closed
    • Major
    • Resolution: Invalid
    • resolver-2.0.0
    • None
    • Resolver
    • None

    Description

      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 :

      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)
      

      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.

      Attachments

        Activity

          People

            Unassigned Unassigned
            pderop Pierre De Rop
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: