[ https://issues.apache.org/jira/browse/ARIES-1591?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15413033#comment-15413033 ]
Tom De Wolf edited comment on ARIES-1591 at 8/9/16 6:40 AM: ------------------------------------------------------------ When I try this setup with felix resolver 1.8 I already get problems when installing the reproduce-base-subsystem in step 2. These problems are however different but related to the fragment's host (pax-web-jetty-bundle). Especially the 2nd and 3rd permutation failure indicate that it thinks there are 2 different resources while it is the same bundle: {panel} DEBUG: Candidate permutation failed due to a conflict between imports; will try another if possible. (Uses constraint violation. Unable to resolve resource org.ops4j.pax.web.pax-web-jetty-bundle [/var/folders/9b/nqy6w5xs6gz1m1q4g6gpfr_c0000gn/T/inputStreamExtract1867503759233108111.zip/pax-web-jetty-bundle-4.2.5.jar] because it is exposed to package 'org.osgi.service.log' from resources org.ops4j.pax.logging.pax-logging-api [8.0] and org.apache.felix.gogo.command [1.0] via two dependency chains. Chain 1: org.ops4j.pax.web.pax-web-jetty-bundle [/var/folders/9b/nqy6w5xs6gz1m1q4g6gpfr_c0000gn/T/inputStreamExtract1867503759233108111.zip/pax-web-jetty-bundle-4.2.5.jar] import: (&(osgi.wiring.package=org.osgi.service.log)(&(version>=1.3.0)(!(version>=2.0.0)))) | export: osgi.wiring.package: org.osgi.service.log org.ops4j.pax.logging.pax-logging-api [8.0] Chain 2: org.ops4j.pax.web.pax-web-jetty-bundle [/var/folders/9b/nqy6w5xs6gz1m1q4g6gpfr_c0000gn/T/inputStreamExtract1867503759233108111.zip/pax-web-jetty-bundle-4.2.5.jar] import: (&(osgi.wiring.package=org.apache.commons.logging)(&(version>=1.0.0)(!(version>=2.0.0)))) | export: osgi.wiring.package=org.apache.commons.logging; uses:=org.ops4j.pax.logging org.ops4j.pax.logging.pax-logging-api [8.0] import: (&(osgi.wiring.package=org.ops4j.pax.logging)(version>=0.9.5)(!(version>=2.0.0))) | export: osgi.wiring.package=org.ops4j.pax.logging; uses:=org.osgi.service.log org.ops4j.pax.logging.pax-logging-api [8.0] import: (&(osgi.wiring.package=org.osgi.service.log)(version>=1.3.0)(!(version>=2.0.0))) | export: osgi.wiring.package: org.osgi.service.log org.apache.felix.gogo.command [1.0]) DEBUG: Candidate permutation failed due to a conflict between an export and import; will try another if possible. (Uses constraint violation. Unable to resolve resource org.ops4j.pax.web.pax-web-jetty-bundle [/var/folders/9b/nqy6w5xs6gz1m1q4g6gpfr_c0000gn/T/inputStreamExtract1867503759233108111.zip/pax-web-jetty-bundle-4.2.5.jar] because it exports package 'org.eclipse.jetty.util.log' and is also exposed to it from resource org.ops4j.pax.web.pax-web-jetty-bundle [/var/folders/9b/nqy6w5xs6gz1m1q4g6gpfr_c0000gn/T/inputStreamExtract1867503759233108111.zip/pax-web-jetty-bundle-4.2.5.jar] via the following dependency chain: org.ops4j.pax.web.pax-web-jetty-bundle [/var/folders/9b/nqy6w5xs6gz1m1q4g6gpfr_c0000gn/T/inputStreamExtract1867503759233108111.zip/pax-web-jetty-bundle-4.2.5.jar] import: (&(osgi.wiring.package=org.eclipse.jetty.server.handler)(&(version>=9.2.0)(!(version>=10.0.0)))) | export: osgi.wiring.package: org.eclipse.jetty.server.handler; uses:=org.eclipse.jetty.util.log export: osgi.wiring.package=org.eclipse.jetty.util.log org.ops4j.pax.web.pax-web-jetty-bundle [/var/folders/9b/nqy6w5xs6gz1m1q4g6gpfr_c0000gn/T/inputStreamExtract1867503759233108111.zip/pax-web-jetty-bundle-4.2.5.jar]) DEBUG: Candidate permutation failed due to a conflict between imports; will try another if possible. (Uses constraint violation. Unable to resolve resource org.ops4j.pax.web.pax-web-jetty-bundle [/var/folders/9b/nqy6w5xs6gz1m1q4g6gpfr_c0000gn/T/inputStreamExtract1867503759233108111.zip/pax-web-jetty-bundle-4.2.5.jar] because it is exposed to package 'org.osgi.service.log' from resources org.ops4j.pax.logging.pax-logging-api [8.0] and org.apache.felix.gogo.command [1.0] via two dependency chains. Chain 1: org.ops4j.pax.web.pax-web-jetty-bundle [/var/folders/9b/nqy6w5xs6gz1m1q4g6gpfr_c0000gn/T/inputStreamExtract1867503759233108111.zip/pax-web-jetty-bundle-4.2.5.jar] import: (&(osgi.wiring.package=org.osgi.service.log)(&(version>=1.3.0)(!(version>=2.0.0)))) | export: osgi.wiring.package: org.osgi.service.log org.ops4j.pax.logging.pax-logging-api [8.0] Chain 2: org.ops4j.pax.web.pax-web-jetty-bundle [/var/folders/9b/nqy6w5xs6gz1m1q4g6gpfr_c0000gn/T/inputStreamExtract1867503759233108111.zip/pax-web-jetty-bundle-4.2.5.jar] import: (&(osgi.wiring.package=org.apache.commons.logging)(&(version>=1.0.0)(!(version>=2.0.0)))) | export: osgi.wiring.package=org.apache.commons.logging; uses:=org.ops4j.pax.logging org.ops4j.pax.logging.pax-logging-api [8.0] import: (&(osgi.wiring.package=org.ops4j.pax.logging)(version>=0.9.5)(!(version>=2.0.0))) | export: osgi.wiring.package=org.ops4j.pax.logging; uses:=org.osgi.service.log org.ops4j.pax.logging.pax-logging-api [8.0] import: (&(osgi.wiring.package=org.osgi.service.log)(version>=1.3.0)(!(version>=2.0.0))) | export: osgi.wiring.package: org.osgi.service.log org.apache.felix.gogo.command [1.0]) {panel} was (Author: tom.dewolf): When I try this setup with felix resolver 1.8 I already get problems when installing the reproduce-base-subsystem in step 2. These problems are however different but related to the fragment's host (pax-web-jetty-bundle): {panel} DEBUG: Candidate permutation failed due to a conflict between imports; will try another if possible. (Uses constraint violation. Unable to resolve resource org.ops4j.pax.web.pax-web-jetty-bundle [/var/folders/9b/nqy6w5xs6gz1m1q4g6gpfr_c0000gn/T/inputStreamExtract1867503759233108111.zip/pax-web-jetty-bundle-4.2.5.jar] because it is exposed to package 'org.osgi.service.log' from resources org.ops4j.pax.logging.pax-logging-api [8.0] and org.apache.felix.gogo.command [1.0] via two dependency chains. Chain 1: org.ops4j.pax.web.pax-web-jetty-bundle [/var/folders/9b/nqy6w5xs6gz1m1q4g6gpfr_c0000gn/T/inputStreamExtract1867503759233108111.zip/pax-web-jetty-bundle-4.2.5.jar] import: (&(osgi.wiring.package=org.osgi.service.log)(&(version>=1.3.0)(!(version>=2.0.0)))) | export: osgi.wiring.package: org.osgi.service.log org.ops4j.pax.logging.pax-logging-api [8.0] Chain 2: org.ops4j.pax.web.pax-web-jetty-bundle [/var/folders/9b/nqy6w5xs6gz1m1q4g6gpfr_c0000gn/T/inputStreamExtract1867503759233108111.zip/pax-web-jetty-bundle-4.2.5.jar] import: (&(osgi.wiring.package=org.apache.commons.logging)(&(version>=1.0.0)(!(version>=2.0.0)))) | export: osgi.wiring.package=org.apache.commons.logging; uses:=org.ops4j.pax.logging org.ops4j.pax.logging.pax-logging-api [8.0] import: (&(osgi.wiring.package=org.ops4j.pax.logging)(version>=0.9.5)(!(version>=2.0.0))) | export: osgi.wiring.package=org.ops4j.pax.logging; uses:=org.osgi.service.log org.ops4j.pax.logging.pax-logging-api [8.0] import: (&(osgi.wiring.package=org.osgi.service.log)(version>=1.3.0)(!(version>=2.0.0))) | export: osgi.wiring.package: org.osgi.service.log org.apache.felix.gogo.command [1.0]) DEBUG: Candidate permutation failed due to a conflict between an export and import; will try another if possible. (Uses constraint violation. Unable to resolve resource org.ops4j.pax.web.pax-web-jetty-bundle [/var/folders/9b/nqy6w5xs6gz1m1q4g6gpfr_c0000gn/T/inputStreamExtract1867503759233108111.zip/pax-web-jetty-bundle-4.2.5.jar] because it exports package 'org.eclipse.jetty.util.log' and is also exposed to it from resource org.ops4j.pax.web.pax-web-jetty-bundle [/var/folders/9b/nqy6w5xs6gz1m1q4g6gpfr_c0000gn/T/inputStreamExtract1867503759233108111.zip/pax-web-jetty-bundle-4.2.5.jar] via the following dependency chain: org.ops4j.pax.web.pax-web-jetty-bundle [/var/folders/9b/nqy6w5xs6gz1m1q4g6gpfr_c0000gn/T/inputStreamExtract1867503759233108111.zip/pax-web-jetty-bundle-4.2.5.jar] import: (&(osgi.wiring.package=org.eclipse.jetty.server.handler)(&(version>=9.2.0)(!(version>=10.0.0)))) | export: osgi.wiring.package: org.eclipse.jetty.server.handler; uses:=org.eclipse.jetty.util.log export: osgi.wiring.package=org.eclipse.jetty.util.log org.ops4j.pax.web.pax-web-jetty-bundle [/var/folders/9b/nqy6w5xs6gz1m1q4g6gpfr_c0000gn/T/inputStreamExtract1867503759233108111.zip/pax-web-jetty-bundle-4.2.5.jar]) DEBUG: Candidate permutation failed due to a conflict between imports; will try another if possible. (Uses constraint violation. Unable to resolve resource org.ops4j.pax.web.pax-web-jetty-bundle [/var/folders/9b/nqy6w5xs6gz1m1q4g6gpfr_c0000gn/T/inputStreamExtract1867503759233108111.zip/pax-web-jetty-bundle-4.2.5.jar] because it is exposed to package 'org.osgi.service.log' from resources org.ops4j.pax.logging.pax-logging-api [8.0] and org.apache.felix.gogo.command [1.0] via two dependency chains. Chain 1: org.ops4j.pax.web.pax-web-jetty-bundle [/var/folders/9b/nqy6w5xs6gz1m1q4g6gpfr_c0000gn/T/inputStreamExtract1867503759233108111.zip/pax-web-jetty-bundle-4.2.5.jar] import: (&(osgi.wiring.package=org.osgi.service.log)(&(version>=1.3.0)(!(version>=2.0.0)))) | export: osgi.wiring.package: org.osgi.service.log org.ops4j.pax.logging.pax-logging-api [8.0] Chain 2: org.ops4j.pax.web.pax-web-jetty-bundle [/var/folders/9b/nqy6w5xs6gz1m1q4g6gpfr_c0000gn/T/inputStreamExtract1867503759233108111.zip/pax-web-jetty-bundle-4.2.5.jar] import: (&(osgi.wiring.package=org.apache.commons.logging)(&(version>=1.0.0)(!(version>=2.0.0)))) | export: osgi.wiring.package=org.apache.commons.logging; uses:=org.ops4j.pax.logging org.ops4j.pax.logging.pax-logging-api [8.0] import: (&(osgi.wiring.package=org.ops4j.pax.logging)(version>=0.9.5)(!(version>=2.0.0))) | export: osgi.wiring.package=org.ops4j.pax.logging; uses:=org.osgi.service.log org.ops4j.pax.logging.pax-logging-api [8.0] import: (&(osgi.wiring.package=org.osgi.service.log)(version>=1.3.0)(!(version>=2.0.0))) | export: osgi.wiring.package: org.osgi.service.log org.apache.felix.gogo.command [1.0]) {panel} > Subsystem install fails due to ArrayIndexOutofBoundsException > ------------------------------------------------------------- > > Key: ARIES-1591 > URL: https://issues.apache.org/jira/browse/ARIES-1591 > Project: Aries > Issue Type: Bug > Components: Subsystem > Reporter: Tom De Wolf > Priority: Blocker > Fix For: subsystem-2.1.0 > > Attachments: reproduce-base-subsystem-4.1.2-SNAPSHOT.esa, > reproduce-subsystem-4.1.2-SNAPSHOT.esa > > > When we use the 2.0.9-SNAPSHOT version currently in development we get an > ArrayIndexOutOfBoundsException as soon as our base subsystem contains a > fragment bundle: > {panel} > Caused by: org.osgi.service.subsystem.SubsystemException: > java.lang.ArrayIndexOutOfBoundsException: -1 > at > org.apache.aries.subsystem.core.internal.Utils.handleTrowable(Utils.java:117) > at > org.apache.aries.subsystem.core.internal.SubsystemResource.computeDependencies(SubsystemResource.java:398) > at > org.apache.aries.subsystem.core.internal.SubsystemResource.computeDependencies(SubsystemResource.java:363) > at > org.apache.aries.subsystem.core.internal.SubsystemResource.<init>(SubsystemResource.java:101) > at > org.apache.aries.subsystem.core.internal.SubsystemResource.<init>(SubsystemResource.java:91) > at > org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:60) > at > org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:27) > at java.security.AccessController.doPrivileged(Native Method) > at > org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:738) > at > org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:791) > at > org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:365) > at > org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:70) > ... 30 more > Caused by: java.lang.ArrayIndexOutOfBoundsException: -1 > at > org.apache.felix.resolver.util.CopyOnWriteList.set(CopyOnWriteList.java:53) > at org.apache.felix.resolver.Candidates.prepare(Candidates.java:1052) > at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:173) > at > org.apache.aries.subsystem.core.internal.SubsystemResource.computeDependencies(SubsystemResource.java:393) > ... 41 more > {panel} > Attached are 2 subsystems that allow to reproduce it. Note that the ONLY > difference between these subsystem esa's and the onces attached at ARIES-1590 > is the fragment bundle osgi-pax-web-jetty-config. > So the problem might be related to the same commit, but another effect. > Note: we are using the felix resolver 1.4.0 > Steps to reproduce: > 1. start clean felix > 2. install the attached reproduce-base-subsystem-4.1.2-SNAPSHOT.esa, do not > start it > 3. install the attached reproduce-subsystem-4.1.2-SNAPSHOT.esa > Step 3 fails with the above exception. -- This message was sent by Atlassian JIRA (v6.3.4#6332)