LeavesMC / Lumina

A new generation of multi-threaded servers designed for large technical servers. 为大型生电服务器设计的新一代多线程服务端
https://leavesmc.org/software/lumina
GNU General Public License v3.0
78 stars 13 forks source link

毫无征兆出现疑似线程安全问题 #35

Open PlaidMrdeer opened 1 month ago

PlaidMrdeer commented 1 month ago

Accessing entity state off owning region's thread java.lang.Throwable: null at io.papermc.paper.util.TickThread.ensureTickThread(TickThread.java:78) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at org.bukkit.craftbukkit.entity.CraftFallingBlock.getHandle(CraftFallingBlock.java:26) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at org.bukkit.craftbukkit.entity.CraftFallingBlock.getHandle(CraftFallingBlock.java:11) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:39) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:131) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:627) ~[lumina-api-1.20.6-R0.1-SNAPSHOT.jar:?] at org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(CraftEventFactory.java:1365) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(CraftEventFactory.java:1357) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at net.minecraft.world.entity.item.FallingBlockEntity.tick(FallingBlockEntity.java:214) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at net.minecraft.server.level.ServerLevel.tickNonPassenger(ServerLevel.java:1546) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at net.minecraft.world.level.Level.guardEntityTick(Level.java:1449) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at net.minecraft.server.level.ServerLevel.lambda$tick$8(ServerLevel.java:1008) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at io.papermc.paper.threadedregions.RegionizedWorldData.forEachTickingEntity(RegionizedWorldData.java:623) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at net.minecraft.server.level.ServerLevel.tick(ServerLevel.java:987) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1852) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at net.minecraft.server.dedicated.DedicatedServer.tickChildren(DedicatedServer.java:478) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1690) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at io.papermc.paper.threadedregions.TickRegions$ConcreteRegionTickHandle.tickRegion(TickRegions.java:408) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at io.papermc.paper.threadedregions.TickRegionScheduler$RegionScheduleHandle.runTick(TickRegionScheduler.java:404) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at ca.spottedleaf.concurrentutil.scheduler.SchedulerThreadPool$TickThreadRunner.run(SchedulerThreadPool.java:525) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?] [11:40:18] [Region Scheduler Thread #0/ERROR]: Entity threw exception at world_the_end:0.5,62.0,3.115000009536743 java.lang.IllegalStateException: Accessing entity state off owning region's thread at io.papermc.paper.util.TickThread.ensureTickThread(TickThread.java:79) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at org.bukkit.craftbukkit.entity.CraftFallingBlock.getHandle(CraftFallingBlock.java:26) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at org.bukkit.craftbukkit.entity.CraftFallingBlock.getHandle(CraftFallingBlock.java:11) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:39) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:131) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:627) ~[lumina-api-1.20.6-R0.1-SNAPSHOT.jar:?] at org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(CraftEventFactory.java:1365) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(CraftEventFactory.java:1357) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at net.minecraft.world.entity.item.FallingBlockEntity.tick(FallingBlockEntity.java:214) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at net.minecraft.server.level.ServerLevel.tickNonPassenger(ServerLevel.java:1546) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at net.minecraft.world.level.Level.guardEntityTick(Level.java:1449) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at net.minecraft.server.level.ServerLevel.lambda$tick$8(ServerLevel.java:1008) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at io.papermc.paper.threadedregions.RegionizedWorldData.forEachTickingEntity(RegionizedWorldData.java:623) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at net.minecraft.server.level.ServerLevel.tick(ServerLevel.java:987) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1852) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at net.minecraft.server.dedicated.DedicatedServer.tickChildren(DedicatedServer.java:478) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1690) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at io.papermc.paper.threadedregions.TickRegions$ConcreteRegionTickHandle.tickRegion(TickRegions.java:408) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at io.papermc.paper.threadedregions.TickRegionScheduler$RegionScheduleHandle.runTick(TickRegionScheduler.java:404) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at ca.spottedleaf.concurrentutil.scheduler.SchedulerThreadPool$TickThreadRunner.run(SchedulerThreadPool.java:525) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?] [11:40:18] [Region Scheduler Thread #0/ERROR]: Thread Region Scheduler Thread #0 failed main thread check: Accessing entity state off owning region's thread java.lang.Throwable: null at io.papermc.paper.util.TickThread.ensureTickThread(TickThread.java:78) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at org.bukkit.craftbukkit.entity.CraftFallingBlock.getHandle(CraftFallingBlock.java:26) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at org.bukkit.craftbukkit.entity.CraftFallingBlock.getHandle(CraftFallingBlock.java:11) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:39) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:131) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:627) ~[lumina-api-1.20.6-R0.1-SNAPSHOT.jar:?] at org.bukkit.craftbukkit.event.CraftEventFactory.callEntityRemoveEvent(CraftEventFactory.java:2114) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at net.minecraft.world.entity.Entity.setRemoved(Entity.java:5773) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at net.minecraft.world.entity.Entity.remove(Entity.java:761) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at net.minecraft.world.entity.Entity.discard(Entity.java:696) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at net.minecraft.world.level.Level.guardEntityTick(Level.java:1457) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at net.minecraft.server.level.ServerLevel.lambda$tick$8(ServerLevel.java:1008) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at io.papermc.paper.threadedregions.RegionizedWorldData.forEachTickingEntity(RegionizedWorldData.java:623) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at net.minecraft.server.level.ServerLevel.tick(ServerLevel.java:987) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1852) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at net.minecraft.server.dedicated.DedicatedServer.tickChildren(DedicatedServer.java:478) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1690) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at io.papermc.paper.threadedregions.TickRegions$ConcreteRegionTickHandle.tickRegion(TickRegions.java:408) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at io.papermc.paper.threadedregions.TickRegionScheduler$RegionScheduleHandle.runTick(TickRegionScheduler.java:404) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at ca.spottedleaf.concurrentutil.scheduler.SchedulerThreadPool$TickThreadRunner.run(SchedulerThreadPool.java:525) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?] [11:40:18] [Region Scheduler Thread #0/ERROR]: [io.papermc.paper.threadedregions.TickRegionScheduler] Region #3 centered at chunk [0, 0] in world 'world_the_end' failed to tick: net.minecraft.ReportedException: Exception ticking world at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1863) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at net.minecraft.server.dedicated.DedicatedServer.tickChildren(DedicatedServer.java:478) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1690) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at io.papermc.paper.threadedregions.TickRegions$ConcreteRegionTickHandle.tickRegion(TickRegions.java:408) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at io.papermc.paper.threadedregions.TickRegionScheduler$RegionScheduleHandle.runTick(TickRegionScheduler.java:404) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at ca.spottedleaf.concurrentutil.scheduler.SchedulerThreadPool$TickThreadRunner.run(SchedulerThreadPool.java:525) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?] Caused by: java.lang.IllegalStateException: Accessing entity state off owning region's thread at io.papermc.paper.util.TickThread.ensureTickThread(TickThread.java:79) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at org.bukkit.craftbukkit.entity.CraftFallingBlock.getHandle(CraftFallingBlock.java:26) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at org.bukkit.craftbukkit.entity.CraftFallingBlock.getHandle(CraftFallingBlock.java:11) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:39) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:131) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:627) ~[lumina-api-1.20.6-R0.1-SNAPSHOT.jar:?] at org.bukkit.craftbukkit.event.CraftEventFactory.callEntityRemoveEvent(CraftEventFactory.java:2114) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at net.minecraft.world.entity.Entity.setRemoved(Entity.java:5773) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at net.minecraft.world.entity.Entity.remove(Entity.java:761) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at net.minecraft.world.entity.Entity.discard(Entity.java:696) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at net.minecraft.world.level.Level.guardEntityTick(Level.java:1457) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at net.minecraft.server.level.ServerLevel.lambda$tick$8(ServerLevel.java:1008) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at io.papermc.paper.threadedregions.RegionizedWorldData.forEachTickingEntity(RegionizedWorldData.java:623) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at net.minecraft.server.level.ServerLevel.tick(ServerLevel.java:987) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1852) ~[lumina-1.20.6.jar:1.20.6-DEV-17ce0c5] ... 6 more

MC-XiaoHei commented 1 month ago

请提供更多上下文,例如出现了什么并发的可见问题

PlaidMrdeer commented 1 month ago

请提供更多上下文,例如出现了什么并发的可见问题

好像没法追踪,从服务端开启报了这个错,然后就关闭了,以下是日志文件 latest.log

MC-XiaoHei commented 1 month ago

疑似刷沙机,我等看看