[ https://issues.apache.org/jira/browse/KARAF-4885?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jean-Baptiste Onofré updated KARAF-4885: ---------------------------------------- Fix Version/s: (was: 4.1.3) 4.1.4 > Karaf does not gracefully handle a feature with a prerequisite feature that > is already installed > ------------------------------------------------------------------------------------------------ > > Key: KARAF-4885 > URL: https://issues.apache.org/jira/browse/KARAF-4885 > Project: Karaf > Issue Type: Bug > Affects Versions: 4.1.0 > Reporter: Dariush Amiri > Assignee: Jean-Baptiste Onofré > Fix For: 4.2.0, 4.1.4 > > > Here is a project on github that reproduces this issue: > https://github.com/damiri-ts/karaf-features-issue > After more investigation, the root cause seems to be the inability of karaf > to gracefully handle situations where a child feature has a prerequisite > feature that is already installed as part of a parent feature. It's confusing > so I've included the feature definition below. Note that the aries-blueprint > feature shows up twice. > <feature name="something-else" version="${project.version}" > description="Something else"> > <feature prerequisite="true">jasypt-encryption</feature> > <feature prerequisite="true">aries-blueprint</feature> > </feature> > <feature name="example" version="${project.version}" > description="Example"> > <feature>framework</feature> > <feature>wrap</feature> > <feature>aries-blueprint</feature> > <feature>shell</feature> > <feature>shell-compat</feature> > <feature>feature</feature> > <feature>jaas</feature> > <feature>ssh</feature> > <feature>management</feature> > <feature>bundle</feature> > <feature>config</feature> > <feature>deployer</feature> > <feature>diagnostic</feature> > <feature>instance</feature> > <feature>kar</feature> > <feature>log</feature> > <feature>package</feature> > <feature>service</feature> > <feature>system</feature> > <feature>scr</feature> > <feature>jetty</feature> > <feature>pax-http-whiteboard</feature> > <feature>something-else</feature> > </feature> > This manifests itself in the logs like this: > 2016-12-05T18:23:57,843 | ERROR | FelixStartLevel | > Felix | - - | Bundle org.objectweb.asm.all > [54] Error locking mvn:org.ow2.asm/asm-all/6.0_ALPHA > (java.lang.IllegalStateException: Bundle in unexpected state.) > java.lang.IllegalStateException: Bundle in unexpected state. > at > org.apache.felix.framework.Felix.acquireBundleLock(Felix.java:5272) [?:?] > at > org.apache.felix.framework.Felix.setBundleStartLevel(Felix.java:1524) [?:?] > at > org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:338) > > [?:?] > at java.lang.Thread.run(Thread.java:745) [?:?] > 2016-12-05T18:23:57,844 | INFO | CM Configuration Updater > (ManagedService Update: pid=[org.apache.cxf.osgi]) | > TldScanner | 189 - org.ops4j.pax.web.pax-web-jsp - > 4.4.0 | found TLD bundle://189.0:0/META-INF/c.tld > 2016-12-05T18:23:57,841 | ERROR | FelixDispatchQueue | > all | 184 - org.objectweb.asm.all - 5.0.2 | > FrameworkEvent ERROR - org.objectweb.asm.all > java.lang.IllegalStateException: Bundle in unexpected state. > at > org.apache.felix.framework.Felix.acquireBundleLock(Felix.java:5272) [?:?] > at > org.apache.felix.framework.Felix.setBundleStartLevel(Felix.java:1524) [?:?] > at > org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:338) > > [?:?] > at java.lang.Thread.run(Thread.java:745) [?:?] -- This message was sent by Atlassian JIRA (v6.4.14#64029)