-
-
Notifications
You must be signed in to change notification settings - Fork 42
Description
服务端版本 LuminolMC Version
1.21.11正式最新构建
预期的行为 Expected behavior
不触发重启
观测到的实际行为 Observed/Actual behavior
等待区域调度器执行分割操作时触发崩溃
复现步骤 Steps/models to reproduce
等待区域调度器执行分割操作时触发崩溃
(与玩家断开连接时机相关,难以稳定复现)
插件与数据包列表。 Plugin and Datapack List.
无插件问题
更多详细信息。 The more information.
[16:41:09] [Folia Region Scheduler Thread #0/ERROR]: [io.papermc.paper.threadedregions.ThreadedRegionizer] Failed to release region
java.lang.NullPointerException: Cannot invoke "net.minecraft.server.level.ServerPlayer.chunkPosition()" because "player" is null
at io.papermc.paper.threadedregions.RegionizedWorldData$1.split(RegionizedWorldData.java:235)
at io.papermc.paper.threadedregions.RegionizedWorldData$1.split(RegionizedWorldData.java:75)
at io.papermc.paper.threadedregions.TickRegions$TickRegionData.split(TickRegions.java:347)
at io.papermc.paper.threadedregions.ThreadedRegionizer$ThreadedRegion.split(ThreadedRegionizer.java:831)
at io.papermc.paper.threadedregions.ThreadedRegionizer.onRegionRelease(ThreadedRegionizer.java:662)
at io.papermc.paper.threadedregions.ThreadedRegionizer$ThreadedRegion.markNotTicking(ThreadedRegionizer.java:987)
at io.papermc.paper.threadedregions.TickRegions$ConcreteRegionTickHandle.markNotTicking(TickRegions.java:469)
at io.papermc.paper.threadedregions.TickRegionScheduler$RegionScheduleHandle.runTick(TickRegionScheduler.java:529)
at ca.spottedleaf.concurrentutil.scheduler.EDFSchedulerThreadPool$TickThreadRunner.run(EDFSchedulerThreadPool.java:526)
at java.base/java.lang.Thread.run(Thread.java:1583)
问题分析:RegionizedWorldData.java:235 的 split() 方法中调用 player.chunkPosition() 时 player 为 null
可能原因:玩家断开后对象已清理,但仍残留在区域玩家列表中
建议修复:在 split() 中添加 null 检查