Tom Watson created FELIX-6212:

             Summary: Issues with uses capability checking with split packages 
and reexport
                 Key: FELIX-6212
             Project: Felix
          Issue Type: Bug
          Components: Resolver
    Affects Versions: resolver-1.16.0
            Reporter: Tom Watson

First found in Eclipse bug

If a bundle A reexports multiple bundles (B and C) that export the same package 
Y (which is a split package) and another bundle D requires A and exports 
package X and package X uses Y then issues occur resolving bundles that require 
package X and only get wired to one of the parts of the split package Y.

The scenario is horrible and uses one of the most obnoxious trifecta of 
"features" of OSGi which is the use of a split package, require-bundle and a 
visibility of reexport.  When determining the compatibility of the used 
packages the resolver is supposed to detect if the used packages are subsets of 
each other.  The logic is getting all messed up here because each reexport is 
making the used package set of sources only include a single part of the 
package.  This can lead to cases where the subset check fails.

I have a testcase and fix ready to go.

This message was sent by Atlassian Jira

Reply via email to