rg chi created KARAF-5962:
-----------------------------

             Summary: Regression when installing some features containing 
fragments 4.2.0 -> 4.2.1
                 Key: KARAF-5962
                 URL: https://issues.apache.org/jira/browse/KARAF-5962
             Project: Karaf
          Issue Type: Bug
          Components: karaf
    Affects Versions: 4.2.1
         Environment: java.specification.name Java Platform API Specification
java.specification.vendor Oracle Corporation
java.specification.version 1.8

java.runtime.name OpenJDK Runtime Environment
java.runtime.version 1.8.0_181-8u181-b13-1~deb9u1-b13
            Reporter: rg chi


Bug reproduction uses Apache Ignite karaf feature with JDK 8. In this case 
org.apache.ignite.ignite-core plays host to fragment 
org.apache.ignite.ignite-indexing.

1) Expose
{noformat}
com.sun.management, \
sun.misc, \
sun.nio.ch
{noformat}
in system bundle

(for some reason ignite uses Import-Package to wire these so boot delegation is 
not enough; we need to append packages to system bundle)

2)
{noformat}
karaf@root()> feature:repo-add 
mvn:org.apache.ignite/ignite-osgi-karaf/2.6.0/xml/features
karaf@root()> feature:install ignite-core
karaf@root()> feature:install ignite-indexing
{noformat}
Works fine in 4.2.0 but in 4.2.1 this generates exception:
{noformat}
java.lang.ArrayIndexOutOfBoundsException: -1
        at java.util.ArrayList.elementData(ArrayList.java:422)
        at java.util.ArrayList.set(ArrayList.java:450)
        at org.apache.felix.resolver.util.ShadowList.replace(ShadowList.java:74)
        at org.apache.felix.resolver.Candidates.prepare(Candidates.java:941)
        at 
org.apache.felix.resolver.ResolverImpl.getInitialCandidates(ResolverImpl.java:505)
        at 
org.apache.felix.resolver.ResolverImpl.doResolve(ResolverImpl.java:390)
        at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:378)
        at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:332)
        at 
org.apache.karaf.features.internal.region.SubsystemResolver.resolve(SubsystemResolver.java:257)
        at 
org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:388)
        at 
org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1025)
        at 
org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:964)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
Error executing command: -1
{noformat}

Now this does not seem to happen with all fragment-host combinations. But the 
above example is a reliable way to reproduce the faulty behavior in Karaf 
4.2.1. 

This might be related to changes introduced in KARAF-5706 but as of yet 
undetermined.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to