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

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

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • resolver-1.0.0
    • resolver-1.4.0
    • Resolver
    • None
    • 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

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

            Dates

              Created:
              Updated:
              Resolved: