One-by-one, I get three interesting things.
1: I need to install the first few features in an unexpected order due
to a mistake I'll correct.
2: Karaf 'reboots' after I install the DS feature, but that might be
because I didn't actually install scr.
3: As soon as I install the last feature, I get an NPE backtrace from
the subsystem resolver.
I think I'll fix the first issue and then try again.
feature:repo-add
file:/Users/benson/.m2/repository/org/apache/cxf/karaf/apache-cxf/3.1.2/apache-cxf-3.1.2-features.xml
feature:repo-add
file:/users/benson/x/rosapi1.5/features/target/feature/feature.xml
feature:install cxf-jaxrs
feature:install jolokia
feature:install rosette-api
feature:install rosapi-common
Error executing command: Unable to resolve root: missing requirement
[root] osgi.identity; osgi.identity=rosapi-common; type=karaf.feature;
version="[1.5.0.SNAPSHOT,1.5.0.SNAPSHOT]";
filter:="(&(osgi.identity=rosapi-common)(type=karaf.feature)(version>=1.5.0.SNAPSHOT)(version<=1.5.0.SNAPSHOT))"
[caused by: Unable to resolve rosapi-common/1.5.0.SNAPSHOT: missing
requirement [rosapi-common/1.5.0.SNAPSHOT] osgi.identity;
osgi.identity=org.apache.bval.org.apache.bval.bundle;
type=osgi.bundle; version="[1.1.0,1.1.0]"; resolution:=mandatory
[caused by: Unable to resolve
org.apache.bval.org.apache.bval.bundle/1.1.0: missing requirement
[org.apache.bval.org.apache.bval.bundle/1.1.0] osgi.wiring.package;
filter:="(osgi.wiring.package=javax.el)"]]
karaf@root()> feature:install rosapi-front-end-service
karaf@root()> feature:install rosapi-common
karaf@root()> feature:install rosapi-front-end-null-request-tracker
karaf@root()> feature:install rosapi-front-end-anvils-transport
karaf@root()> feature:install rosapi-worker-dummy-sdk
Karaf 'rebooted'? (printed welcome logo).
feature:install rosapi-worker-service
2015-09-07 07:49:34,862 | ERROR | nsole user karaf | ShellUtil
| 43 - org.apache.karaf.shell.core - 4.0.1 | Exception
caught while executing command
java.lang.NullPointerException
at
org.apache.karaf.features.internal.region.SubsystemResolver.resolve(SubsystemResolver.java:220)[8:org.apache.karaf.features.core:4.0.1]
at
org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:263)[8:org.apache.karaf.features.core:4.0.1]
at
org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1079)[8:org.apache.karaf.features.core:4.0.1]
at
org.apache.karaf.features.internal.service.FeaturesServiceImpl$1.call(FeaturesServiceImpl.java:975)[8:org.apache.karaf.features.core:4.0.1]
at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_60]
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_60]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_60]
at java.lang.Thread.run(Thread.java:745)[:1.8.0_60]
On Mon, Sep 7, 2015 at 2:58 AM, Achim Nierbeck <[email protected]> wrote:
> Hi Benson,
>
> did you try to reproduce it on a vanilla Karaf with installing one feature
> after the other.
> Just to make sure which one is actually causing it?
> Might be that some bundles are in conflict.
>
> regards, Achim
>
> 2015-09-07 3:35 GMT+02:00 Benson Margulies <[email protected]>:
>>
>> Some more info:
>>
>> Bottom stack trace.
>>
>> "pool-2-thread-1@3587" prio=5 tid=0x1b nid=NA runnable
>> java.lang.Thread.State: RUNNABLE
>> at
>> org.apache.karaf.features.internal.service.FeaturesServiceImpl$3.filterMatches(FeaturesServiceImpl.java:1232)
>> at
>> org.apache.felix.framework.util.SecureAction.invokeResolverHookMatches(SecureAction.java:1425)
>> at
>> org.apache.felix.framework.StatefulResolver.findProvidersInternal(StatefulResolver.java:282)
>> - locked <0x5ab> (a org.apache.felix.framework.StatefulResolver)
>> at
>> org.apache.felix.framework.ResolveContextImpl.findProviders(ResolveContextImpl.java:89)
>> at
>> org.apache.felix.resolver.Candidates.populateResource(Candidates.java:288)
>> at org.apache.felix.resolver.Candidates.populate(Candidates.java:177)
>> at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:168)
>> at
>> org.apache.felix.framework.StatefulResolver.resolve(StatefulResolver.java:431)
>> at org.apache.felix.framework.Felix.resolveBundles(Felix.java:4073)
>> at
>> org.apache.felix.framework.FrameworkWiringImpl.resolveBundles(FrameworkWiringImpl.java:133)
>> at
>> org.apache.karaf.features.internal.service.FeaturesServiceImpl.resolveBundles(FeaturesServiceImpl.java:1267)
>> at
>> org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:823)
>> at
>> org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1079)
>> at
>> org.apache.karaf.features.internal.service.FeaturesServiceImpl$1.call(FeaturesServiceImpl.java:975)
>> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>> at
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>> at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>> at java.lang.Thread.run(Thread.java:745)
>>
>> this =
>> {org.apache.karaf.features.internal.service.FeaturesServiceImpl$3@3705}
>> Exception = {java.lang.NullPointerException@3704}
>> thread = {java.lang.Thread@3587} "Thread[pool-2-thread-1,5,main]"
>> bndToRes = {java.util.HashMap@3715} size = 158
>> wiring = {java.util.HashMap@3716} size = 250
>> requirement =
>> {org.apache.felix.framework.wiring.BundleRequirementImpl@3717}
>> "[org.ops4j.pax.url.mvn [5](R 5.0)] osgi.wiring.package;
>> (&(osgi.wiring.package=org.slf4j)(version>=1.6.0)(!(version>=2.0.0)))"
>> candidates = {org.apache.felix.framework.util.ShrinkableCollection@3718}
>> size = 3
>> sourceBundle = {org.apache.felix.framework.BundleImpl@3719}
>> "org.ops4j.pax.url.mvn [5]"
>> sourceResource = null
>> wired = {java.util.HashSet@3720} size = 1
>>
>> On Sun, Sep 6, 2015 at 7:48 PM, Benson Margulies <[email protected]>
>> wrote:
>> > I have a working version of my stuff that entirely uses blueprint.
>> >
>> > My assembly lists a set of boot features:
>> >
>> > <feature>aries-blueprint</feature>
>> > <feature>bundle</feature>
>> > <feature>config</feature>
>> > <feature>diagnostic</feature>
>> > <feature>feature</feature>
>> > <feature>jaas</feature>
>> > <feature>shell</feature>
>> > <feature>log</feature>
>> > <feature>management</feature>
>> > <feature>package</feature>
>> > <feature>shell-compat</feature>
>> > <feature>ssh</feature>
>> > <feature>system</feature>
>> > <feature>wrap</feature>
>> > <feature>jolokia</feature>
>> > <feature>war</feature>
>> > <feature>cxf-jaxrs</feature>
>> > <feature>rosette-api</feature>
>> > <feature>rosapi-common</feature>
>> > <feature>rosapi-front-end-null-request-tracker</feature>
>> > <feature>rosapi-front-end-anvils-transport</feature>
>> > <feature>rosapi-front-end-service</feature>
>> > <feature>rosapi-worker-service</feature>
>> > <feature>rosapi-worker-dummy-sdk</feature>
>> > </bootFeatures>
>> >
>> > I want to add one component that uses DS, so I added
>> > <feature>scr</feature> into the list.
>> >
>> > When I start the assembled assembly, I get:
>> >
>> > As you will see at the bottom, the resulting environment is quite sad;
>> > it has no log commands.
>> >
>> >
>> >
>> >
>> > karaf@root>org.apache.karaf.features.core[org.apache.karaf.features.internal.service.BootFeaturesInstaller]
>> > : Error installing boot features
>> > org.apache.karaf.features.internal.util.MultiException: Error restarting
>> > bundles
>> > at
>> > org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:844)
>> > at
>> > org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1079)
>> > at
>> > org.apache.karaf.features.internal.service.FeaturesServiceImpl$1.call(FeaturesServiceImpl.java:975)
>> > at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>> > at
>> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>> > at
>> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>> > at java.lang.Thread.run(Thread.java:745)
>> > Suppressed: org.osgi.framework.BundleException: Activator start error
>> > in bundle org.ops4j.pax.url.wrap [149].
>> > at org.apache.felix.framework.Felix.activateBundle(Felix.java:2270)
>> > at org.apache.felix.framework.Felix.startBundle(Felix.java:2138)
>> > at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:977)
>> > at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:964)
>> > at
>> > org.apache.karaf.features.internal.service.FeaturesServiceImpl.startBundle(FeaturesServiceImpl.java:1189)
>> > at
>> > org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:836)
>> > ... 6 more
>> > Caused by: java.lang.IllegalStateException: Unknown protocol: mvn
>> > at
>> > org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:482)
>> > at
>> > org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:474)
>> > at java.net.URL.toExternalForm(URL.java:922)
>> > at java.net.URL.toString(URL.java:908)
>> > at java.lang.ClassLoader.defineClassSourceLocation(ClassLoader.java:675)
>> > at java.lang.ClassLoader.defineClass(ClassLoader.java:759)
>> > at
>> > org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.defineClass(BundleWiringImpl.java:2350)
>> > at
>> > org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.findClass(BundleWiringImpl.java:2134)
>> > at
>> > org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1526)
>> > at
>> > org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:79)
>> > at
>> > org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1998)
>> > at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>> > at
>> > org.apache.felix.framework.BundleWiringImpl.getClassByDelegation(BundleWiringImpl.java:1399)
>> > at
>> > org.apache.felix.framework.Felix.createBundleActivator(Felix.java:4471)
>> > at org.apache.felix.framework.Felix.activateBundle(Felix.java:2215)
>> > ... 11 more
>> >
>> > org.apache.karaf.features.core[org.apache.karaf.features.internal.service.BootFeaturesInstaller]
>> > : Error installing boot features
>> > java.lang.NullPointerException
>> > at
>> > org.apache.karaf.features.internal.region.SubsystemResolver.resolve(SubsystemResolver.java:220)
>> > at
>> > org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:263)
>> > at
>> > org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1079)
>> > at
>> > org.apache.karaf.features.internal.service.FeaturesServiceImpl$1.call(FeaturesServiceImpl.java:975)
>> > at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>> > at
>> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>> > at
>> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>> > at java.lang.Thread.run(Thread.java:745)
>> > log:display
>> > Command not found: log:display
>
>
>
>
> --
>
> Apache Member
> Apache Karaf <http://karaf.apache.org/> Committer & PMC
> OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer &
> Project Lead
> blog <http://notizblog.nierbeck.de/>
> Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS>
>
> Software Architect / Project Manager / Scrum Master
>