When many pistons fire on the same game tick on a multiplayer server, there is a chance that at least one player will be kicked with an Internal Exception error.
What I expected to happen was...:
I created a farm where chickens lay eggs and drop them into a hopper with a comparator that triggers 24 pistons to harvest sugar cane and pumpkins.
What actually happened was...:
About 1 in every 3 fires of the pistons causes a small portion of the players on the server, in render distance, to be kicked from the server with the following client side error message:
Internal Exception: io.netty.handler.codec.DecoderException: Java.lang.IndexOutOfBoundsException: readerIndex(16) + length(7868) exceeds writerIndex(16): UnpooledHeapByteBuf(ridx: 16, widx, 16, cap: 16)
The server gets the following error but the IO # varies:
[Server] Netty Epoll Server IO #13/ERROR io.netty.util.IllegalReferenceCountException: refCnt: 0
A screenshot (attached) taken between the pistons firing and fully extending, thus kicking the player, shows double piston heads.
Using fewer pistons when running the device causes the same issue at a lower rate, which makes it seem as though it's a once in a great while error with one single piston. This occurs even when triggered by a lever, rather than an egg in the hopper. This does not seem to occur with pistons facing up or West. Tested using pistons facing East. It also seems to only occur when a second repeater other than the one directly against the piston is added to the redstone circuit.
Steps to Reproduce:
1. Connect a piston facing East to a redstone clock on a multiplayer server.
2. Wait for the piston to kick the player. Connect more pistons to the clock to kick the player faster.