Roughly Enough IDs

Roughly Enough IDs

845k Downloads

Exception lead to kick from world(multiplayer)

zeng-github01 opened this issue ยท 9 comments

commented

REID Version 2.1.0 from CurseForge, normal on 2.0.7

NetworkDispatcher exception io.netty.handler.codec.DecoderException: java.io.IOException: Bad packet id 112 at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:442) ~[ByteToMessageDecoder.class:4.1.9.Final] at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:248) ~[ByteToMessageDecoder.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:293) [ByteToMessageDecoder.class:4.1.9.Final] at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:267) [ByteToMessageDecoder.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:293) [ByteToMessageDecoder.class:4.1.9.Final] at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:280) [ByteToMessageDecoder.class:4.1.9.Final] at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:396) [ByteToMessageDecoder.class:4.1.9.Final] at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:248) [ByteToMessageDecoder.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) [MessageToMessageDecoder.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:287) [IdleStateHandler.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1334) [DefaultChannelPipeline$HeadContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [AbstractChannelHandlerContext.class:4.1.9.Final] at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:926) [DefaultChannelPipeline.class:4.1.9.Final] at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:134) [AbstractNioByteChannel$NioByteUnsafe.class:4.1.9.Final] at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:624) [NioEventLoop.class:4.1.9.Final] at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:559) [NioEventLoop.class:4.1.9.Final] at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:476) [NioEventLoop.class:4.1.9.Final] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:438) [NioEventLoop.class:4.1.9.Final] at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858) [SingleThreadEventExecutor$5.class:4.1.9.Final] at java.lang.Thread.run(Thread.java:745) [?:1.8.0_51]

commented

Looks like another packet issue, can you post latest.log and do you have any reproduction steps?

commented

Looks like another packet issue, can you post latest.log and do you have any reproduction steps?

About reproduction: There is no specific behavior. Just enter the world and get kicked out after a minute.

commented

Looks like another packet issue, can you post latest.log and do you have any reproduction steps?

Already read the log file myself and found the problem
Received server authentication msg. Remote sync will be activated [13:08:54] [Netty Client IO #2/INFO]: Received config from server. [13:08:54] [Netty Client IO #2/INFO]: Received Cardboard Box blacklist entries from server (22 explicit blocks, 3 mod wildcards) [13:08:54] [Netty Client IO #2/INFO]: Syncing Config with Server [13:08:54] [Netty Client IO #2/ERROR]: NetworkDispatcher exception io.netty.handler.codec.DecoderException: java.lang.IndexOutOfBoundsException: readerIndex(5) + length(4) exceeds writerIndex(8): PooledUnsafeDirectByteBuf(ridx: 5, widx: 8, cap: 8)

The error in the last line of the log is what I received when I was kicked out.

This seems to be caused by the configuration of the unofficial Mekanism I'm using. This is a fork that gradually implements Mek V10 in 1.12. It itself is a branch of Mekanism CE

Source Code

commented

Can you post debug.log then? (Use https://mclo.gs/ if possible) There might be more info around this line [13:08:54] [Netty Client IO #2/ERROR]: NetworkDispatcher exception io.netty.handler.codec.DecoderException: java.lang.IndexOutOfBoundsException: readerIndex(5) + length(4) exceeds writerIndex(8): PooledUnsafeDirectByteBuf(ridx: 5, widx: 8, cap: 8) in the debug log. I cannot find a way to trigger it with just Mekanism CEU, even switching between REID versions.

commented

Can you post debug.log then? (Use https://mclo.gs/ if possible) There might be more info around this line [13:08:54] [Netty Client IO #2/ERROR]: NetworkDispatcher exception io.netty.handler.codec.DecoderException: java.lang.IndexOutOfBoundsException: readerIndex(5) + length(4) exceeds writerIndex(8): PooledUnsafeDirectByteBuf(ridx: 5, widx: 8, cap: 8) in the debug log. I cannot find a way to trigger it with just Mekanism CEU, even switching between REID versions.

My instance does not generate this file, I forgot how to trigger its generation
If you know how to set it up, I'd be happy to provide it

commented

If it's CurseForge, I think it's the steps here under "How to enable a missing debug.log file".
Another way I think is to add -Dforge.logging.console.level=debug to your java args and it will print debug output to your console which you can upload.

commented

latest.log
Log file after enabling debug log

@jchung01 A method that consistently triggers this bug has been discovered:

Installing the Carry On Mod and using it to move some blocks (include entity) will immediately trigger this bug
In my tests I used it to move away from darkutils' Monolith of Experience

commented

Can you try this build? I fixed the potion packets being read incorrectly, which I saw was the first network error in your log. (make sure to unzip)
RoughlyEnoughIDs-2.1.0.jar.zip

commented

Can you try this build? I fixed the potion packets being read incorrectly, which I saw was the first network error in your log. (make sure to unzip) RoughlyEnoughIDs-2.1.0.jar.zip

It has been fixed