YABBA

YABBA

19M Downloads

Antibarrel causes crash when too full

tipeon opened this issue · 6 comments

commented

I used an antibarrel to collect loots from a mob farm and left it unattended for a long time.
When I came back and tried to open the antibarrel GUI, the game crashed.

Modpack: Modern skyblock 3.4
Yaba version: 1.1.2.6

I believe that this is the relevant exception:

[00:25:57] [Netty Local Client IO #0/ERROR] [FML]: FMLIndexedMessageCodec exception caught
io.netty.handler.codec.DecoderException: java.lang.RuntimeException: Tried to read NBT tag that was too big; tried to allocate: 2097186bytes where max allowed: 2097152
	at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:98) ~[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) 
        (...)
Caused by: java.lang.RuntimeException: Tried to read NBT tag that was too big; tried to allocate: 2097186bytes where max allowed: 2097152
	at net.minecraft.nbt.NBTSizeTracker.func_152450_a(NBTSizeTracker.java:25) ~[gh.class:?]
	at net.minecraft.nbt.NBTTagCompound.func_152446_a(NBTTagCompound.java:57) ~[fy.class:?]
	at net.minecraft.nbt.NBTTagList.func_152446_a(NBTTagList.java:63) ~[ge.class:?]
	at net.minecraft.nbt.NBTTagCompound.func_152449_a(NBTTagCompound.java:496) ~[fy.class:?]
	at net.minecraft.nbt.NBTTagCompound.func_152446_a(NBTTagCompound.java:58) ~[fy.class:?]
	at net.minecraft.nbt.CompressedStreamTools.func_152455_a(CompressedStreamTools.java:133) ~[gi.class:?]
	at net.minecraft.nbt.CompressedStreamTools.func_152456_a(CompressedStreamTools.java:88) ~[gi.class:?]
	at net.minecraft.network.PacketBuffer.func_150793_b(PacketBuffer.java:315) ~[gy.class:?]
	at net.minecraftforge.fml.common.network.ByteBufUtils.readTag(ByteBufUtils.java:227) ~[ByteBufUtils.class:?]
	at com.feed_the_beast.ftblib.lib.io.DataIn.readNBT(DataIn.java:249) ~[DataIn.class:?]
	at com.latmod.yabba.net.MessageAntibarrelUpdate.readData(MessageAntibarrelUpdate.java:47) ~[MessageAntibarrelUpdate.class:?]
	at com.feed_the_beast.ftblib.lib.net.MessageBase.fromBytes(MessageBase.java:35) ~[MessageBase.class:?]
	at net.minecraftforge.fml.common.network.simpleimpl.SimpleIndexedCodec.decodeInto(SimpleIndexedCodec.java:36) ~[SimpleIndexedCodec.class:?]
	at net.minecraftforge.fml.common.network.simpleimpl.SimpleIndexedCodec.decodeInto(SimpleIndexedCodec.java:26) ~[SimpleIndexedCodec.class:?]
	at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:107) ~[FMLIndexedMessageToMessageCodec.class:?]
	at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:38) ~[FMLIndexedMessageToMessageCodec.class:?]
	at io.netty.handler.codec.MessageToMessageCodec$2.decode(MessageToMessageCodec.java:81) ~[netty-all-4.1.9.Final.jar:4.1.9.Final]
	at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88) ~[netty-all-4.1.9.Final.jar:4.1.9.Final]
	... 33 more

Full log: https://paste.ee/p/YJequ

commented

Hummm... I have an idea how to fix that but that could be dangerous... Oh well!

commented

I'm having this too. My experience was at first a frozen screen each time. I broke the anti barrel, and placed it back down in the same spot. after that it wasn't freezing my game, it was treating it like I was on a server and the server went down.

commented

What if the max item/type count wouldn't be determined by size but by max byte count, similar to AE cells? 🤔

commented

If you can do that, it'd be great.

commented

I think I can solve this issue with MinecraftForge/MinecraftForge#4932 now