Fabric API

Fabric API

112M Downloads

API 0.91.0 on 1.20.2 causes server connection error "RetainedPayload shouldn't be used to send"

leetfin opened this issue ยท 4 comments

commented

When attempting to connect to a 1.20.2 server with fabric support on the newest release of Fabric API, it immediately disconnects with the error "RetainedPayload shouldn't be used to send". The other mod in use is "plasmovoice-fabric-1.20.2-2.0.7.jar". I am assuming this bug is with Fabric API due to it previously working, and that I don't see anything that looks related in the release changelog, but please correct me if I am wrong.

This bug has been replicated by multiple players on the server with no other mods aside from Fabric API and PlasmoVoice installed. API 0.90.7+1.20.2 works fine.

Please let me know if there's any more information needed!

Error log:

[15:47:46] [Netty Client IO #6/ERROR]: Error receiving packet 15
java.lang.UnsupportedOperationException: RetainedPayload shouldn't be used to send
	at net.fabricmc.fabric.impl.networking.payload.RetainedPayload.method_53028(RetainedPayload.java:52) ~[fabric-networking-api-v1-3.1.0+6225d43aa0-927bc21d31f61f05.jar:?]
	at net.minecraft.class_2817.method_11052(class_2817.java:49) ~[client-intermediary.jar:?]
	at net.minecraft.class_2545.method_10838(class_2545.java:47) ~[client-intermediary.jar:?]
	at net.minecraft.class_2545.encode(class_2545.java:15) ~[client-intermediary.jar:?]
	at io.netty.handler.codec.MessageToByteEncoder.write(MessageToByteEncoder.java:107) ~[netty-codec-4.1.97.Final.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:881) ~[netty-transport-4.1.97.Final.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:863) ~[netty-transport-4.1.97.Final.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:968) ~[netty-transport-4.1.97.Final.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:856) ~[netty-transport-4.1.97.Final.jar:?]
	at io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:113) ~[netty-codec-4.1.97.Final.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:881) ~[netty-transport-4.1.97.Final.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:940) ~[netty-transport-4.1.97.Final.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:966) ~[netty-transport-4.1.97.Final.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:934) ~[netty-transport-4.1.97.Final.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:984) ~[netty-transport-4.1.97.Final.jar:?]
	at io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:1025) ~[netty-transport-4.1.97.Final.jar:?]
	at io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:306) ~[netty-transport-4.1.97.Final.jar:?]
	at net.minecraft.class_2535.method_36942(class_2535.java:321) ~[client-intermediary.jar:?]
	at net.minecraft.class_2535.method_10764(class_2535.java:314) ~[client-intermediary.jar:?]
	at net.minecraft.class_2535.method_52906(class_2535.java:296) ~[client-intermediary.jar:?]
	at net.minecraft.class_2535.method_10752(class_2535.java:290) ~[client-intermediary.jar:?]
	at net.minecraft.class_2535.method_10743(class_2535.java:286) ~[client-intermediary.jar:?]
	at su.plo.voice.client.connection.ModServerConnection.sendPacket(ModServerConnection.java:115) ~[plasmovoice-fabric-1.20.2-2.0.7.jar:?]
	at su.plo.voice.client.connection.ModServerConnection.handle(ModServerConnection.java:324) ~[plasmovoice-fabric-1.20.2-2.0.7.jar:?]
	at su.plo.voice.proto.packets.tcp.clientbound.PlayerInfoRequestPacket.handle(PlayerInfoRequestPacket.java:32) ~[plasmovoice-fabric-1.20.2-2.0.7.jar:?]
	at su.plo.voice.proto.packets.tcp.clientbound.PlayerInfoRequestPacket.handle(PlayerInfoRequestPacket.java:14) ~[plasmovoice-fabric-1.20.2-2.0.7.jar:?]
	at su.plo.voice.client.connection.ModServerConnection.handle(ModServerConnection.java:200) ~[plasmovoice-fabric-1.20.2-2.0.7.jar:?]
	at java.util.Optional.ifPresent(Optional.java:178) ~[?:?]
	at su.plo.voice.client.connection.ModClientChannelHandler.receive(ModClientChannelHandler.java:86) ~[plasmovoice-fabric-1.20.2-2.0.7.jar:?]
	at su.plo.voice.client.connection.ModClientChannelHandler.receive(ModClientChannelHandler.java:57) ~[plasmovoice-fabric-1.20.2-2.0.7.jar:?]
	at net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking.lambda$wrapUntyped$0(ClientPlayNetworking.java:374) ~[fabric-networking-api-v1-3.1.0+6225d43aa0-927bc21d31f61f05.jar:?]
	at net.fabricmc.fabric.impl.networking.client.ClientPlayNetworkAddon.receive(ClientPlayNetworkAddon.java:77) ~[fabric-networking-api-v1-3.1.0+6225d43aa0-927bc21d31f61f05.jar:?]
	at net.fabricmc.fabric.impl.networking.client.ClientPlayNetworkAddon.receive(ClientPlayNetworkAddon.java:42) ~[fabric-networking-api-v1-3.1.0+6225d43aa0-927bc21d31f61f05.jar:?]
	at net.fabricmc.fabric.impl.networking.AbstractChanneledNetworkAddon.handle(AbstractChanneledNetworkAddon.java:99) ~[fabric-networking-api-v1-3.1.0+6225d43aa0-927bc21d31f61f05.jar:?]
	at net.minecraft.class_8673.handler$bgl000$fabric-networking-api-v1$onCustomPayload(class_8673.java:1541) ~[client-intermediary.jar:?]
	at net.minecraft.class_8673.method_52780(class_8673.java) ~[client-intermediary.jar:?]
	at net.minecraft.class_2658.method_53024(class_2658.java:92) ~[client-intermediary.jar:?]
	at net.minecraft.class_2658.method_11054(class_2658.java:31) ~[client-intermediary.jar:?]
	at net.minecraft.class_2535.method_10759(class_2535.java:196) ~[client-intermediary.jar:?]
	at net.minecraft.class_2535.method_10770(class_2535.java:181) ~[client-intermediary.jar:?]
	at net.minecraft.class_2535.channelRead0(class_2535.java:60) ~[client-intermediary.jar:?]
	at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99) ~[netty-transport-4.1.97.Final.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[netty-transport-4.1.97.Final.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.97.Final.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.97.Final.jar:?]
	at io.netty.handler.flow.FlowControlHandler.dequeue(FlowControlHandler.java:202) ~[netty-handler-4.1.97.Final.jar:?]
	at io.netty.handler.flow.FlowControlHandler.channelRead(FlowControlHandler.java:164) ~[netty-handler-4.1.97.Final.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) ~[netty-transport-4.1.97.Final.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.97.Final.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.97.Final.jar:?]
	at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) ~[netty-codec-4.1.97.Final.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[netty-transport-4.1.97.Final.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.97.Final.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.97.Final.jar:?]
	at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346) ~[netty-codec-4.1.97.Final.jar:?]
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318) ~[netty-codec-4.1.97.Final.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[netty-transport-4.1.97.Final.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.97.Final.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.97.Final.jar:?]
	at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346) ~[netty-codec-4.1.97.Final.jar:?]
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318) ~[netty-codec-4.1.97.Final.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[netty-transport-4.1.97.Final.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.97.Final.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.97.Final.jar:?]
	at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346) ~[netty-codec-4.1.97.Final.jar:?]
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318) ~[netty-codec-4.1.97.Final.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[netty-transport-4.1.97.Final.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.97.Final.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.97.Final.jar:?]
	at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) ~[netty-codec-4.1.97.Final.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[netty-transport-4.1.97.Final.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.97.Final.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.97.Final.jar:?]
	at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) ~[netty-handler-4.1.97.Final.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) ~[netty-transport-4.1.97.Final.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.97.Final.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.97.Final.jar:?]
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) ~[netty-transport-4.1.97.Final.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440) ~[netty-transport-4.1.97.Final.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.97.Final.jar:?]
	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) ~[netty-transport-4.1.97.Final.jar:?]
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166) ~[netty-transport-4.1.97.Final.jar:?]
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788) ~[netty-transport-4.1.97.Final.jar:?]
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) ~[netty-transport-4.1.97.Final.jar:?]
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) ~[netty-transport-4.1.97.Final.jar:?]
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) ~[netty-transport-4.1.97.Final.jar:?]
	at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[netty-common-4.1.97.Final.jar:?]
	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.97.Final.jar:?]
	at java.lang.Thread.run(Thread.java:833) ~[?:?]
commented

Can you try with this? Use the fabric-api-0.91.0+merge.jar

https://github.com/FabricMC/fabric/suites/18512245663/artifacts/1074290023

commented

Looking at this PlasmoVoice mod, it seems to be doing some very none standard networking related things. Is it just this mod that is causing issues, or others?

commented

Thanks for reporitng this, I have marked the affected versions as a beta on curseforge now while we figure out whats going on. CC @deirn

commented

I would reccomend opening an issue with the folk that maintain PlasmoVoice, im not too sure there is a lot we can do to fix this ๐Ÿค” Quite happy to discuss solutions.