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

Issues with uses capability checking with split packages and reexport

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: resolver-1.16.0
    • Fix Version/s: None
    • Component/s: Resolver
    • Labels:
      None

      Description

      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.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              tjwatson Tom Watson
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: