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

Dynamic package resolution with fragment package exports can lead to invalid wirings

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: resolver-1.0.0
    • Fix Version/s: resolver-1.4.0
    • Component/s: Resolver
    • Labels:
      None
    • Environment:
      All

      Description

      Similar to FELIX-4428 but the behavior is a regression since the fix for FELIX-4656 was released. The issue is only with dynamic import package resolution. In this case a new CopyOnWriteList is created by Candidates.add(Requirement, List<Capability>) from the method Candidates.populateDynamic(ResolveContext, Resource, Requirement, List<Capability>) but the original List<Capability> list may be modified in the next call to Candidates.processCandidates(ResolveContext, Resource, List<Capability>)

      The issue is that processCandidates is responsible for inserting hosted capabilities into the candidates List. Previously to the fix for FELIX-4656 the passed in List was used as is so modifying it later would effect the list stored in the Candidates data structure also. This is no longer the case.

        Attachments

        1. FELIX-4897.patch
          0.9 kB
          Tom Watson

          Activity

            People

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

              Dates

              • Created:
                Updated:
                Resolved: