[
https://issues.apache.org/jira/browse/KARAF-6536?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Donnie McMahan updated KARAF-6536:
----------------------------------
Description:
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!
was:
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}
{code}
[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]
{code: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!
> 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
> Priority: Major
> 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)