Draylar / inmis

I need more inventory space! A Fabric backpack mod.
https://www.curseforge.com/minecraft/mc-mods/inmis
MIT License
33 stars 29 forks source link

(1.17.1) Opening Backpack Kicks player from Server #100

Open Rayxanber opened 2 years ago

Rayxanber commented 2 years ago

Hey there, getting an issue where occasionally (but not every time) someone opens a backpack, they get booted from the server. Got ahold of the error text that happens when it occurs, but can't figure out how to duplicate it reliably.

[08:16:06] [Netty Epoll Server IO #0/ERROR]: Encountered exception while handling in channel with name "inmis:open_backpack" java.util.ConcurrentModificationException: null at java.util.HashMap$HashIterator.nextNode(HashMap.java:1584) ~[?:?] at java.util.HashMap$KeyIterator.next(HashMap.java:1607) ~[?:?] at net.minecraft.class_4558.method_22510(class_4558.java:60) ~[server-intermediary.jar:?] at net.minecraft.class_2066.method_24362(class_2066.java:55) ~[server-intermediary.jar:?] at net.minecraft.class_2066.method_8950(class_2066.java:51) ~[server-intermediary.jar:?] at net.minecraft.class_3222$2.method_7635(class_3222.java:226) ~[server-intermediary.jar:?] at net.minecraft.class_1703.method_34246(class_1703.java:211) ~[server-intermediary.jar:?] at net.minecraft.class_1703.method_7623(class_1703.java:168) ~[server-intermediary.jar:?] at net.minecraft.class_1703.method_7596(class_1703.java:131) ~[server-intermediary.jar:?] at net.minecraft.class_3222.method_14235(class_3222.java:391) ~[server-intermediary.jar:?] at net.minecraft.class_3222.method_17355(class_3222.java:1008) ~[server-intermediary.jar:?] at draylar.inmis.item.BackpackItem.openScreen(BackpackItem.java:49) ~[inmis-2.3.2-1.17.1.jar:?] at draylar.inmis.network.ServerNetworking.receiveOpenBackpackPacket(ServerNetworking.java:46) ~[inmis-2.3.2-1.17.1.jar:?] at net.fabricmc.fabric.impl.networking.server.ServerPlayNetworkAddon.receive(ServerPlayNetworkAddon.java:89) ~[fabric-networking-api-v1-1.0.14+cf39a74318-1b4e9414af64b74e.jar:?] at net.fabricmc.fabric.impl.networking.server.ServerPlayNetworkAddon.receive(ServerPlayNetworkAddon.java:38) ~[fabric-networking-api-v1-1.0.14+cf39a74318-1b4e9414af64b74e.jar:?] at net.fabricmc.fabric.impl.networking.AbstractChanneledNetworkAddon.handle(AbstractChanneledNetworkAddon.java:100) [fabric-networking-api-v1-1.0.14+cf39a74318-1b4e9414af64b74e.jar:?] at net.fabricmc.fabric.impl.networking.server.ServerPlayNetworkAddon.handle(ServerPlayNetworkAddon.java:84) [fabric-networking-api-v1-1.0.14+cf39a74318-1b4e9414af64b74e.jar:?] at net.minecraft.class_3244.handler$blo000$handleCustomPayloadReceivedAsync(class_3244.java:1672) [server-intermediary.jar:?] at net.minecraft.class_3244.method_12075(class_3244.java) [server-intermediary.jar:?] at net.minecraft.class_2817.method_12199(class_2817.java:38) [server-intermediary.jar:?] at net.minecraft.class_2817.method_11054(class_2817.java:7) [server-intermediary.jar:?] at net.minecraft.class_2535.method_10759(class_2535.java:163) [server-intermediary.jar:?] at net.minecraft.class_2535.method_10770(class_2535.java:150) [server-intermediary.jar:?] at net.minecraft.class_2535.channelRead0(class_2535.java:53) [server-intermediary.jar:?] at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) [server-intermediary.jar:?] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [server-intermediary.jar:?] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [server-intermediary.jar:?] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [server-intermediary.jar:?] at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:310) [server-intermediary.jar:?] at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:284) [server-intermediary.jar:?] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [server-intermediary.jar:?] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [server-intermediary.jar:?] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [server-intermediary.jar:?] at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:310) [server-intermediary.jar:?] at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:284) [server-intermediary.jar:?] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [server-intermediary.jar:?] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [server-intermediary.jar:?] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [server-intermediary.jar:?] at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:310) [server-intermediary.jar:?] at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:284) [server-intermediary.jar:?] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [server-intermediary.jar:?] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [server-intermediary.jar:?] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [server-intermediary.jar:?] at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) [server-intermediary.jar:?] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [server-intermediary.jar:?] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [server-intermediary.jar:?] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [server-intermediary.jar:?] at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) [server-intermediary.jar:?] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [server-intermediary.jar:?] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [server-intermediary.jar:?] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [server-intermediary.jar:?] at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1434) [server-intermediary.jar:?] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [server-intermediary.jar:?] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [server-intermediary.jar:?] at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:965) [server-intermediary.jar:?] at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:808) [server-intermediary.jar:?] at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:408) [server-intermediary.jar:?] at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:308) [server-intermediary.jar:?] at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884) [server-intermediary.jar:?] at java.lang.Thread.run(Thread.java:831) [?:?]

Rayxanber commented 2 years ago

Additional info: it only seems to happen when the backpack is equipped in the backpack trinket slot. which is odd, because it was working fine until this week.

PeterBennyFooda commented 2 years ago

Confirmed that this still happens in 1.18.1.

Janfel commented 2 years ago

I am also experiencing this issue, which might be the same as #67. I can reproduce it with only Inmis 2.5.2-1.18.2 and Fabric API 0.48.0+1.18.2 on Minecraft 1.18.2, but it can be inconsistent. Here is my (deobfuscated) crash log https://paste.ee/p/uWZjJ