Add missing debug traces for tasks still running during shutdown

This commit is contained in:
Shane Freeder 2021-08-11 23:13:33 +01:00
parent 92cea84823
commit 22fb7c89d6
No known key found for this signature in database
GPG key ID: A3F61EA5A085289C
4 changed files with 19 additions and 11 deletions

View file

@ -29,7 +29,7 @@ index 0000000000000000000000000000000000000000..2d5494d2813b773e60ddba6790b750a9
+ }
+}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index f8446fd716a891a0b71675ccee6a6eac55fba87c..176a17582cb3b29a2ed430914ba8c0582bffe541 100644
index 454bc4c7b2e54a75dd0510263165e41cf26b1751..879074df54e56a9275957a83c92b467094e95cd4 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -14,6 +14,7 @@ import io.netty.buffer.ByteBufOutputStream;
@ -66,7 +66,7 @@ index f8446fd716a891a0b71675ccee6a6eac55fba87c..176a17582cb3b29a2ed430914ba8c058
try {
this.serverThread.join();
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 0f04ba41df95986b71524995738831223080cb88..e5c78b4e7537c8a042dcc41ca6b77c000c4317de 100644
index 0f04ba41df95986b71524995738831223080cb88..a158abfe3c4bafa1594701123b0e8118069f7e2b 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -18,6 +18,7 @@ import com.mojang.serialization.Lifecycle;
@ -85,3 +85,11 @@ index 0f04ba41df95986b71524995738831223080cb88..e5c78b4e7537c8a042dcc41ca6b77c00
}
loadPlugins();
enablePlugins(PluginLoadOrder.STARTUP);
@@ -970,6 +972,7 @@ public final class CraftServer implements Server {
plugin.getDescription().getName(),
"This plugin is not properly shutting down its async tasks when it is being shut down. This task may throw errors during the final shutdown logs and might not complete before process dies."
));
+ if (console.isDebugging()) TraceUtil.dumpTraceForThread(worker.getThread(), "still running");
}
}
// Paper end

View file

@ -64,10 +64,10 @@ index 760579921927b4c8b0f20b2611b95fd626e4b27f..3075700dfa992da81b10246fcf7c7ad1
return this.c;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index e5c78b4e7537c8a042dcc41ca6b77c000c4317de..706dad235de3b7ffe014f564e1c68f18e1edeefc 100644
index a158abfe3c4bafa1594701123b0e8118069f7e2b..c84feaac7ba4c10892b0e7dbea212f70ee40dec9 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1157,7 +1157,7 @@ public final class CraftServer implements Server {
@@ -1158,7 +1158,7 @@ public final class CraftServer implements Server {
} else if (name.equals(levelName + "_the_end")) {
worldKey = net.minecraft.world.level.World.THE_END;
} else {
@ -76,7 +76,7 @@ index e5c78b4e7537c8a042dcc41ca6b77c000c4317de..706dad235de3b7ffe014f564e1c68f18
}
WorldServer internal = (WorldServer) new WorldServer(console, console.executorService, worldSession, worlddata, worldKey, dimensionmanager, getServer().worldLoadListenerFactory.create(11),
@@ -1247,6 +1247,15 @@ public final class CraftServer implements Server {
@@ -1248,6 +1248,15 @@ public final class CraftServer implements Server {
return null;
}

View file

@ -134,7 +134,7 @@ index e87523612d0423d71eab7b9af851c1c268cdf84f..568da9686c41a41e43ede3fe15e0ca53
return this.c;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 706dad235de3b7ffe014f564e1c68f18e1edeefc..89244c152665c97cb539bea07fedd1774ed626f1 100644
index c84feaac7ba4c10892b0e7dbea212f70ee40dec9..281431475da39456809dae12dc981c18914586a1 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -18,6 +18,7 @@ import com.mojang.serialization.Lifecycle;
@ -161,7 +161,7 @@ index 706dad235de3b7ffe014f564e1c68f18e1edeefc..89244c152665c97cb539bea07fedd177
}
public boolean getCommandBlockOverride(String command) {
@@ -2497,5 +2500,11 @@ public final class CraftServer implements Server {
@@ -2498,5 +2501,11 @@ public final class CraftServer implements Server {
public com.destroystokyo.paper.entity.ai.MobGoals getMobGoals() {
return mobGoals;
}

View file

@ -263,7 +263,7 @@ index bf4051349917cc1d727fc5544237e0291cb6f1e6..15b972b4a93b8fe3655acec47bc84b0f
Main.LOGGER.info("Forcing world upgrade! {}", convertable_conversionsession.getLevelName()); // CraftBukkit
WorldUpgrader worldupgrader = new WorldUpgrader(convertable_conversionsession, datafixer, immutableset, flag);
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index d9ea784758fe52782042ce4b61faa915f895b3f8..ca8ca3ada9d8074a2b67c590a98c459563513ba6 100644
index b3ebf5cd59c827b7426069eda0cb3d47b4386792..e47c9b7b64095f2a5cf6cb365550398eeeed724f 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -515,13 +515,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@ -375,10 +375,10 @@ index ebb0d6988f87013ea5d523ab4a1b31cb669ccc43..74d826853389b8e01ffe2b076cf2b179
return this.cache.getAndMoveToFirst(ChunkCoordIntPair.pair(chunkcoordintpair.getRegionX(), chunkcoordintpair.getRegionZ()));
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 8209f188dbc932114268486a2ebd77df989a86ec..cebecee640ed5a7fc2b978e00ff7eb012228267d 100644
index e3d68a108c0ce1786ff2899e320fb2c766782055..894c7834f8e5829058e5004829a795a1004510bf 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1146,14 +1146,7 @@ public final class CraftServer implements Server {
@@ -1147,14 +1147,7 @@ public final class CraftServer implements Server {
}
worlddata.checkName(name);
worlddata.a(console.getServerModName(), console.getModded().isPresent());
@ -394,7 +394,7 @@ index 8209f188dbc932114268486a2ebd77df989a86ec..cebecee640ed5a7fc2b978e00ff7eb01
long j = BiomeManager.a(creator.seed());
List<MobSpawner> list = ImmutableList.of(new MobSpawnerPhantom(), new MobSpawnerPatrol(), new MobSpawnerCat(), new VillageSiege(), new MobSpawnerTrader(worlddata));
@@ -1170,6 +1163,14 @@ public final class CraftServer implements Server {
@@ -1171,6 +1164,14 @@ public final class CraftServer implements Server {
chunkgenerator = worlddimension.c();
}