snowgears / shopbugs

Shop bug tracker
8 stars 4 forks source link

[BUG] Endless error loop creating a 1.5 GB log file and over 12 million lines of the same error. #441

Closed FabianGal45 closed 3 days ago

FabianGal45 commented 3 weeks ago

Is there an existing issue for this?

Type of bug

Error in console

Environment

- Server Version: purpur-1.21.1-2285
- Shop Version: 1.9.0.1

Server startup log

https://paste.gg/p/anonymous/77d2f07e1219486e95615464ed91390d

Shop config files

https://paste.gg/p/anonymous/9e3d148066e648279a33f30c73209e06

Error log (if applicable)

No response

Bug description

This issue is quite peculiar as I have no idea what causes it or what might be triggering it. The error starts to loop at random times and it seems to have these lines in common:

[11:21:17] [Server thread/INFO]: [NBTAPI] [NBTAPI] Found Minecraft: 1.21.1! Trying to find NMS support
[11:21:17] [Server thread/WARN]: [NBTAPI] [NBTAPI] This Server-Version(1.21.1-R0.1-SNAPSHOT) is not supported by this NBT-API Version(2.12.4) located in Shop. The NBT-API will try to work as good as it can! Some functions may not work!
[11:21:17] [Server thread/INFO]: [NBTAPI] [NBTAPI] Using the plugin 'Shop' to create a bStats instance!
[11:21:17] [Server thread/ERROR]: Could not pass event ChunkLoadEvent to Shop v1.9.0.1

All I know is that a few shops were created by other players including me. My shops were using an Ender chest, barrel, shulkerbox to showcase the plugin's use.

One strange behaviour of this error loop is that as soon as I join the server (owner and with OP privileges) the errors will simply stop.

I cannot find what might trigger it or reproduce this issue but I am hoping someone might be familiar with it or could investigate it.

Steps to reproduce

  1. Setup plugin
  2. Release to players
  3. Let players create shops.
  4. Server would randomly start to loop the same error and cause lag making it unplayable.

Expected behaviour

The error should be thrown, however have a limit so that it doesn't loop forever.

Actual behaviour

The logs are being filled with over 12 million lines of the same error:

[11:21:17] [Server thread/ERROR]: Could not pass event ChunkLoadEvent to Shop v1.9.0.1
java.lang.NoClassDefFoundError: Could not initialize class com.snowgears.shop.artifact.nbtapi.NBTReflectionUtil
    at Shop-1.9.0.1.jar/com.snowgears.shop.artifact.nbtapi.NBTFile.<init>(NBTFile.java:34) ~[Shop-1.9.0.1.jar:?]
    at Shop-1.9.0.1.jar/com.snowgears.shop.handler.EnderChestHandler.getInventory(EnderChestHandler.java:55) ~[Shop-1.9.0.1.jar:?]
    at Shop-1.9.0.1.jar/com.snowgears.shop.shop.AbstractShop.getInventory(AbstractShop.java:225) ~[Shop-1.9.0.1.jar:?]
    at Shop-1.9.0.1.jar/com.snowgears.shop.shop.AbstractShop.calculateStock(AbstractShop.java:163) ~[Shop-1.9.0.1.jar:?]
    at Shop-1.9.0.1.jar/com.snowgears.shop.shop.AbstractShop.setGuiIcon(AbstractShop.java:356) ~[Shop-1.9.0.1.jar:?]
    at Shop-1.9.0.1.jar/com.snowgears.shop.shop.AbstractShop.load(AbstractShop.java:141) ~[Shop-1.9.0.1.jar:?]
    at Shop-1.9.0.1.jar/com.snowgears.shop.handler.ShopHandler.processUnloadedShopsInChunk(ShopHandler.java:303) ~[Shop-1.9.0.1.jar:?]
    at Shop-1.9.0.1.jar/com.snowgears.shop.listener.ShopListener.onChunkLoad(ShopListener.java:435) ~[Shop-1.9.0.1.jar:?]
    at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor730.execute(Unknown Source) ~[?:?]
    at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:77) ~[paper-mojangapi-1.21.1-R0.1-SNAPSHOT.jar:?]
    at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[paper-mojangapi-1.21.1-R0.1-SNAPSHOT.jar:1.21.1-2285-abf2f21]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[paper-mojangapi-1.21.1-R0.1-SNAPSHOT.jar:?]
    at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:131) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:628) ~[paper-mojangapi-1.21.1-R0.1-SNAPSHOT.jar:?]
    at net.minecraft.world.level.chunk.LevelChunk.loadCallback(LevelChunk.java:665) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at ca.spottedleaf.moonrise.common.util.ChunkSystem.onChunkBorder(ChunkSystem.java:91) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at ca.spottedleaf.moonrise.patches.chunk_system.scheduling.NewChunkHolder.handleFullStatusChange(NewChunkHolder.java:1281) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at ca.spottedleaf.moonrise.patches.chunk_system.scheduling.ChunkHolderManager.processPendingFullUpdate(ChunkHolderManager.java:1364) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at ca.spottedleaf.moonrise.patches.chunk_system.scheduling.ChunkHolderManager.processTicketUpdates(ChunkHolderManager.java:1348) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at ca.spottedleaf.moonrise.patches.chunk_system.scheduling.ChunkHolderManager.processTicketUpdates(ChunkHolderManager.java:1303) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at ca.spottedleaf.moonrise.patches.chunk_system.scheduling.ChunkTaskScheduler.scheduleTickingState(ChunkTaskScheduler.java:414) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at ca.spottedleaf.moonrise.patches.chunk_system.scheduling.ChunkTaskScheduler.scheduleChunkLoad(ChunkTaskScheduler.java:597) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at net.minecraft.server.level.ServerChunkCache.syncLoad(ServerChunkCache.java:94) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at net.minecraft.server.level.ServerChunkCache.getChunkFallback(ServerChunkCache.java:126) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at net.minecraft.server.level.ServerChunkCache.getChunk(ServerChunkCache.java:235) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at net.minecraft.world.level.Level.getChunk(Level.java:1047) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at net.minecraft.world.level.Level.getBlockState(Level.java:1321) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at org.bukkit.craftbukkit.block.CraftBlock.getNMS(CraftBlock.java:78) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at org.bukkit.craftbukkit.block.CraftBlockStates.getBlockState(CraftBlockStates.java:247) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at org.bukkit.craftbukkit.block.CraftBlockStates.getBlockState(CraftBlockStates.java:239) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at org.bukkit.craftbukkit.block.CraftBlock.getState(CraftBlock.java:334) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at Shop-1.9.0.1.jar/com.snowgears.shop.shop.AbstractShop$1.run(AbstractShop.java:426) ~[Shop-1.9.0.1.jar:?]
    at org.bukkit.craftbukkit.scheduler.CraftTask.run(CraftTask.java:86) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at org.bukkit.craftbukkit.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:475) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1762) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at net.minecraft.server.dedicated.DedicatedServer.tickChildren(DedicatedServer.java:509) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1634) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1334) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:333) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?]
Caused by: java.lang.ExceptionInInitializerError: Exception java.lang.NullPointerException [in thread "Server thread"]
    at java.base/java.util.ImmutableCollections$MapN.probe(ImmutableCollections.java:1328) ~[?:?]
    at java.base/java.util.ImmutableCollections$MapN.get(ImmutableCollections.java:1242) ~[?:?]
    at java.base/java.util.ImmutableCollections$AbstractImmutableMap.getOrDefault(ImmutableCollections.java:1097) ~[?:?]
    at io.papermc.paper.pluginremap.reflect.PaperReflection.mapDeclaredFieldName(PaperReflection.java:79) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at io.papermc.reflectionrewriter.runtime.AbstractDefaultRulesReflectionProxy.getDeclaredField(AbstractDefaultRulesReflectionProxy.java:90) ~[reflection-rewriter-runtime-0.0.3.jar:?]
    at io.papermc.paper.pluginremap.reflect.PaperReflectionHolder.getDeclaredField(Unknown Source) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at Shop-1.9.0.1.jar/com.snowgears.shop.artifact.nbtapi.NBTReflectionUtil.<clinit>(NBTReflectionUtil.java:59) ~[Shop-1.9.0.1.jar:?]
    at Shop-1.9.0.1.jar/com.snowgears.shop.artifact.nbtapi.NBTFile.<init>(NBTFile.java:34) ~[Shop-1.9.0.1.jar:?]
    at Shop-1.9.0.1.jar/com.snowgears.shop.handler.EnderChestHandler.getInventory(EnderChestHandler.java:55) ~[Shop-1.9.0.1.jar:?]
    at Shop-1.9.0.1.jar/com.snowgears.shop.shop.AbstractShop.getInventory(AbstractShop.java:225) ~[Shop-1.9.0.1.jar:?]
    at Shop-1.9.0.1.jar/com.snowgears.shop.shop.AbstractShop.calculateStock(AbstractShop.java:163) ~[Shop-1.9.0.1.jar:?]
    at Shop-1.9.0.1.jar/com.snowgears.shop.shop.AbstractShop.setGuiIcon(AbstractShop.java:356) ~[Shop-1.9.0.1.jar:?]
    at Shop-1.9.0.1.jar/com.snowgears.shop.shop.AbstractShop.load(AbstractShop.java:141) ~[Shop-1.9.0.1.jar:?]
    at Shop-1.9.0.1.jar/com.snowgears.shop.handler.ShopHandler.processUnloadedShopsInChunk(ShopHandler.java:303) ~[Shop-1.9.0.1.jar:?]
    at Shop-1.9.0.1.jar/com.snowgears.shop.listener.ShopListener.onChunkLoad(ShopListener.java:435) ~[Shop-1.9.0.1.jar:?]
    at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor730.execute(Unknown Source) ~[?:?]
    at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:77) ~[paper-mojangapi-1.21.1-R0.1-SNAPSHOT.jar:?]
    at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[paper-mojangapi-1.21.1-R0.1-SNAPSHOT.jar:1.21.1-2285-abf2f21]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[paper-mojangapi-1.21.1-R0.1-SNAPSHOT.jar:?]
    at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:131) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:628) ~[paper-mojangapi-1.21.1-R0.1-SNAPSHOT.jar:?]
    at net.minecraft.world.level.chunk.LevelChunk.loadCallback(LevelChunk.java:665) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at ca.spottedleaf.moonrise.common.util.ChunkSystem.onChunkBorder(ChunkSystem.java:91) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at ca.spottedleaf.moonrise.patches.chunk_system.scheduling.NewChunkHolder.handleFullStatusChange(NewChunkHolder.java:1281) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at ca.spottedleaf.moonrise.patches.chunk_system.scheduling.ChunkHolderManager.processPendingFullUpdate(ChunkHolderManager.java:1364) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at ca.spottedleaf.moonrise.patches.chunk_system.scheduling.ChunkHolderManager.processTicketUpdates(ChunkHolderManager.java:1348) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at ca.spottedleaf.moonrise.patches.chunk_system.scheduling.ChunkHolderManager.processTicketUpdates(ChunkHolderManager.java:1303) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at net.minecraft.server.level.ServerChunkCache.runDistanceManagerUpdates(ServerChunkCache.java:341) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at net.minecraft.server.level.ServerChunkCache$MainThreadExecutor.pollTask(ServerChunkCache.java:743) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:135) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at net.minecraft.server.level.ServerChunkCache$MainThreadExecutor.managedBlock(ServerChunkCache.java:707) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at net.minecraft.server.level.ServerChunkCache.syncLoad(ServerChunkCache.java:101) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at net.minecraft.server.level.ServerChunkCache.getChunkFallback(ServerChunkCache.java:126) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at net.minecraft.server.level.ServerChunkCache.getChunk(ServerChunkCache.java:235) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at net.minecraft.world.level.Level.getChunk(Level.java:1047) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at net.minecraft.world.level.Level.getBlockState(Level.java:1321) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at org.bukkit.craftbukkit.block.CraftBlock.getType(CraftBlock.java:229) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at Waystones-1.1.13.jar/eu.ovmc.waystones.menusystem.menues.main.WaystonesSplitMenu.setMenuItems(WaystonesSplitMenu.java:198) ~[Waystones-1.1.13.jar:?]
    at Waystones-1.1.13.jar/eu.ovmc.waystones.menusystem.Menu.open(Menu.java:45) ~[Waystones-1.1.13.jar:?]
    at Waystones-1.1.13.jar/eu.ovmc.waystones.events.WaystoneInteract.PlayerInteract(WaystoneInteract.java:115) ~[Waystones-1.1.13.jar:?]
    at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor811.execute(Unknown Source) ~[?:?]
    at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:77) ~[paper-mojangapi-1.21.1-R0.1-SNAPSHOT.jar:?]
    at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[paper-mojangapi-1.21.1-R0.1-SNAPSHOT.jar:1.21.1-2285-abf2f21]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[paper-mojangapi-1.21.1-R0.1-SNAPSHOT.jar:?]
    at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:131) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:628) ~[paper-mojangapi-1.21.1-R0.1-SNAPSHOT.jar:?]
    at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:602) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at net.minecraft.server.level.ServerPlayerGameMode.useItemOn(ServerPlayerGameMode.java:538) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at net.minecraft.server.network.ServerGamePacketListenerImpl.handleUseItemOn(ServerGamePacketListenerImpl.java:1949) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at net.minecraft.network.protocol.game.ServerboundUseItemOnPacket.handle(ServerboundUseItemOnPacket.java:44) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at net.minecraft.network.protocol.game.ServerboundUseItemOnPacket.handle(ServerboundUseItemOnPacket.java:11) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$0(PacketUtils.java:56) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at net.minecraft.server.TickTask.run(TickTask.java:18) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:151) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1573) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:201) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:125) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1550) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1543) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:135) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at net.minecraft.server.MinecraftServer.managedBlock(MinecraftServer.java:1502) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1509) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1354) ~[purpur-1.21.1.jar:1.21.1-2285-abf2f21]
    ... 2 more

Other information

No response

OstlerDev commented 3 weeks ago

I believe I have fixed this bug. It will be released with 1.9.1.0.

Fix: Updated NBTAPI to 2.13.2 to support 1.21+

OstlerDev commented 3 days ago

Released 1.9.1.0