You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@servicemix.apache.org by "Jean-Baptiste Onofré (Jira)" <ji...@apache.org> on 2025/05/02 10:02:00 UTC

[jira] [Resolved] (SM-5826) opensaml-4.3.2_1 fails to Install due to Invalid Import-Package Syntax

     [ https://issues.apache.org/jira/browse/SM-5826?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jean-Baptiste Onofré resolved SM-5826.
--------------------------------------
    Resolution: Fixed

> opensaml-4.3.2_1 fails to Install due to Invalid Import-Package Syntax
> ----------------------------------------------------------------------
>
>                 Key: SM-5826
>                 URL: https://issues.apache.org/jira/browse/SM-5826
>             Project: ServiceMix
>          Issue Type: Bug
>          Components: bundles
>         Environment: OSGi Container (e.g., Apache Felix)
>            Reporter: Herman Ciechanowiec
>            Assignee: Jean-Baptiste Onofré
>            Priority: Critical
>             Fix For: bundles-2025.05
>
>          Time Spent: 50m
>  Remaining Estimate: 0h
>
> Attempting to install the {{org.apache.servicemix.bundles.opensaml-4.3.2_1.jar}} bundle in an OSGi environment results in a {{BundleException}}.
> *Steps to Reproduce:*
>  # Obtain the {{org.apache.servicemix.bundles.opensaml-4.3.2_1.jar}} bundle.
>  # Attempt to install it into an OSGi container (e.g., using the Felix Web Console).
>  # Observe the installation failure and associated error log.
> *Error Log:*
> {code:java}
> 26.04.2025 06:44:10.251 *ERROR* [Background Install /tmp/install10839402681172598319.tmp] org.apache.felix.http Cannot install or update bundle from /tmp/install10839402681172598319.tmp
> org.osgi.framework.BundleException: Could not create bundle object.
> 	at org.apache.felix.framework.Felix.installBundle(Felix.java:3339)
> 	at org.apache.felix.framework.BundleContextImpl.installBundle(BundleContextImpl.java:147)
> 	at org.apache.felix.webconsole.internal.core.InstallHelper.doRun(InstallHelper.java:54) [org.apache.felix.webconsole:4.9.10]
> 	at org.apache.felix.webconsole.internal.core.BaseUpdateInstallHelper.doRun(BaseUpdateInstallHelper.java:101) [org.apache.felix.webconsole:4.9.10]
> 	at org.apache.felix.webconsole.internal.core.BaseUpdateInstallHelper.run(BaseUpdateInstallHelper.java:166) [org.apache.felix.webconsole:4.9.10]
> 	at java.base/java.lang.Thread.run(Thread.java:1583)
> Caused by: java.lang.IllegalArgumentException: invalid range "[3,4);resolution:=optional": invalid format
> 	at org.osgi.framework.VersionRange.<init>(VersionRange.java:169)
> 	at org.apache.felix.framework.util.manifestparser.ManifestParser.normalizeImportClauses(ManifestParser.java:366)
> 	at org.apache.felix.framework.util.manifestparser.ManifestParser.<init>(ManifestParser.java:220)
> 	at org.apache.felix.framework.BundleRevisionImpl.<init>(BundleRevisionImpl.java:117)
> 	at org.apache.felix.framework.BundleImpl.createRevision(BundleImpl.java:1290)
> 	at org.apache.felix.framework.BundleImpl.<init>(BundleImpl.java:114)
> 	at org.apache.felix.framework.Felix.installBundle(Felix.java:3287)
> 	... 5 common frames omitted
> {code}
> *Analysis:* 
> The root cause is an invalid syntax in the generated {{Import-Package}} manifest header within the bundle. Specifically, for the {{javax.annotation}} package, the entry is generated as: {{javax.annotation;version="[3,4);resolution:=optional"}}
> The {{resolution:=optional}} directive is incorrectly placed _inside_ the version range string ({{{}"[3,4)"{}}}). According to OSGi specifications, directives should follow the version parameter, separated by a semicolon.
> *Proposed Fix:* 
> Modify the {{pom.xml}} for the {{org.apache.servicemix.bundles.opensaml}} project. Within the {{<properties>}} section, under {{{}<servicemix.osgi.import.pkg>{}}}, change the line for {{javax.annotation}} from:
> {{javax.annotation;version="[3,4);resolution:=optional",}}
> to: 
> {{javax.annotation;version="[3,4)";resolution:=optional,}}
> This correction places the {{resolution:=optional}} directive correctly after the version attribute, resolving the parsing error and allowing the bundle to be installed successfully.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)