Petals BC Gateway

Decoder error receiving a message request

Details

  • Type: Bug Bug
  • Status: Resolved Resolved
  • Priority: Critical Critical
  • Resolution: Fixed
  • Affects Version/s: 1.1.0
  • Fix Version/s: 1.1.1
  • Component/s: None
  • Security Level: Public
  • Description:
    Hide

    When receiving a request message from a Petals BC Gateway running on Petals 5.2, I get the following error:

    sample-0-5.3-java-11 2024/04/05 15:13:39,494 GMT+0200 WARNING [io.netty.channel.DefaultChannelPipeline] : An exceptionCaught() event was fired, and it reached at the tail of the pipeline. It usually means the last handler in the pipeline did not handle the exception.
    io.netty.handler.codec.DecoderException: java.io.EOFException
    	at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:477)
    	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:276)
    	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
    	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
    	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
    	at io.netty.handler.logging.LoggingHandler.channelRead(LoggingHandler.java:280)
    	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
    	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
    	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
    	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
    	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
    	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
    	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
    	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
    	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719)
    	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655)
    	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581)
    	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493)
    	at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986)
    	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
    	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    	at java.base/java.lang.Thread.run(Thread.java:829)
    Caused by: java.io.EOFException
    	at java.base/java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:3210)
    	at java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1638)
    	at java.base/java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2496)
    	at java.base/java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2390)
    	at java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2228)
    	at java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1687)
    	at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:489)
    	at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:447)
    	at io.netty.handler.codec.serialization.ObjectDecoder.decode(ObjectDecoder.java:76)
    	at io.netty.handler.codec.LengthFieldBasedFrameDecoder.decode(LengthFieldBasedFrameDecoder.java:332)
    	at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:507)
    	at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:446)
    	... 21 more

    Perhaps it's a problem of incompatibility between the components running on two different Petals ESB containers: 5.2 and 5.3

    Show
    When receiving a request message from a Petals BC Gateway running on Petals 5.2, I get the following error:
    sample-0-5.3-java-11 2024/04/05 15:13:39,494 GMT+0200 WARNING [io.netty.channel.DefaultChannelPipeline] : An exceptionCaught() event was fired, and it reached at the tail of the pipeline. It usually means the last handler in the pipeline did not handle the exception.
    io.netty.handler.codec.DecoderException: java.io.EOFException
    	at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:477)
    	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:276)
    	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
    	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
    	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
    	at io.netty.handler.logging.LoggingHandler.channelRead(LoggingHandler.java:280)
    	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
    	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
    	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
    	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
    	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
    	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
    	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
    	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
    	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719)
    	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655)
    	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581)
    	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493)
    	at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986)
    	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
    	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    	at java.base/java.lang.Thread.run(Thread.java:829)
    Caused by: java.io.EOFException
    	at java.base/java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:3210)
    	at java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1638)
    	at java.base/java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2496)
    	at java.base/java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2390)
    	at java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2228)
    	at java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1687)
    	at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:489)
    	at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:447)
    	at io.netty.handler.codec.serialization.ObjectDecoder.decode(ObjectDecoder.java:76)
    	at io.netty.handler.codec.LengthFieldBasedFrameDecoder.decode(LengthFieldBasedFrameDecoder.java:332)
    	at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:507)
    	at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:446)
    	... 21 more
    Perhaps it's a problem of incompatibility between the components running on two different Petals ESB containers: 5.2 and 5.3
  • Environment:
    -

Issue Links

Activity

Hide
Christophe DENEUX added a comment - Fri, 5 Apr 2024 - 15:28:55 +0200

Fixed in branch petals-bc-gateway-1.1.x with git#ea18cfb

Show
Christophe DENEUX added a comment - Fri, 5 Apr 2024 - 15:28:55 +0200 Fixed in branch petals-bc-gateway-1.1.x with git#ea18cfb
Hide
Christophe DENEUX added a comment - Fri, 5 Apr 2024 - 15:22:24 +0200

The problem is linked to two new fields added in transported messages about the support of MONIT trace filtering (see PETALSBCJBI-13). We must adjust the Petals BC Gateway of Petals 5.2 adding these two fields also.

Show
Christophe DENEUX added a comment - Fri, 5 Apr 2024 - 15:22:24 +0200 The problem is linked to two new fields added in transported messages about the support of MONIT trace filtering (see PETALSBCJBI-13). We must adjust the Petals BC Gateway of Petals 5.2 adding these two fields also.

People

Dates

  • Created:
    Fri, 5 Apr 2024 - 15:17:41 +0200
    Updated:
    Fri, 5 Apr 2024 - 15:28:55 +0200
    Resolved:
    Fri, 5 Apr 2024 - 15:28:55 +0200