diff --git a/patches/server/1030-Add-debug-for-chunk-system-unload-crash.patch b/patches/server/1030-Add-debug-for-chunk-system-unload-crash.patch deleted file mode 100644 index 206968f773..0000000000 --- a/patches/server/1030-Add-debug-for-chunk-system-unload-crash.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Spottedleaf -Date: Wed, 19 Jun 2024 10:52:07 -0700 -Subject: [PATCH] Add debug for chunk system unload crash - -Somehow, a chunkholder is present in the unload queue after -it has been unloaded. It is likely that this is a result of -adding the chunk holder to the unload queue while it is -unloading. However, that should not be possible. - -To find out where it is being added to the unload queue, track -the last stacktrace which adds to the unload queue and check -on chunk holder remove if the holder is present in the unload queue -and log the stacktrace. - -diff --git a/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/scheduling/NewChunkHolder.java b/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/scheduling/NewChunkHolder.java -index 1dfddea4fd7e89fb6fd9fa49f7ab5e6f48e6ef3c..4068138e4ec0ccb02f5925f8b5a31381882f08e0 100644 ---- a/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/scheduling/NewChunkHolder.java -+++ b/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/scheduling/NewChunkHolder.java -@@ -749,9 +749,22 @@ public final class NewChunkHolder { - - /** Unloaded from chunk map */ - private boolean unloaded; -+ private Throwable lastUnloadAdd; - - void markUnloaded() { - this.unloaded = true; -+ if (this.inUnloadQueue) { -+ if (this.lastUnloadAdd != null) { -+ LOGGER.error("Unloaded chunkholder " + this.toString() + " while in the unload queue", this.lastUnloadAdd); -+ } else { -+ // should never happen -+ LOGGER.error("Unloaded chunkholder " + this.toString() + " while in the unload queue without a throwable"); -+ } -+ -+ // prevent crash by removing (note: we hold scheduling lock here) -+ this.inUnloadQueue = false; -+ this.scheduler.chunkHolderManager.unloadQueue.removeChunk(this.chunkX, this.chunkZ); -+ } - } - - private boolean inUnloadQueue = false; -@@ -769,12 +782,14 @@ public final class NewChunkHolder { - // ensure in unload queue - if (!this.inUnloadQueue) { - this.inUnloadQueue = true; -+ this.lastUnloadAdd = new Throwable(); - this.scheduler.chunkHolderManager.unloadQueue.addChunk(this.chunkX, this.chunkZ); - } - } else { - // ensure not in unload queue - if (this.inUnloadQueue) { - this.inUnloadQueue = false; -+ this.lastUnloadAdd = null; - this.scheduler.chunkHolderManager.unloadQueue.removeChunk(this.chunkX, this.chunkZ); - } - } diff --git a/patches/server/1031-fix-horse-inventories.patch b/patches/server/1030-fix-horse-inventories.patch similarity index 100% rename from patches/server/1031-fix-horse-inventories.patch rename to patches/server/1030-fix-horse-inventories.patch diff --git a/patches/server/1032-Only-call-EntityDamageEvents-before-actuallyHurt.patch b/patches/server/1031-Only-call-EntityDamageEvents-before-actuallyHurt.patch similarity index 100% rename from patches/server/1032-Only-call-EntityDamageEvents-before-actuallyHurt.patch rename to patches/server/1031-Only-call-EntityDamageEvents-before-actuallyHurt.patch diff --git a/patches/server/1033-Fix-entity-tracker-desync-when-new-players-are-added.patch b/patches/server/1032-Fix-entity-tracker-desync-when-new-players-are-added.patch similarity index 100% rename from patches/server/1033-Fix-entity-tracker-desync-when-new-players-are-added.patch rename to patches/server/1032-Fix-entity-tracker-desync-when-new-players-are-added.patch diff --git a/patches/server/1034-Lag-compensation-ticks.patch b/patches/server/1033-Lag-compensation-ticks.patch similarity index 100% rename from patches/server/1034-Lag-compensation-ticks.patch rename to patches/server/1033-Lag-compensation-ticks.patch diff --git a/patches/server/1035-Detail-more-information-in-watchdog-dumps.patch b/patches/server/1034-Detail-more-information-in-watchdog-dumps.patch similarity index 100% rename from patches/server/1035-Detail-more-information-in-watchdog-dumps.patch rename to patches/server/1034-Detail-more-information-in-watchdog-dumps.patch diff --git a/patches/server/1036-Write-SavedData-IO-async.patch b/patches/server/1035-Write-SavedData-IO-async.patch similarity index 100% rename from patches/server/1036-Write-SavedData-IO-async.patch rename to patches/server/1035-Write-SavedData-IO-async.patch diff --git a/patches/server/1037-Correctly-call-PlayerItemBreakEvent.patch b/patches/server/1036-Correctly-call-PlayerItemBreakEvent.patch similarity index 100% rename from patches/server/1037-Correctly-call-PlayerItemBreakEvent.patch rename to patches/server/1036-Correctly-call-PlayerItemBreakEvent.patch diff --git a/patches/server/1038-Add-ItemType-getItemRarity.patch b/patches/server/1037-Add-ItemType-getItemRarity.patch similarity index 100% rename from patches/server/1038-Add-ItemType-getItemRarity.patch rename to patches/server/1037-Add-ItemType-getItemRarity.patch diff --git a/patches/server/1039-Incremental-chunk-and-player-saving.patch b/patches/server/1038-Incremental-chunk-and-player-saving.patch similarity index 100% rename from patches/server/1039-Incremental-chunk-and-player-saving.patch rename to patches/server/1038-Incremental-chunk-and-player-saving.patch diff --git a/patches/server/1040-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch b/patches/server/1039-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch similarity index 100% rename from patches/server/1040-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch rename to patches/server/1039-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch diff --git a/patches/server/1041-Move-CraftComplexRecipe-to-extend-CraftingRecipe.patch b/patches/server/1040-Move-CraftComplexRecipe-to-extend-CraftingRecipe.patch similarity index 100% rename from patches/server/1041-Move-CraftComplexRecipe-to-extend-CraftingRecipe.patch rename to patches/server/1040-Move-CraftComplexRecipe-to-extend-CraftingRecipe.patch diff --git a/patches/server/1042-Add-CrafterCraftEvent.patch b/patches/server/1041-Add-CrafterCraftEvent.patch similarity index 100% rename from patches/server/1042-Add-CrafterCraftEvent.patch rename to patches/server/1041-Add-CrafterCraftEvent.patch diff --git a/patches/server/1043-Bundle-spark.patch b/patches/server/1042-Bundle-spark.patch similarity index 100% rename from patches/server/1043-Bundle-spark.patch rename to patches/server/1042-Bundle-spark.patch diff --git a/patches/server/1044-Add-plugin-info-at-startup.patch b/patches/server/1043-Add-plugin-info-at-startup.patch similarity index 100% rename from patches/server/1044-Add-plugin-info-at-startup.patch rename to patches/server/1043-Add-plugin-info-at-startup.patch diff --git a/patches/server/1045-Make-interaction-leniency-distance-configurable.patch b/patches/server/1044-Make-interaction-leniency-distance-configurable.patch similarity index 100% rename from patches/server/1045-Make-interaction-leniency-distance-configurable.patch rename to patches/server/1044-Make-interaction-leniency-distance-configurable.patch diff --git a/patches/server/1046-Fix-PickupStatus-getting-reset.patch b/patches/server/1045-Fix-PickupStatus-getting-reset.patch similarity index 100% rename from patches/server/1046-Fix-PickupStatus-getting-reset.patch rename to patches/server/1045-Fix-PickupStatus-getting-reset.patch