LuckPerms

LuckPerms

41.4k Downloads

BUG

yangguangjin opened this issue ยท 1 comments

commented

Description

I am a bungee server using redis communication and cannot shut down the server properly when manual /stop is performed on the subserver

Reproduction Steps

I am a bungee server using redis communication and cannot shut down the server properly when manual /stop is performed on the subserver

Expected Behaviour

I don't know how the plugin uses redis logic when actively shutting down the server, but seems to be the problem of shutting down the storage space

Server Details

spogit1.12.2

LuckPerms Version

5.4.66

Logs and Configs

Timed out waiting for the LuckPerms worker thread pool to terminate
[00:01:07] [Server thread/WARN]: [LuckPerms] Thread luckperms-worker-1 is blocked, and may be the reason for the slow shutdown!
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.ForkJoinPool.awaitWork(ForkJoinPool.java:1835)
java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1704)
java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:172)
[00:01:07] [Server thread/WARN] [Mohist]: [LuckPerms] Thread luckperms-worker-3 is blocked, and may be the reason for the slow shutdown!
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.ForkJoinPool.awaitWork(ForkJoinPool.java:1835)
java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1704)
java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:172)
[00:01:07] [Server thread/WARN] [Mohist]: [LuckPerms] Thread luckperms-worker-2 is blocked, and may be the reason for the slow shutdown!
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.ForkJoinPool.awaitWork(ForkJoinPool.java:1835)
java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1704)
java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:172)
[00:01:07] [Server thread/WARN] [Mohist]: [LuckPerms] Thread luckperms-worker-0 is blocked, and may be the reason for the slow shutdown!
java.net.SocketInputStream.socketRead0(Native Method)
java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
java.net.SocketInputStream.read(SocketInputStream.java:171)
java.net.SocketInputStream.read(SocketInputStream.java:141)
java.net.SocketInputStream.read(SocketInputStream.java:127)
me.lucko.luckperms.lib.jedis.util.RedisInputStream.ensureFill(RedisInputStream.java:199)
me.lucko.luckperms.lib.jedis.util.RedisInputStream.readByte(RedisInputStream.java:43)
me.lucko.luckperms.lib.jedis.Protocol.process(Protocol.java:155)
me.lucko.luckperms.lib.jedis.Protocol.read(Protocol.java:220)
me.lucko.luckperms.lib.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:283)
me.lucko.luckperms.lib.jedis.Connection.getUnflushedObjectMultiBulkReply(Connection.java:245)
me.lucko.luckperms.lib.jedis.JedisPubSub.process(JedisPubSub.java:131)
me.lucko.luckperms.lib.jedis.JedisPubSub.proceed(JedisPubSub.java:125)
me.lucko.luckperms.lib.jedis.Jedis.subscribe(Jedis.java:2898)
me.lucko.luckperms.common.messaging.redis.RedisMessenger$Subscription.run(RedisMessenger.java:104)
java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1402)
java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1067)
java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1703)
java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:172)
[00:01:07] [Server thread/WARN] [Mohist]: [LuckPerms] Thread luckperms-worker-4 is blocked, and may be the reason for the slow shutdown!
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.ForkJoinPool.awaitWork(ForkJoinPool.java:1835)
java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1704)
java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:172)
[00:01:07] [Server thread/WARN] [Mohist]: [LuckPerms] Thread luckperms-worker-5 is blocked, and may be the reason for the slow shutdown!
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.ForkJoinPool.awaitWork(ForkJoinPool.java:1835)
java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1704)
java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:172)
[00:01:07] [Server thread/WARN] [Mohist]: [LuckPerms] Thread luckperms-worker-8 is blocked, and may be the reason for the slow shutdown!
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.ForkJoinPool.awaitWork(ForkJoinPool.java:1835)
java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1704)
java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:172)
[00:01:07] [Server thread/WARN] [Mohist]: [LuckPerms] Thread luckperms-worker-7 is blocked, and may be the reason for the slow shutdown!
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.ForkJoinPool.awaitWork(ForkJoinPool.java:1835)
java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1704)
java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:172)
[00:01:07] [Server thread/WARN] [Mohist]: [LuckPerms] Thread luckperms-worker-6 is blocked, and may be the reason for the slow shutdown!
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.ForkJoinPool.awaitWork(ForkJoinPool.java:1835)
java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1704)
java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:172)

Extra Details

No response

commented

I've never seen this before, but if I had to guess, this is caused by Mohist. Virtually every Forge-Bukkit hack introduces weird issues like this, especially Mohist.

Try to reproduce on a non-Mohist server i.e. Paper, if the issue still occurs please send your full server logs.