mirror of
https://github.com/PaperMC/Paper.git
synced 2025-08-01 20:52:12 -07:00
moar fixes
This commit is contained in:
@@ -306,12 +306,12 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||
@@ -0,0 +0,0 @@
|
||||
+package com.destroystokyo.paper.io;
|
||||
+
|
||||
+import com.mojang.logging.LogUtils;
|
||||
+import net.minecraft.nbt.CompoundTag;
|
||||
+import net.minecraft.server.MinecraftServer;
|
||||
+import net.minecraft.server.level.ServerLevel;
|
||||
+import net.minecraft.world.level.ChunkPos;
|
||||
+import net.minecraft.world.level.chunk.storage.RegionFile;
|
||||
+import org.apache.logging.log4j.Logger;
|
||||
+import org.slf4j.Logger;
|
||||
+
|
||||
+import java.io.IOException;
|
||||
+import java.util.concurrent.CompletableFuture;
|
||||
@@ -343,7 +343,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||
+ */
|
||||
+public final class PaperFileIOThread extends QueueExecutorThread {
|
||||
+
|
||||
+ public static final Logger LOGGER = MinecraftServer.LOGGER;
|
||||
+ public static final Logger LOGGER = LogUtils.getLogger();
|
||||
+ public static final CompoundTag FAILURE_VALUE = new CompoundTag();
|
||||
+
|
||||
+ public static final class Holder {
|
||||
@@ -362,7 +362,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||
+ this.setName("Paper RegionFile IO Thread");
|
||||
+ this.setPriority(Thread.NORM_PRIORITY - 1); // we keep priority close to normal because threads can wait on us
|
||||
+ this.setUncaughtExceptionHandler((final Thread unused, final Throwable thr) -> {
|
||||
+ LOGGER.fatal("Uncaught exception thrown from IO thread, report this!", thr);
|
||||
+ LOGGER.error("Uncaught exception thrown from IO thread, report this!", thr);
|
||||
+ });
|
||||
+ }
|
||||
+
|
||||
@@ -717,7 +717,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||
+ if (throwable instanceof ThreadDeath) {
|
||||
+ throw (ThreadDeath)throwable;
|
||||
+ }
|
||||
+ LOGGER.fatal("Failed to execute general task on IO thread " + IOUtil.genericToString(this.run), throwable);
|
||||
+ LOGGER.error("Failed to execute general task on IO thread " + IOUtil.genericToString(this.run), throwable);
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
@@ -816,7 +816,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||
+ if (thr instanceof ThreadDeath) {
|
||||
+ throw (ThreadDeath)thr;
|
||||
+ }
|
||||
+ LOGGER.fatal("Failed to read chunk data for task: " + this.toString(), thr);
|
||||
+ LOGGER.error("Failed to read chunk data for task: " + this.toString(), thr);
|
||||
+ // fall through to complete with null data
|
||||
+ }
|
||||
+ read.readFuture.complete(compound);
|
||||
@@ -874,7 +874,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||
+ if (thr instanceof ThreadDeath) {
|
||||
+ throw (ThreadDeath)thr;
|
||||
+ }
|
||||
+ LOGGER.fatal("Failed to write chunk data for task: " + this.toString(), thr);
|
||||
+ LOGGER.error("Failed to write chunk data for task: " + this.toString(), thr);
|
||||
+ failedWrite = true;
|
||||
+ }
|
||||
+
|
||||
@@ -1222,8 +1222,8 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||
@@ -0,0 +0,0 @@
|
||||
+package com.destroystokyo.paper.io;
|
||||
+
|
||||
+import net.minecraft.server.MinecraftServer;
|
||||
+import org.apache.logging.log4j.Logger;
|
||||
+import com.mojang.logging.LogUtils;
|
||||
+import org.slf4j.Logger;
|
||||
+
|
||||
+import java.util.concurrent.ConcurrentLinkedQueue;
|
||||
+import java.util.concurrent.atomic.AtomicBoolean;
|
||||
@@ -1231,7 +1231,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||
+
|
||||
+public class QueueExecutorThread<T extends PrioritizedTaskQueue.PrioritizedTask & Runnable> extends Thread {
|
||||
+
|
||||
+ private static final Logger LOGGER = MinecraftServer.LOGGER;
|
||||
+ private static final Logger LOGGER = LogUtils.getLogger();
|
||||
+
|
||||
+ protected final PrioritizedTaskQueue<T> queue;
|
||||
+ protected final long spinWaitTime;
|
||||
@@ -1342,7 +1342,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||
+ if (throwable instanceof ThreadDeath) {
|
||||
+ throw (ThreadDeath)throwable;
|
||||
+ }
|
||||
+ LOGGER.fatal("Exception thrown from prioritized runnable task in thread '" + this.getName() + "': " + IOUtil.genericToString(task), throwable);
|
||||
+ LOGGER.error("Exception thrown from prioritized runnable task in thread '" + this.getName() + "': " + IOUtil.genericToString(task), throwable);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
@@ -1876,16 +1876,16 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||
+ public static void dumpAllChunkLoadInfo() {
|
||||
+ ChunkInfo[] chunks = getChunkInfos();
|
||||
+ if (chunks.length > 0) {
|
||||
+ PaperFileIOThread.LOGGER.log(Level.ERROR, "Chunk wait task info below: ");
|
||||
+ PaperFileIOThread.LOGGER.error("Chunk wait task info below: ");
|
||||
+
|
||||
+ for (final ChunkInfo chunkInfo : chunks) {
|
||||
+ final long key = IOUtil.getCoordinateKey(chunkInfo.chunkX, chunkInfo.chunkZ);
|
||||
+ final ChunkLoadTask loadTask = chunkInfo.world.asyncChunkTaskManager.chunkLoadTasks.get(key);
|
||||
+ final ChunkSaveTask saveTask = chunkInfo.world.asyncChunkTaskManager.chunkSaveTasks.get(key);
|
||||
+
|
||||
+ PaperFileIOThread.LOGGER.log(Level.ERROR, chunkInfo.chunkX + "," + chunkInfo.chunkZ + " in '" + chunkInfo.world.getWorld().getName() + ":");
|
||||
+ PaperFileIOThread.LOGGER.log(Level.ERROR, "Load Task - " + (loadTask == null ? "none" : loadTask.toString()));
|
||||
+ PaperFileIOThread.LOGGER.log(Level.ERROR, "Save Task - " + (saveTask == null ? "none" : saveTask.toString()));
|
||||
+ PaperFileIOThread.LOGGER.error(chunkInfo.chunkX + "," + chunkInfo.chunkZ + " in '" + chunkInfo.world.getWorld().getName() + ":");
|
||||
+ PaperFileIOThread.LOGGER.error("Load Task - " + (loadTask == null ? "none" : loadTask.toString()));
|
||||
+ PaperFileIOThread.LOGGER.error("Save Task - " + (saveTask == null ? "none" : saveTask.toString()));
|
||||
+ // log current status of chunk to indicate whether we're waiting on generation or loading
|
||||
+ ChunkHolder chunkHolder = chunkInfo.world.getChunkSource().chunkMap.getVisibleChunkIfPresent(key);
|
||||
+
|
||||
@@ -1908,14 +1908,14 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||
+ seenChunks.add(chunkHolder);
|
||||
+ String indentStr = StringUtils.repeat(" ", indent);
|
||||
+ if (chunkHolder == null) {
|
||||
+ PaperFileIOThread.LOGGER.log(Level.ERROR, indentStr + "Chunk Holder - null for (" + x +"," + z +")");
|
||||
+ PaperFileIOThread.LOGGER.error(indentStr + "Chunk Holder - null for (" + x +"," + z +")");
|
||||
+ } else {
|
||||
+ ChunkAccess chunk = chunkHolder.getLastAvailable();
|
||||
+ ChunkStatus holderStatus = chunkHolder.getChunkHolderStatus();
|
||||
+ PaperFileIOThread.LOGGER.log(Level.ERROR, indentStr + "Chunk Holder - non-null");
|
||||
+ PaperFileIOThread.LOGGER.log(Level.ERROR, indentStr + "Chunk Status - " + ((chunk == null) ? "null chunk" : chunk.getStatus().toString()));
|
||||
+ PaperFileIOThread.LOGGER.log(Level.ERROR, indentStr + "Chunk Ticket Status - " + ChunkHolder.getStatus(chunkHolder.getTicketLevel()));
|
||||
+ PaperFileIOThread.LOGGER.log(Level.ERROR, indentStr + "Chunk Holder Status - " + ((holderStatus == null) ? "null" : holderStatus.toString()));
|
||||
+ PaperFileIOThread.LOGGER.error(indentStr + "Chunk Holder - non-null");
|
||||
+ PaperFileIOThread.LOGGER.error(indentStr + "Chunk Status - " + ((chunk == null) ? "null chunk" : chunk.getStatus().toString()));
|
||||
+ PaperFileIOThread.LOGGER.error(indentStr + "Chunk Ticket Status - " + ChunkHolder.getStatus(chunkHolder.getTicketLevel()));
|
||||
+ PaperFileIOThread.LOGGER.error(indentStr + "Chunk Holder Status - " + ((holderStatus == null) ? "null" : holderStatus.toString()));
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
|
Reference in New Issue
Block a user