Displaying a large list of items from Refined storage disconnects the client
nhinds opened this issue ยท 2 comments
Issue type:
- ๐ Bug
Short description:
Displaying a large list (such as all items in a large Refined Storage network) in an Integrated Dynamics Display disconnects the client and causes the server to log "Failed to save chunk"
Expected behaviour:
If a list is too large to safely display, an error is displayed instead
Actual behaviour:
If a list is too large to safely display, it seems to cause NBT serialization/deserialization failures. Clients are instantly disconnected if the player loads a chunk with affected Integrated Dynamics networks. The server logs "Failed to save chunk" and "io.netty.handler.codec.EncoderException: java.io.UTFDataFormatException: encoded string too long: 74156 bytes" messages.
Steps to reproduce the problem:
- Create a Refined Storage network with thousands of items
- Attach an Inventory Reader to this network
- Create a variable card which reads the "RS Network Items" aspect (or similar)
- Place this variable card in a display (instant disconnect)
Versions:
- This mod: 1.10.2-0.7.12
- CyclopsCore: 1.9.4-0.10.9
- Minecraft: 1.10.2
- Forge: 12.18.3.2477
- Sky Factory: 3.0.15
Log file:
Client/server logs for the connect + disconnect: https://gist.github.com/nhinds/b4fdb2d606eb8f64fb8ae1bc23143a4b
My workaround was:
- Get an op on the server to teleport me to them as I logged in - the login still failed, but the next time I logged in I was away from the display panel and didn't get disconnected
- Cut power to my Refined Storage system / wait for it to drain its power
- Teleport back and remove the display panel before turning the power back on
Just checked, this is not a problem in 1.12 anymore because of 0618a2e.
However, 1.10 is not maintained anymore, so I won't backport this fix, sorry.