Server hangs on restart, cant fully stop

OS Name/Version: Ubuntu Server

Product Name/Version: (Always use the full version number - not ‘Latest’)
Minecraft SPigot 1.18.2
Problem Description:
Whenever I try to schedule or manually restart my minecraft server it always hangs on stopping.

Spigot Watchdog Thread/ERROR

16:32:34


The server has stopped responding! This is (probably) not a Spigot bug.

If you see a plugin in the Server thread dump below, then please report it to that author

Especially if it looks like HTTP or MySQL operations are occurring

If you see a world save or edit, then it means you did far more than your server can handle at once

If this is the case, consider increasing timeout-time in spigot.yml but note that this will replace the crash with LARGE lag spikes

If you are unsure or still think this is a Spigot bug, please report to https://www.spigotmc.org/

Be sure to include ALL relevant console errors and Minecraft crash reports

Spigot version: 3451-Spigot-fb0dd5f-808cb7c (MC: 1.18.2)


Server thread dump (Look for plugins here before reporting to Spigot!):

16:32:35

java.base@17/java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3434)

java.base@17/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623)

java.base@17/java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435)

java.base@17/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1062)

java.base@17/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1122)

java.base@17/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)

java.base@17/java.lang.Thread.run(Thread.java:833)


Current Thread: pool-13-thread-5

PID: 319 | Suspended: false | Native: false | State: WAITING

Stack:

java.base@17/jdk.internal.misc.Unsafe.park(Native Method)

java.base@17/java.util.concurrent.locks.LockSupport.park(LockSupport.java:341)

java.base@17/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506)

java.base@17/java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3463)

java.base@17/java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3434)

java.base@17/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623)

java.base@17/java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435)

java.base@17/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1062)

java.base@17/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1122)

java.base@17/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)

java.base@17/java.lang.Thread.run(Thread.java:833)


Current Thread: pool-13-thread-6

PID: 320 | Suspended: false | Native: false | State: WAITING

Stack:

java.base@17/jdk.internal.misc.Unsafe.park(Native Method)

java.base@17/java.util.concurrent.locks.LockSupport.park(LockSupport.java:341)

java.base@17/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506)

java.base@17/java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3463)

java.base@17/java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3434)

java.base@17/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623)

java.base@17/java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435)

java.base@17/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1062)

java.base@17/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1122)

java.base@17/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)

java.base@17/java.lang.Thread.run(Thread.java:833)


Current Thread: IO-Worker-99

PID: 330 | Suspended: false | Native: false | State: TIMED_WAITING

java.base@17/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1122)

java.base@17/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)

java.base@17/java.lang.Thread.run(Thread.java:833)


Current Thread: ForkJoinPool.commonPool-worker-16

PID: 359 | Suspended: false | Native: false | State: TIMED_WAITING

Stack:

java.base@17/jdk.internal.misc.Unsafe.park(Native Method)

java.base@17/java.util.concurrent.locks.LockSupport.parkUntil(LockSupport.java:410)

java.base@17/java.util.concurrent.ForkJoinPool.awaitWork(ForkJoinPool.java:1726)

java.base@17/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1623)

java.base@17/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)


Current Thread: pool-13-thread-12

PID: 360 | Suspended: false | Native: false | State: WAITING

Stack:

java.base@17/jdk.internal.misc.Unsafe.park(Native Method)

java.base@17/java.util.concurrent.locks.LockSupport.park(LockSupport.java:341)

java.base@17/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506)

java.base@17/java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3463)

java.base@17/java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3434)

java.base@17/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623)

java.base@17/java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435)

java.base@17/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1062)

java.base@17/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1122)

java.base@17/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)

java.base@17/java.lang.Thread.run(Thread.java:833)


Current Thread: IO-Worker-108

PID: 392 | Suspended: false | Native: false | State: TIMED_WAITING

Stack:

java.base@17/jdk.internal.misc.Unsafe.park(Native Method)

java.base@17/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252)

java.base@17/java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:401)

java.base@17/java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:903)

java.base@17/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1061)

java.base@17/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1122)

java.base@17/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)

java.base@17/java.lang.Thread.run(Thread.java:833)


If you're sharing console output, logs, or commands you have run, please make sure to use code tags 
(3x backticks for blocks, 1x backtick for a single line) to help make posts readable. This also
provides syntax highlighting.

Steps to reproduce:

  • Step 1
  • Step 2
  • Step 3

Actions taken to resolve so far: disabling scheduled restarts
Apologies im new to the forums so hopefuly the format is ok

This is not an AMP issue. The server is struggling and causes watchdog to deem the server unresponsive. Try disabling your plugings one by one to find out which one is causing it.