You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Thomas Watson (JIRA)" <ji...@apache.org> on 2015/05/21 04:55:59 UTC

[jira] [Updated] (FELIX-4897) Dynamic package resolution with fragment package exports can lead to invalid wirings

     [ https://issues.apache.org/jira/browse/FELIX-4897?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Thomas Watson updated FELIX-4897:
---------------------------------
    Attachment: FELIX-4897.patch

Possible fix is to return the internal copy of the candidates when adding them to Candidates so we can modify them correctly when inserting hosted capabilities for dynamic package resolution

> Dynamic package resolution with fragment package exports can lead to invalid wirings
> ------------------------------------------------------------------------------------
>
>                 Key: FELIX-4897
>                 URL: https://issues.apache.org/jira/browse/FELIX-4897
>             Project: Felix
>          Issue Type: Bug
>          Components: Resolver
>    Affects Versions: resolver-1.0.0
>         Environment: All
>            Reporter: Thomas Watson
>         Attachments: FELIX-4897.patch
>
>
> 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.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)