Return-Path: X-Original-To: apmail-felix-dev-archive@www.apache.org Delivered-To: apmail-felix-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id B415C9C10 for ; Fri, 2 Mar 2012 18:10:32 +0000 (UTC) Received: (qmail 76519 invoked by uid 500); 2 Mar 2012 18:10:32 -0000 Delivered-To: apmail-felix-dev-archive@felix.apache.org Received: (qmail 76454 invoked by uid 500); 2 Mar 2012 18:10:32 -0000 Mailing-List: contact dev-help@felix.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@felix.apache.org Delivered-To: mailing list dev@felix.apache.org Received: (qmail 76381 invoked by uid 99); 2 Mar 2012 18:10:32 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 02 Mar 2012 18:10:32 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED,T_RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.116] (HELO hel.zones.apache.org) (140.211.11.116) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 02 Mar 2012 18:10:19 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id 8968D5F4D for ; Fri, 2 Mar 2012 18:09:59 +0000 (UTC) Date: Fri, 2 Mar 2012 18:09:59 +0000 (UTC) From: "Richard S. Hall (Commented) (JIRA)" To: dev@felix.apache.org Message-ID: <1322380024.12926.1330711799564.JavaMail.tomcat@hel.zones.apache.org> In-Reply-To: <1185886005.11695.1330692176975.JavaMail.tomcat@hel.zones.apache.org> Subject: [jira] [Commented] (FELIX-3370) Complex Require-Bundle resolver failure MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/FELIX-3370?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13221116#comment-13221116 ] Richard S. Hall commented on FELIX-3370: ---------------------------------------- I don't think you were reporting this against framework, but I tried it on framework and came up with the correct result: g! lb START LEVEL 1 ID|State |Level|Name 0|Active | 0|System Bundle (4.1.0.SNAPSHOT) 1|Active | 1|Apache Felix Bundle Repository (1.6.6) 2|Active | 1|Apache Felix Gogo Command (0.12.0) 3|Active | 1|Apache Felix Gogo Runtime (0.10.0) 4|Active | 1|Apache Felix Gogo Shell (0.10.0) 5|Installed | 1|B (0.0.0) 6|Installed | 1|C (0.0.0) 7|Installed | 1|D (0.0.0) 8|Installed | 1|E (0.0.0) g! resolve 8 DEBUG: Candidate permutation failed due to a conflict between imports; will try another if possible. (org.apache.felix.framework.resolver.ResolveException: Uses constraint violation. Unable to resolve bundle revision E [8.0] because it is exposed to package 'resources' from bundle revisions B [5.0] and C [6.0] via two dependency chains. Chain 1: E [8.0] import: (osgi.wiring.package=resources) | export: osgi.wiring.package=resources B [5.0] Chain 2: E [8.0] require: (osgi.wiring.bundle=D) | provide: [7.0] osgi.wiring.bundle; {osgi.wiring.bundle=D, bundle-version=0.0.0} D [7.0] import: (&(osgi.wiring.package=resources)(bundle-symbolic-name=C)) | export: osgi.wiring.package=resources C [6.0]) DEBUG: WIRE: [8.0] osgi.wiring.package; (osgi.wiring.package=resources) -> [6.0] DEBUG: WIRE: [8.0] osgi.wiring.bundle; (osgi.wiring.bundle=D) -> [7.0] DEBUG: WIRE: [7.0] osgi.wiring.package; (&(osgi.wiring.package=resources)(bundle-symbolic-name=C)) -> [6.0] g! This shows it saw the conflict and then find the correct solution in the final wires. > Complex Require-Bundle resolver failure > --------------------------------------- > > Key: FELIX-3370 > URL: https://issues.apache.org/jira/browse/FELIX-3370 > Project: Felix > Issue Type: Bug > Components: Framework > Affects Versions: framework-4.0.2 > Reporter: Thomas Diesler > Priority: Minor > Fix For: framework-4.2.0 > > > Consider this > {code} > // Bundle-SymbolicName: requirebundleB > // Export-Package: resources > > // Bundle-SymbolicName: requirebundleC > // Export-Package: resources > > // Bundle-SymbolicName: requirebundleD > // Export-Package: org.jboss.osgi.test.classloading.export;uses:=resources > // Import-Package: resources;bundle-symbolic-name=requirebundleC > // Bundle-SymbolicName: requirebundleE > // Require-Bundle: requirebundleD > // Import-Package: resources > Wiring wiringE = getWiring(env, resourceE); > assertEquals(0, wiringE.getProvidedResourceWires(null).size()); > assertEquals(1, wiringE.getRequiredResourceWires(WIRING_PACKAGE_NAMESPACE).size()); > wire = wiringE.getRequiredResourceWires(WIRING_PACKAGE_NAMESPACE).get(0); > assertEquals(resourceC, wire.getProvider()); > {code} > The current implementation of the standalone resolver wires E to B -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira