[jira] [Closed] (QPIDJMS-587) io.netty:netty-transport-native-unix-common not managed but used
[ https://issues.apache.org/jira/browse/QPIDJMS-587?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Robbie Gemmell closed QPIDJMS-587. -- Fix Version/s: (was: 2.3.0) Resolution: Not A Bug > io.netty:netty-transport-native-unix-common not managed but used > > > Key: QPIDJMS-587 > URL: https://issues.apache.org/jira/browse/QPIDJMS-587 > Project: Qpid JMS > Issue Type: Bug > Components: qpid-jms-client, qpid-jms-discovery >Affects Versions: 2.2.0 > Environment: linux OS running a Spring Boot app 2.7.11 and qpid-jms > 2.2.0 together. >Reporter: Harald Aamot >Priority: Major > Attachments: image-2023-04-28-12-03-00-922.png, > image-2023-04-28-12-03-40-683.png > > > When using qpid-jms 2.2.0 running on a linux OS then netty transitively pulls > in io.netty:netty-transport-native-unix-common . > The version for this depndency is not managed in qpid-jms. > When running a SpringBoot 2.7.11 application, Spring Boot manages io.netty on > version 4.1.91.Final . This version then gets used for > io.netty:netty-transport-native-unix-common, while the other netty components > run on 4.1.86.Final (managed by qpid-jms). > This leads to a runtime exception when trying to connect. > Reason is this: > With netty 4.1.91.Final an incompatible change for qpid-jms has been made. > Changelog [https://netty.io/news/2023/04/03/4-1-91-Final.html] > incompatible change [https://github.com/netty/netty/issues/13317] > code changed there [https://github.com/netty/netty/pull/13318] > {noformat} > ["jakarta.jms.JMSException: Could not initialize class > io.netty.channel.unix.Errors"," > at > org.apache.qpid.jms.provider.ProviderException.toJMSException(ProviderException.java:34)"," > at > org.apache.qpid.jms.exceptions.JmsExceptionSupport.create(JmsExceptionSupport.java:80)"," > at > org.apache.qpid.jms.exceptions.JmsExceptionSupport.create(JmsExceptionSupport.java:112)"," > at > org.apache.qpid.jms.JmsConnection.onAsyncException(JmsConnection.java:1564)"," > at > org.apache.qpid.jms.JmsConnection.onProviderException(JmsConnection.java:1548)"," > at > org.apache.qpid.jms.JmsConnection.onConnectionFailure(JmsConnection.java:1392)"," > at > org.apache.qpid.jms.provider.failover.FailoverProvider.lambda$reportReconnectFailure$3(FailoverProvider.java:808)"," > at > java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown > Source)"," > at java.base/java.util.concurrent.FutureTask.run(Unknown Source)"," > at > java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown > Source)"," > at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown > Source)"," > at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown > Source)"," > at java.base/java.lang.Thread.run(Unknown Source)","Caused by: > org.apache.qpid.jms.provider.exceptions.ProviderIOException: Could not > initialize class io.netty.channel.unix.Errors"," > at > org.apache.qpid.jms.provider.exceptions.ProviderExceptionSupport.createOrPassthroughFatal(ProviderExceptionSupport.java:46)"," > at > org.apache.qpid.jms.provider.amqp.AmqpProvider.connect(AmqpProvider.java:309)"," > at > org.apache.qpid.jms.provider.failover.FailoverProvider$14.run(FailoverProvider.java:747)"," > ... 6 more","Caused by: java.io.IOException: Could not initialize class > io.netty.channel.unix.Errors"," > at > org.apache.qpid.jms.util.IOExceptionSupport.create(IOExceptionSupport.java:45)"," > at > org.apache.qpid.jms.transports.netty.NettyTcpTransport$2.operationComplete(NettyTcpTransport.java:176)"," > at > org.apache.qpid.jms.transports.netty.NettyTcpTransport$2.operationComplete(NettyTcpTransport.java:171)"," > at > io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:590)"," > at > io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:557)"," > at > io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:492)"," > at > io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:636)"," > at > io.netty.util.concurrent.DefaultPromise.setFailure0(DefaultPromise.java:629)"," > at > io.netty.util.concurrent.DefaultPromise.tryFailure(DefaultPromise.java:118)"," > at > io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.connect(AbstractEpollChannel.java:637)"," > at > io.netty.channel.DefaultChannelPipeline$HeadContext.connect(DefaultChannelPipeline.java:1342)"," > at > io.netty.channel.AbstractChannelHandlerContext.invokeConnect(AbstractChannelHandlerContext.java:653)"," > at >
[jira] [Closed] (QPIDJMS-587) io.netty:netty-transport-native-unix-common not managed but used
[ https://issues.apache.org/jira/browse/QPIDJMS-587?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Harald Aamot closed QPIDJMS-587. > io.netty:netty-transport-native-unix-common not managed but used > > > Key: QPIDJMS-587 > URL: https://issues.apache.org/jira/browse/QPIDJMS-587 > Project: Qpid JMS > Issue Type: Bug > Components: qpid-jms-client, qpid-jms-discovery >Affects Versions: 2.2.0 > Environment: linux OS running a Spring Boot app 2.7.11 and qpid-jms > 2.2.0 together. >Reporter: Harald Aamot >Priority: Major > Fix For: 2.3.0 > > Attachments: image-2023-04-28-12-03-00-922.png, > image-2023-04-28-12-03-40-683.png > > > When using qpid-jms 2.2.0 running on a linux OS then netty transitively pulls > in io.netty:netty-transport-native-unix-common . > The version for this depndency is not managed in qpid-jms. > When running a SpringBoot 2.7.11 application, Spring Boot manages io.netty on > version 4.1.91.Final . This version then gets used for > io.netty:netty-transport-native-unix-common, while the other netty components > run on 4.1.86.Final (managed by qpid-jms). > This leads to a runtime exception when trying to connect. > Reason is this: > With netty 4.1.91.Final an incompatible change for qpid-jms has been made. > Changelog [https://netty.io/news/2023/04/03/4-1-91-Final.html] > incompatible change [https://github.com/netty/netty/issues/13317] > code changed there [https://github.com/netty/netty/pull/13318] > {noformat} > ["jakarta.jms.JMSException: Could not initialize class > io.netty.channel.unix.Errors"," > at > org.apache.qpid.jms.provider.ProviderException.toJMSException(ProviderException.java:34)"," > at > org.apache.qpid.jms.exceptions.JmsExceptionSupport.create(JmsExceptionSupport.java:80)"," > at > org.apache.qpid.jms.exceptions.JmsExceptionSupport.create(JmsExceptionSupport.java:112)"," > at > org.apache.qpid.jms.JmsConnection.onAsyncException(JmsConnection.java:1564)"," > at > org.apache.qpid.jms.JmsConnection.onProviderException(JmsConnection.java:1548)"," > at > org.apache.qpid.jms.JmsConnection.onConnectionFailure(JmsConnection.java:1392)"," > at > org.apache.qpid.jms.provider.failover.FailoverProvider.lambda$reportReconnectFailure$3(FailoverProvider.java:808)"," > at > java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown > Source)"," > at java.base/java.util.concurrent.FutureTask.run(Unknown Source)"," > at > java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown > Source)"," > at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown > Source)"," > at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown > Source)"," > at java.base/java.lang.Thread.run(Unknown Source)","Caused by: > org.apache.qpid.jms.provider.exceptions.ProviderIOException: Could not > initialize class io.netty.channel.unix.Errors"," > at > org.apache.qpid.jms.provider.exceptions.ProviderExceptionSupport.createOrPassthroughFatal(ProviderExceptionSupport.java:46)"," > at > org.apache.qpid.jms.provider.amqp.AmqpProvider.connect(AmqpProvider.java:309)"," > at > org.apache.qpid.jms.provider.failover.FailoverProvider$14.run(FailoverProvider.java:747)"," > ... 6 more","Caused by: java.io.IOException: Could not initialize class > io.netty.channel.unix.Errors"," > at > org.apache.qpid.jms.util.IOExceptionSupport.create(IOExceptionSupport.java:45)"," > at > org.apache.qpid.jms.transports.netty.NettyTcpTransport$2.operationComplete(NettyTcpTransport.java:176)"," > at > org.apache.qpid.jms.transports.netty.NettyTcpTransport$2.operationComplete(NettyTcpTransport.java:171)"," > at > io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:590)"," > at > io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:557)"," > at > io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:492)"," > at > io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:636)"," > at > io.netty.util.concurrent.DefaultPromise.setFailure0(DefaultPromise.java:629)"," > at > io.netty.util.concurrent.DefaultPromise.tryFailure(DefaultPromise.java:118)"," > at > io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.connect(AbstractEpollChannel.java:637)"," > at > io.netty.channel.DefaultChannelPipeline$HeadContext.connect(DefaultChannelPipeline.java:1342)"," > at > io.netty.channel.AbstractChannelHandlerContext.invokeConnect(AbstractChannelHandlerContext.java:653)"," > at >