[ 
https://issues.apache.org/jira/browse/KARAF-6536?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17008940#comment-17008940
 ] 

Donnie McMahan commented on KARAF-6536:
---------------------------------------

Thanks for looking into this! Here's my full output:

{code}
[INFO] Scanning for projects...
[INFO]
[INFO] -----------------------< com.test:test-features >-----------------------
[INFO] Building test-features 1.0-SNAPSHOT
[INFO] ------------------------------[ feature ]-------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ test-features ---
[INFO]
[INFO] --- karaf-maven-plugin:4.2.7:features-generate-descriptor 
(default-features-generate-descriptor) @ test-features ---
[INFO] Generation not enabled
[INFO] Attaching artifact
[INFO]
[INFO] --- karaf-maven-plugin:4.2.7:verify (default-verify) @ test-features ---
[INFO] Using repositories: https://repo.maven.apache.org/maven2@id=central
[WARNING] Matched URI can't use version ranges: 
mvn:org.apache.karaf.features/standard/[4,5)/xml/features
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  8.171 s
[INFO] Finished at: 2020-01-06T08:47:19-06:00
[INFO] ------------------------------------------------------------------------
---------------------------------------------------
constituent[0]: file:/<my Maven path>/bin/../conf/logging/
constituent[1]: file:/<my Maven path>/bin/../lib/cdi-api-1.0.jar
constituent[2]: file:/<my Maven path>/bin/../lib/commons-cli-1.4.jar
constituent[3]: file:/<my Maven path>/bin/../lib/commons-io-2.5.jar
constituent[4]: file:/<my Maven path>/bin/../lib/commons-lang3-3.8.1.jar
constituent[5]: file:/<my Maven path>/bin/../lib/guava-25.1-android.jar
constituent[6]: file:/<my Maven path>/bin/../lib/guice-4.2.1-no_aop.jar
constituent[7]: file:/<my Maven path>/bin/../lib/jansi-1.17.1.jar
constituent[8]: file:/<my Maven path>/bin/../lib/javax.inject-1.jar
constituent[9]: file:/<my Maven path>/bin/../lib/jcl-over-slf4j-1.7.29.jar
constituent[10]: file:/<my Maven path>/bin/../lib/jsoup-1.12.1.jar
constituent[11]: file:/<my Maven path>/bin/../lib/jsr250-api-1.0.jar
constituent[12]: file:/<my Maven path>/bin/../lib/maven-artifact-3.6.3.jar
constituent[13]: file:/<my Maven 
path>/bin/../lib/maven-builder-support-3.6.3.jar
constituent[14]: file:/<my Maven path>/bin/../lib/maven-compat-3.6.3.jar
constituent[15]: file:/<my Maven path>/bin/../lib/maven-core-3.6.3.jar
constituent[16]: file:/<my Maven path>/bin/../lib/maven-embedder-3.6.3.jar
constituent[17]: file:/<my Maven path>/bin/../lib/maven-model-3.6.3.jar
constituent[18]: file:/<my Maven path>/bin/../lib/maven-model-builder-3.6.3.jar
constituent[19]: file:/<my Maven path>/bin/../lib/maven-plugin-api-3.6.3.jar
constituent[20]: file:/<my Maven 
path>/bin/../lib/maven-repository-metadata-3.6.3.jar
constituent[21]: file:/<my Maven path>/bin/../lib/maven-resolver-api-1.4.1.jar
constituent[22]: file:/<my Maven 
path>/bin/../lib/maven-resolver-connector-basic-1.4.1.jar
constituent[23]: file:/<my Maven path>/bin/../lib/maven-resolver-impl-1.4.1.jar
constituent[24]: file:/<my Maven 
path>/bin/../lib/maven-resolver-provider-3.6.3.jar
constituent[25]: file:/<my Maven path>/bin/../lib/maven-resolver-spi-1.4.1.jar
constituent[26]: file:/<my Maven 
path>/bin/../lib/maven-resolver-transport-wagon-1.4.1.jar
constituent[27]: file:/<my Maven path>/bin/../lib/maven-resolver-util-1.4.1.jar
constituent[28]: file:/<my Maven path>/bin/../lib/maven-settings-3.6.3.jar
constituent[29]: file:/<my Maven 
path>/bin/../lib/maven-settings-builder-3.6.3.jar
constituent[30]: file:/<my Maven path>/bin/../lib/maven-shared-utils-3.2.1.jar
constituent[31]: file:/<my Maven path>/bin/../lib/maven-slf4j-provider-3.6.3.jar
constituent[32]: file:/<my Maven 
path>/bin/../lib/org.eclipse.sisu.inject-0.3.4.jar
constituent[33]: file:/<my Maven 
path>/bin/../lib/org.eclipse.sisu.plexus-0.3.4.jar
constituent[34]: file:/<my Maven path>/bin/../lib/plexus-cipher-1.7.jar
constituent[35]: file:/<my Maven 
path>/bin/../lib/plexus-component-annotations-2.1.0.jar
constituent[36]: file:/<my Maven path>/bin/../lib/plexus-interpolation-1.25.jar
constituent[37]: file:/<my Maven path>/bin/../lib/plexus-sec-dispatcher-1.4.jar
constituent[38]: file:/<my Maven path>/bin/../lib/plexus-utils-3.2.1.jar
constituent[39]: file:/<my Maven path>/bin/../lib/slf4j-api-1.7.29.jar
constituent[40]: file:/<my Maven path>/bin/../lib/wagon-file-3.3.4.jar
constituent[41]: file:/<my Maven path>/bin/../lib/wagon-http-3.3.4-shaded.jar
constituent[42]: file:/<my Maven path>/bin/../lib/wagon-provider-api-3.3.4.jar
---------------------------------------------------
Exception in thread "main" java.lang.StackOverflowError
        at 
org.apache.felix.utils.collections.StringArrayMap.reduceMemory(StringArrayMap.java:46)
        at 
org.apache.felix.utils.resource.AbstractCapabilityRequirement.<init>(AbstractCapabilityRequirement.java:43)
        at 
org.apache.felix.utils.resource.RequirementImpl.<init>(RequirementImpl.java:75)
        at 
org.apache.felix.utils.resource.RequirementImpl.<init>(RequirementImpl.java:44)
        at 
org.apache.karaf.features.internal.resolver.ResourceUtils.addIdentityRequirement(ResourceUtils.java:127)
        at 
org.apache.karaf.features.internal.resolver.ResourceUtils.addIdentityRequirement(ResourceUtils.java:107)
        at 
org.apache.karaf.features.internal.resolver.ResourceUtils.addIdentityRequirement(ResourceUtils.java:99)
        at 
org.apache.karaf.features.internal.region.Subsystem.requireFeature(Subsystem.java:284)
        at 
org.apache.karaf.features.internal.region.Subsystem.doBuild(Subsystem.java:350)
        at 
org.apache.karaf.features.internal.region.Subsystem.build(Subsystem.java:332)
        at 
org.apache.karaf.features.internal.region.Subsystem.doBuild(Subsystem.java:390)
        at 
org.apache.karaf.features.internal.region.Subsystem.build(Subsystem.java:332)
        at 
org.apache.karaf.features.internal.region.Subsystem.doBuild(Subsystem.java:390)
        at 
org.apache.karaf.features.internal.region.Subsystem.build(Subsystem.java:332)
...
{code}

I'm using the latest version of Maven (3.6.3).

I did have a few versions of org.apache.karaf.features/standard installed in my 
local repo, but clearing these out didn't seem to make a difference.

> StackOverflowError in karaf-maven-plugin:verify when referencing feature 
> which uses version ranges
> --------------------------------------------------------------------------------------------------
>
>                 Key: KARAF-6536
>                 URL: https://issues.apache.org/jira/browse/KARAF-6536
>             Project: Karaf
>          Issue Type: Bug
>          Components: karaf
>    Affects Versions: 4.2.7
>            Reporter: Donnie McMahan
>            Assignee: Jean-Baptiste Onofré
>            Priority: Major
>             Fix For: 4.3.0, 4.2.8
>
>         Attachments: test-features.zip
>
>
> When running karaf-maven-plugin:verify on a feature which references the 
> aries-jax-rs feature, I'm getting a StackOverflowException:
> {code:java}
> Exception in thread "main" java.lang.StackOverflowError
>       at org.osgi.framework.Version.toString(Version.java:308)
>       at 
> org.apache.felix.utils.resource.SimpleFilter.convert(SimpleFilter.java:532)
>       at 
> org.apache.felix.utils.resource.RequirementImpl.getFilter(RequirementImpl.java:133)
>       at 
> org.apache.felix.utils.resource.RequirementImpl.<init>(RequirementImpl.java:77)
>       at 
> org.apache.felix.utils.resource.RequirementImpl.<init>(RequirementImpl.java:44)
>       at 
> org.apache.karaf.features.internal.resolver.ResourceUtils.addIdentityRequirement(ResourceUtils.java:127)
>       at 
> org.apache.karaf.features.internal.resolver.ResourceUtils.addIdentityRequirement(ResourceUtils.java:107)
>       at 
> org.apache.karaf.features.internal.resolver.ResourceUtils.addIdentityRequirement(ResourceUtils.java:99)
>       at 
> org.apache.karaf.features.internal.region.Subsystem.requireFeature(Subsystem.java:284)
>       at 
> org.apache.karaf.features.internal.region.Subsystem.doBuild(Subsystem.java:350)
>       at 
> org.apache.karaf.features.internal.region.Subsystem.build(Subsystem.java:332)
>       at 
> org.apache.karaf.features.internal.region.Subsystem.doBuild(Subsystem.java:390)
>       at 
> org.apache.karaf.features.internal.region.Subsystem.build(Subsystem.java:332)
>       at 
> org.apache.karaf.features.internal.region.Subsystem.doBuild(Subsystem.java:390)
>       at 
> org.apache.karaf.features.internal.region.Subsystem.build(Subsystem.java:332)
> ...
> {code}
> The issue seems to be related to the use of version ranges in the 
> aries-jax-rs feature:
> {code:xml|title=https://github.com/apache/aries-jax-rs-whiteboard/blob/org.apache.aries.jax.rs-1.0.6/jax-rs.features/src/main/feature/feature.xml}
> ...
> <repository>mvn:org.apache.karaf.features/standard/[4,5)/xml/features</repository>
> ...
> {code}
> I've attached a simple project which illustrates the issue. The verify goal 
> completes successfully using the "norange" profile but fails when using the 
> "range" profile.
> Is there a workaround for this?
> Thanks in advance!



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to