Rothes / ProtocolStringReplacer

A Spigot plugin that allows you to edit the String in packet sends to players.
GNU General Public License v3.0
43 stars 10 forks source link

不定时卡死服务器主线程 #25

Closed gundami closed 2 years ago

gundami commented 2 years ago

Describe the bug 不定时卡死服务器主线程

To Reproduce Steps to reproduce the behavior: 随机卡死

Expected behavior 如下

Stacktrace

[19:32:42 ERROR]: Ticking entity: minecraft:player, entity class: net.minecraft.server.level.EntityPlayer
[19:32:42 ERROR]: Entity status: removed: false, valid: true, alive: true, is passenger: false
[19:32:42 ERROR]: Entity UUID: 72e6d8fc-8a96-48f5-afa2-9d426ffcbd27
[19:32:42 ERROR]: Position: world: 'world' at location (1593.5, 50.1, -970.5)
[19:32:42 ERROR]: Velocity: (0.0, -1.0248092696844984, 0.0) (in blocks per tick)
[19:32:42 ERROR]: Entity AABB: AABB[1593.199999988079, 50.1, -970.8000000119209] -> [1593.800000011921, 51.899999952316286, -970.1999999880791]
[19:32:42 ERROR]: Total packets processed on the main thread for all players: 362086
[19:32:42 ERROR]: ------------------------------
[19:32:42 ERROR]: Current Thread: Server thread
[19:32:42 ERROR]:       PID: 44 | Suspended: false | Native: false | State: RUNNABLE
[19:32:42 ERROR]:       Stack:
[19:32:42 ERROR]:               it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap.containsKey(Object2ObjectOpenHashMap.java:379)
[19:32:42 ERROR]:               net.minecraft.nbt.CompoundTag.contains(CompoundTag.java:268)
[19:32:42 ERROR]:               org.bukkit.craftbukkit.v1_18_R1.inventory.CraftMetaItem.<init>(CraftMetaItem.java:363)
[19:32:42 ERROR]:               org.bukkit.craftbukkit.v1_18_R1.inventory.CraftItemStack.getItemMeta(CraftItemStack.java:508)
[19:32:42 ERROR]:               org.bukkit.craftbukkit.v1_18_R1.inventory.CraftItemStack.getItemMeta(CraftItemStack.java:275)
[19:32:42 ERROR]:               ProtocolStringReplacer v2.5.0.jar//me.rothes.protocolstringreplacer.packetlisteners.server.AbstractServerPacketListener.replaceItemStack(AbstractServerPacketListener.java:198)
[19:32:42 ERROR]:               ProtocolStringReplacer v2.5.0.jar//me.rothes.protocolstringreplacer.packetlisteners.server.itemstack.WindowItemsUpper12.process(WindowItemsUpper12.java:24)
[19:32:42 ERROR]:               ProtocolStringReplacer v2.5.0.jar//me.rothes.protocolstringreplacer.packetlisteners.server.AbstractServerPacketListener.access$100(AbstractServerPacketListener.java:26)
[19:32:42 ERROR]:               ProtocolStringReplacer v2.5.0.jar//me.rothes.protocolstringreplacer.packetlisteners.server.AbstractServerPacketListener$1.onPacketSending(AbstractServerPacketListener.java:41)
[19:32:42 ERROR]:               ProtocolLib.jar//com.comphenix.protocol.injector.SortedPacketListenerList.invokeSendingListener(SortedPacketListenerList.java:195)
[19:32:42 ERROR]:               ProtocolLib.jar//com.comphenix.protocol.injector.SortedPacketListenerList.invokePacketSending(SortedPacketListenerList.java:149)
[19:32:42 ERROR]:               ProtocolLib.jar//com.comphenix.protocol.injector.PacketFilterManager.handlePacket(PacketFilterManager.java:535)
[19:32:42 ERROR]:               ProtocolLib.jar//com.comphenix.protocol.injector.PacketFilterManager.invokePacketSending(PacketFilterManager.java:516)
[19:32:42 ERROR]:               ProtocolLib.jar//com.comphenix.protocol.injector.netty.ProtocolInjector.packetQueued(ProtocolInjector.java:346)
[19:32:42 ERROR]:               ProtocolLib.jar//com.comphenix.protocol.injector.netty.ProtocolInjector.onPacketSending(ProtocolInjector.java:308)
[19:32:42 ERROR]:               ProtocolLib.jar//com.comphenix.protocol.injector.netty.ChannelInjector.processSending(ChannelInjector.java:436)
[19:32:42 ERROR]:               ProtocolLib.jar//com.comphenix.protocol.injector.netty.ChannelInjector.access$800(ChannelInjector.java:72)
[19:32:42 ERROR]:               ProtocolLib.jar//com.comphenix.protocol.injector.netty.ChannelInjector$3.handleScheduled(ChannelInjector.java:376)
[19:32:42 ERROR]:               ProtocolLib.jar//com.comphenix.protocol.injector.netty.ChannelInjector$3.onMessageScheduled(ChannelInjector.java:346)
[19:32:42 ERROR]:               ProtocolLib.jar//com.comphenix.protocol.injector.netty.ChannelProxy$2.schedulingRunnable(ChannelProxy.java:127)
[19:32:42 ERROR]:               ProtocolLib.jar//com.comphenix.protocol.injector.netty.EventLoopProxy.execute(EventLoopProxy.java:95)
[19:32:42 ERROR]:               net.minecraft.network.Connection.writePacket(Connection.java:401)
[19:32:42 ERROR]:               net.minecraft.network.Connection.send(Connection.java:348)
[19:32:42 ERROR]:               net.minecraft.server.network.ServerGamePacketListenerImpl.send(ServerGamePacketListenerImpl.java:2021)
[19:32:42 ERROR]:               net.minecraft.server.network.ServerGamePacketListenerImpl.send(ServerGamePacketListenerImpl.java:2007)
[19:32:42 ERROR]:               net.minecraft.server.level.ServerPlayer$1.sendInitialData(ServerPlayer.java:274)
[19:32:42 ERROR]:               net.minecraft.world.inventory.AbstractContainerMenu.sendAllDataToRemote(AbstractContainerMenu.java:194)
[19:32:42 ERROR]:               net.minecraft.world.inventory.AbstractContainerMenu.setSynchronizer(AbstractContainerMenu.java:174)

Screenshots If applicable, add screenshots to help explain your problem.

Server Informations

Additional context Add any other context about the problem here.

Rothes commented 2 years ago

1.18 请使用 ProtocolLib 4.8.0: https://ci.dmulloy2.net/job/ProtocolLib/540/ jettpack 是什么服务端? 能否给出相关网站?

gundami commented 2 years ago

写错了,用的就是540的protocollib jettpack是服务端,https://gitlab.com/Titaniumtown/JettPack/-/tree/main 我稍后换paper测试一下

gundami commented 2 years ago

测试过了,换成paper还是一样的问题

Rothes commented 2 years ago

很奇怪. 在我的服务器测试中没有遇到任何问题, 并且从堆栈来看十分疑似是服务端问题. PSR 插件只调用了 ItemStack#getItemMeta() 而还没有执行其他操作. 请考虑是否为您的其他插件所导致.

gundami commented 2 years ago

疑似确实是神必插件的冲突问题,现在还在找,但确实和psr没关系