[jira] [Closed] (QPIDJMS-587) io.netty:netty-transport-native-unix-common not managed but used

2023-05-17 Thread Robbie Gemmell (Jira)


 [ 
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

2023-05-04 Thread Harald Aamot (Jira)


 [ 
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 
>