Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
leetfin opened this issue Nov 26, 2023 · 4 comments
Labels
bug Something isn't working fabric-networking Pull requests and issues related to the networking api priority:high High priority PRs that need review and work now. Review these first.

Comments

@leetfin
Copy link

leetfin commented Nov 26, 2023

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) ~[?:?]
@modmuss50 modmuss50 added bug Something isn't working priority:high High priority PRs that need review and work now. Review these first. labels Nov 26, 2023
@modmuss50
Copy link
Member

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

@modmuss50
Copy link
Member

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?

@modmuss50
Copy link
Member

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.

@deirn
Copy link
Member

deirn commented Nov 27, 2023

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

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

@deirn deirn added the fabric-networking Pull requests and issues related to the networking api label Nov 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working fabric-networking Pull requests and issues related to the networking api priority:high High priority PRs that need review and work now. Review these first.
Projects
None yet
Development

No branches or pull requests

3 participants