[
https://issues.apache.org/jira/browse/CXF-8155?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andriy Redko updated CXF-8155:
------------------------------
Description:
The 2.10.x fails to be processed by pax-exam 4.13.1 (OSGi dependencies, more
precisely by biz.aQute.bnd/bndlib/2.4.0 on JDK8 at least), sadly there are no
new pax releases to try out.
{noformat}
java.lang.ArrayIndexOutOfBoundsException: 19
at aQute.bnd.osgi.Clazz.parseClassFile(Clazz.java:576)
at aQute.bnd.osgi.Clazz.parseClassFile(Clazz.java:494)
at aQute.bnd.osgi.Clazz.parseClassFileWithCollector(Clazz.java:483)
at aQute.bnd.osgi.Clazz.parseClassFile(Clazz.java:473)
at aQute.bnd.osgi.Analyzer.analyzeJar(Analyzer.java:2177)
at aQute.bnd.osgi.Analyzer.analyzeBundleClasspath(Analyzer.java:2083)
at aQute.bnd.osgi.Analyzer.analyze(Analyzer.java:138)
at aQute.bnd.osgi.Analyzer.calcManifest(Analyzer.java:616)
at org.ops4j.pax.swissbox.bnd.BndUtils.createBundle(BndUtils.java:161)
at
org.ops4j.pax.url.wrap.internal.Connection.getInputStream(Connection.java:83)
at java.net.URL.openStream(URL.java:1067)
at
org.apache.karaf.features.internal.download.impl.SimpleDownloadTask.download(SimpleDownloadTask.java:78)
at
org.apache.karaf.features.internal.download.impl.AbstractRetryableDownloadTask.run(AbstractRetryableDownloadTask.java:60)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
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)
{noformat}
The following changes seems to fix the issues with Jackson 2.10.x update:
1. Removing {{wrap}} for Jackson JAX-RS modules. The 'wrap' caused the issue
with {{bndlib}} since Jackson 2.10.x introduces {{module-info.class}} / built
with JDK9+. The exception in the logs:
{noformat}
java.lang.ArrayIndexOutOfBoundsException: 19
at aQute.bnd.osgi.Clazz.parseClassFile(Clazz.java:576)
at aQute.bnd.osgi.Clazz.parseClassFile(Clazz.java:494)
at aQute.bnd.osgi.Clazz.parseClassFileWithCollector(Clazz.java:483)
at aQute.bnd.osgi.Clazz.parseClassFile(Clazz.java:473)
at aQute.bnd.osgi.Analyzer.analyzeJar(Analyzer.java:2177)
at aQute.bnd.osgi.Analyzer.analyzeBundleClasspath(Analyzer.java:2083)
at aQute.bnd.osgi.Analyzer.analyze(Analyzer.java:138)
at aQute.bnd.osgi.Analyzer.calcManifest(Analyzer.java:616)
at
org.ops4j.pax.swissbox.bnd.BndUtils.createBundle(BndUtils.java:161){noformat}
2. The conflicts with 'javax.xml.bind.annotation' exports, forced to remove
'jackson-module-jaxb-annotations' module:
{noformat}
karaf@root()> find-class javax.xml.bind.annotation.XmlRootElement
Jackson module: JAXB Annotations (22)
javax/xml/bind/annotation/XmlRootElement.class
jakarta.xml.bind-api (25)
javax/xml/bind/annotation/XmlRootElement.class
{noformat}
It basically caused weird issues with our 'AbstractJAXBProvider' /
'JAXBElementProvider' which was not picked up because of 'isXmlType' apparently
dealt with two instances of 'XmlRootElement' coming from different bundles.
was:
The 2.10.x fails to be processed by pax-exam 4.13.1 (OSGi dependencies, more
precisely by biz.aQute.bnd/bndlib/2.4.0 on JDK8 at least), sadly there are no
new pax releases to try out.
{noformat}
java.lang.ArrayIndexOutOfBoundsException: 19
at aQute.bnd.osgi.Clazz.parseClassFile(Clazz.java:576)
at aQute.bnd.osgi.Clazz.parseClassFile(Clazz.java:494)
at aQute.bnd.osgi.Clazz.parseClassFileWithCollector(Clazz.java:483)
at aQute.bnd.osgi.Clazz.parseClassFile(Clazz.java:473)
at aQute.bnd.osgi.Analyzer.analyzeJar(Analyzer.java:2177)
at aQute.bnd.osgi.Analyzer.analyzeBundleClasspath(Analyzer.java:2083)
at aQute.bnd.osgi.Analyzer.analyze(Analyzer.java:138)
at aQute.bnd.osgi.Analyzer.calcManifest(Analyzer.java:616)
at org.ops4j.pax.swissbox.bnd.BndUtils.createBundle(BndUtils.java:161)
at
org.ops4j.pax.url.wrap.internal.Connection.getInputStream(Connection.java:83)
at java.net.URL.openStream(URL.java:1067)
at
org.apache.karaf.features.internal.download.impl.SimpleDownloadTask.download(SimpleDownloadTask.java:78)
at
org.apache.karaf.features.internal.download.impl.AbstractRetryableDownloadTask.run(AbstractRetryableDownloadTask.java:60)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
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)
{noformat}
The following changes seems to fix the issues with Jackson 2.10.x update:
1. Removing 'wrap' for JARS modules. The 'wrap' caused the issue with 'bndlib'
since Jackson 2.10.x introduces 'module-info.class'. The exception in the logs:
{noformat}
java.lang.ArrayIndexOutOfBoundsException: 19
at aQute.bnd.osgi.Clazz.parseClassFile(Clazz.java:576)
at aQute.bnd.osgi.Clazz.parseClassFile(Clazz.java:494)
at aQute.bnd.osgi.Clazz.parseClassFileWithCollector(Clazz.java:483)
at aQute.bnd.osgi.Clazz.parseClassFile(Clazz.java:473)
at aQute.bnd.osgi.Analyzer.analyzeJar(Analyzer.java:2177)
at aQute.bnd.osgi.Analyzer.analyzeBundleClasspath(Analyzer.java:2083)
at aQute.bnd.osgi.Analyzer.analyze(Analyzer.java:138)
at aQute.bnd.osgi.Analyzer.calcManifest(Analyzer.java:616)
at
org.ops4j.pax.swissbox.bnd.BndUtils.createBundle(BndUtils.java:161){noformat}
2. The conflicts with 'javax.xml.bind.annotation' exports, forced to remove
'jackson-module-jaxb-annotations' module:
{noformat}
karaf@root()> find-class javax.xml.bind.annotation.XmlRootElement
Jackson module: JAXB Annotations (22)
javax/xml/bind/annotation/XmlRootElement.class
jakarta.xml.bind-api (25)
javax/xml/bind/annotation/XmlRootElement.class
{noformat}
It basically caused weird issues with our 'AbstractJAXBProvider' /
'JAXBElementProvider' which was not picked up because of 'isXmlType' apparently
dealt with two instances of 'XmlRootElement' coming from different bundles.
> Update to Jackson 2.10.1
> ------------------------
>
> Key: CXF-8155
> URL: https://issues.apache.org/jira/browse/CXF-8155
> Project: CXF
> Issue Type: Task
> Reporter: Andriy Redko
> Assignee: Andriy Redko
> Priority: Major
> Fix For: 3.4.0, 3.3.5
>
> Time Spent: 10m
> Remaining Estimate: 0h
>
> The 2.10.x fails to be processed by pax-exam 4.13.1 (OSGi dependencies, more
> precisely by biz.aQute.bnd/bndlib/2.4.0 on JDK8 at least), sadly there are no
> new pax releases to try out.
>
> {noformat}
> java.lang.ArrayIndexOutOfBoundsException: 19
> at aQute.bnd.osgi.Clazz.parseClassFile(Clazz.java:576)
> at aQute.bnd.osgi.Clazz.parseClassFile(Clazz.java:494)
> at aQute.bnd.osgi.Clazz.parseClassFileWithCollector(Clazz.java:483)
> at aQute.bnd.osgi.Clazz.parseClassFile(Clazz.java:473)
> at aQute.bnd.osgi.Analyzer.analyzeJar(Analyzer.java:2177)
> at aQute.bnd.osgi.Analyzer.analyzeBundleClasspath(Analyzer.java:2083)
> at aQute.bnd.osgi.Analyzer.analyze(Analyzer.java:138)
> at aQute.bnd.osgi.Analyzer.calcManifest(Analyzer.java:616)
> at org.ops4j.pax.swissbox.bnd.BndUtils.createBundle(BndUtils.java:161)
> at
> org.ops4j.pax.url.wrap.internal.Connection.getInputStream(Connection.java:83)
> at java.net.URL.openStream(URL.java:1067)
> at
> org.apache.karaf.features.internal.download.impl.SimpleDownloadTask.download(SimpleDownloadTask.java:78)
> at
> org.apache.karaf.features.internal.download.impl.AbstractRetryableDownloadTask.run(AbstractRetryableDownloadTask.java:60)
> at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
> at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
> 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)
> {noformat}
>
> The following changes seems to fix the issues with Jackson 2.10.x update:
> 1. Removing {{wrap}} for Jackson JAX-RS modules. The 'wrap' caused the issue
> with {{bndlib}} since Jackson 2.10.x introduces {{module-info.class}} / built
> with JDK9+. The exception in the logs:
> {noformat}
> java.lang.ArrayIndexOutOfBoundsException: 19
> at aQute.bnd.osgi.Clazz.parseClassFile(Clazz.java:576)
> at aQute.bnd.osgi.Clazz.parseClassFile(Clazz.java:494)
> at aQute.bnd.osgi.Clazz.parseClassFileWithCollector(Clazz.java:483)
> at aQute.bnd.osgi.Clazz.parseClassFile(Clazz.java:473)
> at aQute.bnd.osgi.Analyzer.analyzeJar(Analyzer.java:2177)
> at aQute.bnd.osgi.Analyzer.analyzeBundleClasspath(Analyzer.java:2083)
> at aQute.bnd.osgi.Analyzer.analyze(Analyzer.java:138)
> at aQute.bnd.osgi.Analyzer.calcManifest(Analyzer.java:616)
> at
> org.ops4j.pax.swissbox.bnd.BndUtils.createBundle(BndUtils.java:161){noformat}
> 2. The conflicts with 'javax.xml.bind.annotation' exports, forced to remove
> 'jackson-module-jaxb-annotations' module:
> {noformat}
> karaf@root()> find-class javax.xml.bind.annotation.XmlRootElement
> Jackson module: JAXB Annotations (22)
> javax/xml/bind/annotation/XmlRootElement.class
> jakarta.xml.bind-api (25)
> javax/xml/bind/annotation/XmlRootElement.class
> {noformat}
> It basically caused weird issues with our 'AbstractJAXBProvider' /
> 'JAXBElementProvider' which was not picked up because of 'isXmlType'
> apparently dealt with two instances of 'XmlRootElement' coming from different
> bundles.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)