You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Tom Watson (Jira)" <ji...@apache.org> on 2020/01/14 20:34:00 UTC

[jira] [Created] (FELIX-6212) Issues with uses capability checking with split packages and reexport

Tom Watson created FELIX-6212:
---------------------------------

             Summary: Issues with uses capability checking with split packages and reexport
                 Key: FELIX-6212
                 URL: https://issues.apache.org/jira/browse/FELIX-6212
             Project: Felix
          Issue Type: Bug
          Components: Resolver
    Affects Versions: resolver-1.16.0
            Reporter: Tom Watson


First found in Eclipse bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=559118

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
(v8.3.4#803005)