Note world as well when a region fails to tick or execute tasks

Should always include the world if we're including the center
position
This commit is contained in:
Spottedleaf 2023-04-03 21:22:40 -07:00
parent f8a17538e6
commit 445613b931
1 changed files with 5 additions and 3 deletions

View File

@ -7643,10 +7643,10 @@ index 0000000000000000000000000000000000000000..29f9fed5f02530b3256e6b993e607d46
+}
diff --git a/src/main/java/io/papermc/paper/threadedregions/TickRegionScheduler.java b/src/main/java/io/papermc/paper/threadedregions/TickRegionScheduler.java
new file mode 100644
index 0000000000000000000000000000000000000000..9a729994cc7d51d5e5fcb78e32d3a97d39d04611
index 0000000000000000000000000000000000000000..ee9f5e1f3387998cddbeb1dc6dc6e2b1ea7cd670
--- /dev/null
+++ b/src/main/java/io/papermc/paper/threadedregions/TickRegionScheduler.java
@@ -0,0 +1,563 @@
@@ -0,0 +1,565 @@
+package io.papermc.paper.threadedregions;
+
+import ca.spottedleaf.concurrentutil.scheduler.SchedulerThreadPool;
@ -7654,6 +7654,7 @@ index 0000000000000000000000000000000000000000..9a729994cc7d51d5e5fcb78e32d3a97d
+import com.mojang.logging.LogUtils;
+import io.papermc.paper.util.TickThread;
+import net.minecraft.server.MinecraftServer;
+import net.minecraft.server.level.ServerLevel;
+import net.minecraft.world.level.ChunkPos;
+import org.slf4j.Logger;
+import java.lang.management.ManagementFactory;
@ -7833,8 +7834,9 @@ index 0000000000000000000000000000000000000000..9a729994cc7d51d5e5fcb78e32d3a97d
+ this.scheduler.halt(false, 0L);
+
+ final ChunkPos center = handle.region == null ? null : handle.region.region.getCenterChunk();
+ final ServerLevel world = handle.region == null ? null : handle.region.world;
+
+ LOGGER.error("Region #" + (handle.region == null ? -1L : handle.region.id) + " centered at chunk " + center + " failed to " + (executingTasks ? "execute tasks" : "tick") + ":", thr);
+ LOGGER.error("Region #" + (handle.region == null ? -1L : handle.region.id) + " centered at chunk " + center + " in world '" + (world == null ? "null" : world.getWorld().getName()) + "' failed to " + (executingTasks ? "execute tasks" : "tick") + ":", thr);
+
+ MinecraftServer.getServer().stopServer();
+ }