Tank Tube Causing Client Kick
I believe the new fluid system in Forge is resulting in a client kick when a chunk with a tank tube is loaded.
From client log:
[22:45:24] [Client thread/ERROR] [FML/]: There was a critical exception handling a packet on channel ForgeMultipart java.lang.IndexOutOfBoundsException: readerIndex(295) + length(10753) exceeds writerIndex(830): UnpooledHeapByteBuf(ridx: 295, widx: 830, cap: 830) at io.netty.buffer.AbstractByteBuf.checkReadableBytes(AbstractByteBuf.java:1160) ~[AbstractByteBuf.class:?] at io.netty.buffer.AbstractByteBuf.readBytes(AbstractByteBuf.java:668) ~[AbstractByteBuf.class:?] at io.netty.buffer.AbstractByteBuf.readBytes(AbstractByteBuf.java:676) ~[AbstractByteBuf.class:?] at net.minecraft.network.PacketBuffer.readBytes(SourceFile:581) ~[et.class:?] at net.minecraft.network.PacketBuffer.func_150793_b(SourceFile:88) ~[et.class:?] at cpw.mods.fml.common.network.ByteBufUtils.readTag(ByteBufUtils.java:206) ~[ByteBufUtils.class:?] at codechicken.lib.packet.PacketCustom.readNBTTagCompound(PacketCustom.java:466) ~[PacketCustom.class:?] at codechicken.lib.packet.PacketCustom.readFluidStack(PacketCustom.java:474) ~[PacketCustom.class:?] at schmoller.tubes.types.TankTube.readDesc(TankTube.java:285) ~[TankTube.class:?] at codechicken.multipart.TileMultipart$$anonfun$handleDescPacket$1.apply(TileMultipart.scala:614) ~[TileMultipart$$anonfun$handleDescPacket$1.class:?] at codechicken.multipart.TileMultipart$$anonfun$handleDescPacket$1.apply(TileMultipart.scala:611) ~[TileMultipart$$anonfun$handleDescPacket$1.class:?] at scala.collection.immutable.Range.foreach(Range.scala:160) ~[Range.class:?] at codechicken.multipart.TileMultipart$.handleDescPacket(TileMultipart.scala:611) ~[TileMultipart$.class:?] at codechicken.multipart.handler.MultipartCPH$$anonfun$handleCompressedTileDesc$1.apply$mcVI$sp(packethandlers.scala:63) ~[MultipartCPH$$anonfun$handleCompressedTileDesc$1.class:?] at scala.collection.immutable.Range.foreach$mVc$sp(Range.scala:160) ~[Range.class:?] at codechicken.multipart.handler.MultipartCPH$.handleCompressedTileDesc(packethandlers.scala:62) ~[MultipartCPH$.class:?] at codechicken.multipart.handler.MultipartCPH$.handlePacket(packethandlers.scala:43) ~[MultipartCPH$.class:?] at codechicken.lib.packet.PacketCustom$ClientInboundHandler.handle(PacketCustom.java:100) ~[PacketCustom$ClientInboundHandler.class:?] at codechicken.lib.packet.PacketCustom$CustomInboundHandler.channelRead0(PacketCustom.java:77) ~[PacketCustom$CustomInboundHandler.class:?] at codechicken.lib.packet.PacketCustom$CustomInboundHandler.channelRead0(PacketCustom.java:64) ~[PacketCustom$CustomInboundHandler.class:?] at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:98) ~[SimpleChannelInboundHandler.class:?] at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) ~[DefaultChannelHandlerContext.class:?] at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) ~[DefaultChannelHandlerContext.class:?] at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) ~[DefaultChannelPipeline.class:?] at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:169) ~[EmbeddedChannel.class:?] at cpw.mods.fml.common.network.internal.FMLProxyPacket.func_148833_a(FMLProxyPacket.java:77) [FMLProxyPacket.class:?] at net.minecraft.network.NetworkManager.func_74428_b(NetworkManager.java:212) [ej.class:?] at net.minecraft.client.multiplayer.PlayerControllerMP.func_78765_e(PlayerControllerMP.java:273) [bje.class:?] at net.minecraft.client.Minecraft.func_71407_l(Minecraft.java:1590) [bao.class:?] at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:961) [bao.class:?] at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:887) [bao.class:?] at net.minecraft.client.main.Main.main(SourceFile:148) [Main.class:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_31] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_31] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_31] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_31] at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.11.jar:?] at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.11.jar:?]
Bump. Verified still an issue with 2.0.5.
This happens once when placing an isolated tank tube, then after reconnecting, the empty tube renders with water in it and nothing else seems to break immediately.
If liquid is pumped into the tank tube, however, the chunk becomes unstable and kicks players immediately, displaying this stack trace every time.
[16:53:45] [Client thread/ERROR] [FML]: There was a critical exception handling a packet on channel ForgeMultipart
java.lang.IndexOutOfBoundsException: readerIndex(29) + length(1) exceeds writerIndex(29): UnpooledHeapByteBuf(ridx: 29, widx: 29, cap: 29/29)
at io.netty.buffer.AbstractByteBuf.checkReadableBytes(AbstractByteBuf.java:1160) ~[AbstractByteBuf.class:?]
at io.netty.buffer.AbstractByteBuf.readByte(AbstractByteBuf.java:562) ~[AbstractByteBuf.class:?]
at cpw.mods.fml.common.network.ByteBufUtils.readVarInt(ByteBufUtils.java:46) ~[ByteBufUtils.class:?]
at codechicken.lib.packet.PacketCustom.readVarInt(PacketCustom.java:430) ~[PacketCustom.class:?]
at codechicken.lib.packet.PacketCustom.readFluidStack(PacketCustom.java:474) ~[PacketCustom.class:?]
at schmoller.tubes.types.TankTube.readDesc(TankTube.java:285) ~[TankTube.class:?]
at codechicken.multipart.TileMultipart$$anonfun$handleDescPacket$1.apply(TileMultipart.scala:614) ~[TileMultipart$$anonfun$handleDescPacket$1.class:?]
at codechicken.multipart.TileMultipart$$anonfun$handleDescPacket$1.apply(TileMultipart.scala:611) ~[TileMultipart$$anonfun$handleDescPacket$1.class:?]
at scala.collection.immutable.Range.foreach(Range.scala:160) ~[Range.class:?]
at codechicken.multipart.TileMultipart$.handleDescPacket(TileMultipart.scala:611) ~[TileMultipart$.class:?]
at codechicken.multipart.handler.MultipartCPH$$anonfun$handleCompressedTileDesc$1.apply$mcVI$sp(packethandlers.scala:63) ~[MultipartCPH$$anonfun$handleCompressedTileDesc$1.class:?]
at scala.collection.immutable.Range.foreach$mVc$sp(Range.scala:160) ~[Range.class:?]
at codechicken.multipart.handler.MultipartCPH$.handleCompressedTileDesc(packethandlers.scala:62) ~[MultipartCPH$.class:?]
at codechicken.multipart.handler.MultipartCPH$.handlePacket(packethandlers.scala:43) ~[MultipartCPH$.class:?]
at codechicken.lib.packet.PacketCustom$ClientInboundHandler.handle(PacketCustom.java:100) ~[PacketCustom$ClientInboundHandler.class:?]
at codechicken.lib.packet.PacketCustom$CustomInboundHandler.channelRead0(PacketCustom.java:77) ~[PacketCustom$CustomInboundHandler.class:?]
at codechicken.lib.packet.PacketCustom$CustomInboundHandler.channelRead0(PacketCustom.java:64) ~[PacketCustom$CustomInboundHandler.class:?]
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:98) ~[SimpleChannelInboundHandler.class:?]
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) ~[DefaultChannelHandlerContext.class:?]
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) ~[DefaultChannelHandlerContext.class:?]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) ~[DefaultChannelPipeline.class:?]
at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:169) ~[EmbeddedChannel.class:?]
at cpw.mods.fml.common.network.internal.FMLProxyPacket.func_148833_a(FMLProxyPacket.java:77) [FMLProxyPacket.class:?]
at net.minecraft.network.NetworkManager.func_74428_b(NetworkManager.java:212) [ej.class:?]
at net.minecraft.client.multiplayer.GuiConnecting.func_73876_c(SourceFile:78) [bcx.class:?]
at net.minecraft.client.Minecraft.func_71407_l(Minecraft.java:1661) [bao.class:?]
at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:973) [bao.class:?]
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:898) [bao.class:?]
at net.minecraft.client.main.Main.main(SourceFile:148) [Main.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_65]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_65]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_65]
at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_65]
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper.jar:?]
at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper.jar:?]
This occurs whether or not the player is able to actually see the block in question.
+1, this is still an issue for me
[B#347] [17:56:37] [Client thread/ERROR] [FML]: There was a critical exception handling a packet on channel ForgeMultipart
[B#347] java.lang.IndexOutOfBoundsException: readerIndex(19) + length(1) exceeds writerIndex(19): UnpooledHeapByteBuf(ridx: 19, widx: 19, cap: 19/19)
[B#347] at io.netty.buffer.AbstractByteBuf.checkReadableBytes(AbstractByteBuf.java:1160) ~[AbstractByteBuf.class:?]
[B#347] at io.netty.buffer.AbstractByteBuf.readByte(AbstractByteBuf.java:562) ~[AbstractByteBuf.class:?]
[B#347] at cpw.mods.fml.common.network.ByteBufUtils.readVarInt(ByteBufUtils.java:46) ~[ByteBufUtils.class:?]
[B#347] at codechicken.lib.packet.PacketCustom.readVarInt(PacketCustom.java:430) ~[PacketCustom.class:?]
[B#347] at codechicken.lib.packet.PacketCustom.readFluidStack(PacketCustom.java:474) ~[PacketCustom.class:?]
[B#347] at schmoller.tubes.types.TankTube.readDesc(TankTube.java:285) ~[TankTube.class:?]
[B#347] at codechicken.multipart.TileMultipart$$anonfun$handleDescPacket$1.apply(TileMultipart.scala:612) ~[TileMultipart$$anonfun$handleDescPacket$1.class:?]
[B#347] at codechicken.multipart.TileMultipart$$anonfun$handleDescPacket$1.apply(TileMultipart.scala:609) ~[TileMultipart$$anonfun$handleDescPacket$1.class:?]
[B#347] at scala.collection.immutable.Range.foreach(Range.scala:160) ~[Range.class:?]
[B#347] at codechicken.multipart.TileMultipart$.handleDescPacket(TileMultipart.scala:609) ~[TileMultipart$.class:?]
[B#347] at codechicken.multipart.handler.MultipartCPH$$anonfun$handleCompressedTileDesc$1.apply$mcVI$sp(packethandlers.scala:63) ~[MultipartCPH$$anonfun$handleCompressedTileDesc$1.class:?]
[B#347] at scala.collection.immutable.Range.foreach$mVc$sp(Range.scala:160) ~[Range.class:?]
[B#347] at codechicken.multipart.handler.MultipartCPH$.handleCompressedTileDesc(packethandlers.scala:62) ~[MultipartCPH$.class:?]
[B#347] at codechicken.multipart.handler.MultipartCPH$.handlePacket(packethandlers.scala:43) ~[MultipartCPH$.class:?]
[B#347] at codechicken.lib.packet.PacketCustom$ClientInboundHandler.handle(PacketCustom.java:100) ~[PacketCustom$ClientInboundHandler.class:?]
[B#347] at codechicken.lib.packet.PacketCustom$CustomInboundHandler.channelRead0(PacketCustom.java:77) ~[PacketCustom$CustomInboundHandler.class:?]
[B#347] at codechicken.lib.packet.PacketCustom$CustomInboundHandler.channelRead0(PacketCustom.java:64) ~[PacketCustom$CustomInboundHandler.class:?]
[B#347] at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:98) ~[SimpleChannelInboundHandler.class:?]
[B#347] at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) ~[DefaultChannelHandlerContext.class:?]
[B#347] at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) ~[DefaultChannelHandlerContext.class:?]
[B#347] at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) ~[DefaultChannelPipeline.class:?]
[B#347] at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:169) ~[EmbeddedChannel.class:?]
[B#347] at cpw.mods.fml.common.network.internal.FMLProxyPacket.func_148833_a(FMLProxyPacket.java:77) [FMLProxyPacket.class:?]
[B#347] at net.minecraft.network.NetworkManager.func_74428_b(NetworkManager.java:212) [ej.class:?]
[B#347] at net.minecraft.client.Minecraft.func_71407_l(Minecraft.java:2061) [bao.class:?]
[B#347] at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:973) [bao.class:?]
[B#347] at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:898) [bao.class:?]
[B#347] at net.minecraft.client.main.Main.main(SourceFile:148) [Main.class:?]
[B#347] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_73]
[B#347] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_73]
[B#347] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_73]
[B#347] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_73]
[B#347] at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
[B#347] at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
the same here [12:22:10] [Client thread/ERROR] [FML]: There was a critical exception handling a packet on channel ForgeMultipart java.lang.IndexOutOfBoundsException: readerIndex(22) + length(19457) exceeds writerIndex(31): UnpooledHeapByteBuf(ridx: 22, widx: 31, cap: 31/31) at io.netty.buffer.AbstractByteBuf.checkReadableBytes(AbstractByteBuf.java:1160) ~[AbstractByteBuf.class:?] at io.netty.buffer.AbstractByteBuf.readBytes(AbstractByteBuf.java:668) ~[AbstractByteBuf.class:?] at io.netty.buffer.AbstractByteBuf.readBytes(AbstractByteBuf.java:676) ~[AbstractByteBuf.class:?] at net.minecraft.network.PacketBuffer.readBytes(SourceFile:581) ~[et.class:?] at net.minecraft.network.PacketBuffer.func_150793_b(SourceFile:88) ~[et.class:?] at cpw.mods.fml.common.network.ByteBufUtils.readTag(ByteBufUtils.java:206) ~[ByteBufUtils.class:?] at codechicken.lib.packet.PacketCustom.readNBTTagCompound(PacketCustom.java:466) ~[PacketCustom.class:?] at codechicken.lib.packet.PacketCustom.readFluidStack(PacketCustom.java:474) ~[PacketCustom.class:?] at schmoller.tubes.types.TankTube.readDesc(TankTube.java:285) ~[TankTube.class:?] at codechicken.multipart.TileMultipart$$anonfun$handleDescPacket$1.apply(TileMultipart.scala:612) ~[TileMultipart$$anonfun$handleDescPacket$1.class:?] at codechicken.multipart.TileMultipart$$anonfun$handleDescPacket$1.apply(TileMultipart.scala:609) ~[TileMultipart$$anonfun$handleDescPacket$1.class:?] at scala.collection.immutable.Range.foreach(Range.scala:160) ~[Range.class:?] at codechicken.multipart.TileMultipart$.handleDescPacket(TileMultipart.scala:609) ~[TileMultipart$.class:?] at codechicken.multipart.handler.MultipartCPH$$anonfun$handleCompressedTileDesc$1.apply$mcVI$sp(packethandlers.scala:63) ~[MultipartCPH$$anonfun$handleCompressedTileDesc$1.class:?] at scala.collection.immutable.Range.foreach$mVc$sp(Range.scala:160) ~[Range.class:?] at codechicken.multipart.handler.MultipartCPH$.handleCompressedTileDesc(packethandlers.scala:62) ~[MultipartCPH$.class:?] at codechicken.multipart.handler.MultipartCPH$.handlePacket(packethandlers.scala:43) ~[MultipartCPH$.class:?] at codechicken.lib.packet.PacketCustom$ClientInboundHandler.handle(PacketCustom.java:100) ~[PacketCustom$ClientInboundHandler.class:?] at codechicken.lib.packet.PacketCustom$CustomInboundHandler.channelRead0(PacketCustom.java:77) ~[PacketCustom$CustomInboundHandler.class:?] at codechicken.lib.packet.PacketCustom$CustomInboundHandler.channelRead0(PacketCustom.java:64) ~[PacketCustom$CustomInboundHandler.class:?] at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:98) ~[SimpleChannelInboundHandler.class:?] at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) ~[DefaultChannelHandlerContext.class:?] at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) ~[DefaultChannelHandlerContext.class:?] at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) ~[DefaultChannelPipeline.class:?] at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:169) ~[EmbeddedChannel.class:?] at cpw.mods.fml.common.network.internal.FMLProxyPacket.func_148833_a(FMLProxyPacket.java:77) [FMLProxyPacket.class:?] at net.minecraft.network.NetworkManager.func_74428_b(NetworkManager.java:212) [ej.class:?] at net.minecraft.client.multiplayer.PlayerControllerMP.func_78765_e(PlayerControllerMP.java:273) [bje.class:?] at net.minecraft.client.Minecraft.func_71407_l(Minecraft.java:1602) [bao.class:?] at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:973) [bao.class:?] at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:898) [bao.class:?] at net.minecraft.client.main.Main.main(SourceFile:148) [Main.class:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_131] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_131] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_131] at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_131] at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?] at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]