
Shutdown freezes upon closing storage
Closed this issue ยท 2 comments
Description
I run a Fabric Minecraft 1.21.1 server and recently added LuckPerms. But ever since I did, any time I shut down (or restart) the server, it hangs for about a minute on "Closing storage..." and then spits out the following error:
[00:43:33] [Server thread/INFO]: Starting shutdown process...
[00:43:33] [Server thread/INFO]: Closing storage...
[00:44:33] [Server thread/ERROR]: Timed out waiting for the LuckPerms worker thread pool to terminate
[00:44:33] [Server thread/WARN]: Thread luckperms-worker-8 is blocked, and may be the reason for the slow shutdown!
[email protected]/jdk.internal.misc.Unsafe.park(Native Method)
[email protected]/java.util.concurrent.locks.LockSupport.park(Unknown Source)
[email protected]/java.util.concurrent.CompletableFuture$Signaller.block(Unknown Source)
[email protected]/java.util.concurrent.ForkJoinPool.compensatedBlock(Unknown Source)
[email protected]/java.util.concurrent.ForkJoinPool.managedBlock(Unknown Source)
[email protected]/java.util.concurrent.CompletableFuture.waitingGet(Unknown Source)
[email protected]/java.util.concurrent.CompletableFuture.join(Unknown Source)
knot//net.minecraft.class_1255.method_19537(class_1255.java:91)
knot//me.lucko.luckperms.fabric.FabricSchedulerAdapter.lambda$new$1(FabricSchedulerAdapter.java:37)
knot//me.lucko.luckperms.fabric.FabricSchedulerAdapter$$Lambda/0x0000025a3f62d310.execute(Unknown Source)
knot//me.lucko.luckperms.fabric.listeners.FabricCommandListUpdater.sendUpdate(FabricCommandListUpdater.java:93)
knot//me.lucko.luckperms.fabric.listeners.FabricCommandListUpdater.access$100(FabricCommandListUpdater.java:48)
knot//me.lucko.luckperms.fabric.listeners.FabricCommandListUpdater$SendBuffer.perform(FabricCommandListUpdater.java:112)
knot//me.lucko.luckperms.fabric.listeners.FabricCommandListUpdater$SendBuffer.perform(FabricCommandListUpdater.java:102)
knot//me.lucko.luckperms.common.cache.BufferedRequest$$Lambda/0x0000025a401f7878.get(Unknown Source)
knot//me.lucko.luckperms.common.cache.BufferedRequest$Processor$CompletionTask.run(BufferedRequest.java:190)
[email protected]/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(Unknown Source)
[email protected]/java.util.concurrent.ForkJoinTask.doExec(Unknown Source)
[email protected]/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Unknown Source)
[email protected]/java.util.concurrent.ForkJoinPool.scan(Unknown Source)
[email protected]/java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)
[email protected]/java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)
[00:44:33] [Server thread/INFO]: Goodbye!
[00:44:33] [Server thread/INFO]: Stopping server
I noticed that once I uninstalled Concurrent Chunk Management Engine (C2ME), it doesn't hang on this anymore. Is it possible to add compatibility with C2ME?
EDIT: Upon further testing, this also happens when C2ME isn't installed. I'm not sure what's causing this, then
Reproduction Steps
- Install LuckPerms
Install C2ME- Run server
- Shutdown server
Expected Behaviour
Shutdown proceeds without hangups
Server Details
Minecraft 1.21.1 with Fabric Loader 0.16.13
LuckPerms Version
5.4.140
Logs and Configs
https://gist.github.com/NurioHin/af39f0aa26c681888ca68cf315c0a60f
Extra Details
No response
Apologies for the misinformation. It appears this also happens without C2ME installed. I am not sure what is causing this, then
Okay, after some testing, I finally found the culprit. It's Tick Stasis. Luckily, there are several other mods that do pretty much the same thing and don't cause this issue, like Multiplayer Server Pause (after some config changes)