Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
When resolving a subsystem the implementation uses the Resolver service to determine the subsystem's dependencies. For application type subsystems this causes the sharing policy to be computed according to the wires returned by the resolver.
The subsystems implementation is doing a 'full' resolve to do this. This includes re-resolving bundles already resolved in the system repository as part of the subsystem resolution or installation process. As a result the resolution map used to calculate the import sharing policy contains wires for many resources that are not considered as part of the subsystem content. But the import policy is updated with the requirements for all wires which do not get wired to a provider contained in the subsystem.
This results in a explosion of filters in the equinox region edge which connects the subsystem region to its parent region. This is bad for several reasons. 1) may give access to things that the subsystem should not have access to 2) will slowdown performance when the list of filters gets large.