Uploaded image for project: 'Red Hat Fuse'
  1. Red Hat Fuse
  2. ENTESB-13107

Different version of netty between artemis-jms-client and qpid-jms-client

    Details

    • Type: Bug
    • Status: Done
    • Priority: Blocker
    • Resolution: Done
    • Affects Version/s: fuse-7.6-CR3
    • Fix Version/s: fuse-7.6-CR4
    • Component/s: Build
    • Labels:
      None

      Description

      In Fuse 7.6 CR3

      Netty 4.1.45.Final-redhat-00001 from org.apache.activemq:artemis-jms-client

      [INFO] +- org.apache.activemq:artemis-jms-client:jar:2.11.0.redhat-00004:compile
      [INFO] |  +- org.apache.activemq:artemis-core-client:jar:2.11.0.redhat-00004:compile
      [INFO] |  |  +- org.jgroups:jgroups:jar:3.6.13.Final-redhat-2:compile
      [INFO] |  |  +- org.apache.activemq:artemis-commons:jar:2.11.0.redhat-00004:compile
      [INFO] |  |  |  \- org.jboss.logging:jboss-logging:jar:3.4.0.Final-redhat-00001:compile
      [INFO] |  |  +- org.apache.geronimo.specs:geronimo-json_1.0_spec:jar:1.0.0.alpha-1-redhat-1:compile
      [INFO] |  |  +- org.apache.johnzon:johnzon-core:jar:1.1.0:compile
      [INFO] |  |  \- io.netty:netty-codec:jar:4.1.45.Final-redhat-00001:compile
      

      vs

      Netty 4.1.39.Final-redhat-00001 from org.apache.qpid:qpid-jms-client:

      [INFO] +- org.apache.qpid:qpid-jms-client:jar:0.45.0.redhat-00002:compile
      [INFO] |  +- org.apache.qpid:proton-j:jar:0.33.2.redhat-00001:compile
      [INFO] |  +- io.netty:netty-buffer:jar:4.1.39.Final-redhat-00001:compile
      [INFO] |  +- io.netty:netty-common:jar:4.1.39.Final-redhat-00001:compile
      [INFO] |  +- io.netty:netty-handler:jar:4.1.39.Final-redhat-00001:compile
      [INFO] |  +- io.netty:netty-transport:jar:4.1.39.Final-redhat-00001:compile
      [INFO] |  |  \- io.netty:netty-resolver:jar:4.1.39.Final-redhat-00001:compile
      [INFO] |  +- io.netty:netty-transport-native-epoll:jar:linux-x86_64:4.1.39.Final-redhat-00001:compile
      [INFO] |  |  \- io.netty:netty-transport-native-unix-common:jar:4.1.39.Final-redhat-00001:compile
      [INFO] |  +- io.netty:netty-transport-native-kqueue:jar:4.1.39.Final-redhat-00001:compile
      [INFO] |  \- io.netty:netty-codec-http:jar:4.1.39.Final-redhat-00001:compile
      

      Which causes

      Caused by: java.io.IOException: io.netty.buffer.ByteBuf.isContiguous()Z
      	at org.apache.qpid.jms.util.IOExceptionSupport.create(IOExceptionSupport.java:45)
      	at org.apache.qpid.jms.transports.netty.NettyTcpTransport.handleException(NettyTcpTransport.java:400)
      	at org.apache.qpid.jms.transports.netty.NettyTcpTransport$NettyDefaultHandler.exceptionCaught(NettyTcpTransport.java:529)
      	at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:297)
      	at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:276)
      	at io.netty.channel.AbstractChannelHandlerContext.fireExceptionCaught(AbstractChannelHandlerContext.java:268)
      	at io.netty.handler.ssl.SslHandler.exceptionCaught(SslHandler.java:1095)
      	at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:297)
      	at io.netty.channel.AbstractChannelHandlerContext.notifyHandlerException(AbstractChannelHandlerContext.java:831)
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:376)
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360)
      	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352)
      	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1421)
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374)
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360)
      	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:930)
      	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163)
      	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:697)
      	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:632)
      	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:549)
      	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:511)
      	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:918)
      	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
      	at java.lang.Thread.run(Thread.java:748)
      Caused by: java.lang.NoSuchMethodError: io.netty.buffer.ByteBuf.isContiguous()Z
      	at io.netty.handler.codec.ByteToMessageDecoder$1.cumulate(ByteToMessageDecoder.java:83)
      	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:274)
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374)
      	... 14 more
      

      When these two are on the same classpath, it can crash - note i didn't face such issue with CR2.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  grgrzybek Grzegorz Grzybek
                  Reporter:
                  llowinge Lukáš Löwinger
                  Tester:
                  Lukáš Löwinger
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  5 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: