Skip to content

Instantly share code, notes, and snippets.

@anatawa12
Last active October 8, 2020 12:57
Show Gist options
  • Save anatawa12/f0dbd9fca8bc76531ca07938bd82e8e9 to your computer and use it in GitHub Desktop.
Save anatawa12/f0dbd9fca8bc76531ca07938bd82e8e9 to your computer and use it in GitHub Desktop.
Dead lock issue

thread-dump-by-java.txt: thread dump taken by jcmd. native-frame-of-invisible-get-lock-of-classloader-by-lldb-debugger.txt: backtrace of native stack by lldb.

thread-dump-by-java.txt#L504 says that "Snooper Timer" thread is waiting to lock monitor of PluginClassLoader instance. But thread-dump-by-java.txt#L537 says "Snooper Timer" thread is not waiting for any lock. Therefore I wanted to take thread dump including native thread (mixed mode stack trace) but jstack throws an error and not able to take mixed stack trace because of known bug (JDK-8160376) but not fixed in java 8 so I took native stack trace with lldb.

(lldb) bt
* thread #18, name = 'Java: Snooper Timer'
* frame #0: 0x00007fff69821882 libsystem_kernel.dylib`__psynch_cvwait + 10
frame #1: 0x00007fff698e2425 libsystem_pthread.dylib`_pthread_cond_wait + 698
frame #2: 0x000000010d089f50 libjvm.dylib`os::PlatformEvent::park(long) + 364
frame #3: 0x000000010d07a519 libjvm.dylib`ObjectMonitor::EnterI(Thread*) + 655
frame #4: 0x000000010d079bf5 libjvm.dylib`ObjectMonitor::enter(Thread*) + 547
frame #5: 0x000000010d13342c libjvm.dylib`SystemDictionary::resolve_instance_class_or_null(Symbol*, Handle, Handle, Thread*) + 654
frame #6: 0x000000010d132e03 libjvm.dylib`SystemDictionary::resolve_or_fail(Symbol*, Handle, Handle, bool, Thread*) + 27
frame #7: 0x000000010cdcb353 libjvm.dylib`ConstantPool::klass_at_impl(constantPoolHandle, int, Thread*) + 693
frame #8: 0x000000010cdcc1e2 libjvm.dylib`ConstantPool::klass_at(int, Thread*) + 146
frame #9: 0x000000010cfcf11b libjvm.dylib`LinkResolver::resolve_pool(KlassHandle&, Symbol*&, Symbol*&, KlassHandle&, constantPoolHandle, int, Thread*) + 119
frame #10: 0x000000010cfcefd8 libjvm.dylib`LinkResolver::resolve_invokeinterface(CallInfo&, Handle, constantPoolHandle, int, Thread*) + 218
frame #11: 0x000000010cfce3fc libjvm.dylib`LinkResolver::resolve_invoke(CallInfo&, Handle, constantPoolHandle, int, Bytecodes::Code, Thread*) + 1186
frame #12: 0x000000010cec1512 libjvm.dylib`InterpreterRuntime::resolve_invoke(JavaThread*, Bytecodes::Code) + 870
frame #13: 0x0000000111e27d88
2020-10-08 19:47:17
Full thread dump OpenJDK 64-Bit Server VM (25.265-b01 mixed mode):
"Attach Listener" #64 daemon prio=9 os_prio=31 tid=0x00007ffbe9df7800 nid=0x8b07 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
Locked ownable synchronizers:
- None
"DiscordSRV - JDA Rate Limit" #63 prio=5 os_prio=31 tid=0x00007ffbfe7c0800 nid=0x320b waiting on condition [0x00007000115d1000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x0000000770103120> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1088)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Locked ownable synchronizers:
- None
"DiscordSRV - JDA Rate Limit" #62 prio=5 os_prio=31 tid=0x00007ffbe9eb0000 nid=0x9907 waiting on condition [0x00007000114ce000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x0000000770103120> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Locked ownable synchronizers:
- None
"OkHttp discord.com Writer" #59 prio=5 os_prio=31 tid=0x00007ffbe926d000 nid=0x8c03 waiting on condition [0x0000700012601000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x0000000770040d80> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1081)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Locked ownable synchronizers:
- None
"OkHttp ConnectionPool" #58 daemon prio=5 os_prio=31 tid=0x00007ffbeabeb800 nid=0x8d03 in Object.wait() [0x00007000124fe000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00000007700fa360> (a github.scarsz.discordsrv.dependencies.okhttp3.ConnectionPool)
at java.lang.Object.wait(Object.java:460)
at github.scarsz.discordsrv.dependencies.okhttp3.ConnectionPool.lambda$new$0(ConnectionPool.java:66)
- locked <0x00000007700fa360> (a github.scarsz.discordsrv.dependencies.okhttp3.ConnectionPool)
at github.scarsz.discordsrv.dependencies.okhttp3.ConnectionPool$$Lambda$232/1877020206.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Locked ownable synchronizers:
- <0x0000000770067600> (a java.util.concurrent.ThreadPoolExecutor$Worker)
"OkHttp discord.com" #57 prio=5 os_prio=31 tid=0x00007ffbe9d7b000 nid=0xa207 runnable [0x00007000112c8000]
java.lang.Thread.State: RUNNABLE
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
at java.net.SocketInputStream.read(SocketInputStream.java:171)
at java.net.SocketInputStream.read(SocketInputStream.java:141)
at sun.security.ssl.InputRecord.readFully(InputRecord.java:465)
at sun.security.ssl.InputRecord.read(InputRecord.java:503)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:990)
- locked <0x0000000770041758> (a java.lang.Object)
at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:948)
at sun.security.ssl.AppInputStream.read(AppInputStream.java:105)
- locked <0x0000000770047018> (a sun.security.ssl.AppInputStream)
at github.scarsz.discordsrv.dependencies.okio.Okio$2.read(Okio.java:140)
at github.scarsz.discordsrv.dependencies.okio.AsyncTimeout$2.read(AsyncTimeout.java:237)
at github.scarsz.discordsrv.dependencies.okio.RealBufferedSource.request(RealBufferedSource.java:72)
at github.scarsz.discordsrv.dependencies.okio.RealBufferedSource.require(RealBufferedSource.java:65)
at github.scarsz.discordsrv.dependencies.okhttp3.internal.http2.Http2Reader.nextFrame(Http2Reader.java:95)
at github.scarsz.discordsrv.dependencies.okhttp3.internal.http2.Http2Connection$ReaderRunnable.execute(Http2Connection.java:608)
at github.scarsz.discordsrv.dependencies.okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
at java.lang.Thread.run(Thread.java:748)
Locked ownable synchronizers:
- None
"DiscordSRV - JDA Rate Limit" #56 prio=5 os_prio=31 tid=0x00007ffbea5d0800 nid=0x6603 waiting on condition [0x00007000123fb000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x0000000770103120> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1088)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Locked ownable synchronizers:
- None
"DiscordSRV - JDA Rate Limit" #55 prio=5 os_prio=31 tid=0x00007ffbfe457000 nid=0x8f03 waiting for monitor entry [0x00007000122f5000]
java.lang.Thread.State: BLOCKED (on object monitor)
at java.lang.ClassLoader.loadClass(ClassLoader.java:398)
- waiting to lock <0x00000005c0024a78> (a net.minecraft.launchwrapper.LaunchClassLoader)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
at github.scarsz.discordsrv.dependencies.jackson.databind.ObjectMapper.<clinit>(ObjectMapper.java:341)
at github.scarsz.discordsrv.dependencies.jda.api.utils.data.DataObject.<clinit>(DataObject.java:56)
at github.scarsz.discordsrv.dependencies.jda.api.requests.Response$$Lambda$274/1359585318.apply(Unknown Source)
at github.scarsz.discordsrv.dependencies.jda.api.requests.Response.parseBody(Response.java:204)
at github.scarsz.discordsrv.dependencies.jda.api.requests.Response.parseBody(Response.java:182)
at github.scarsz.discordsrv.dependencies.jda.api.requests.Response.get(Response.java:124)
at github.scarsz.discordsrv.dependencies.jda.api.requests.Response.getObject(Response.java:105)
at github.scarsz.discordsrv.dependencies.jda.api.utils.SessionControllerAdapter.lambda$getGateway$0(SessionControllerAdapter.java:86)
at github.scarsz.discordsrv.dependencies.jda.api.utils.SessionControllerAdapter$$Lambda$263/1942390997.apply(Unknown Source)
at github.scarsz.discordsrv.dependencies.jda.internal.requests.RestActionImpl.handleSuccess(RestActionImpl.java:276)
at github.scarsz.discordsrv.dependencies.jda.internal.requests.RestActionImpl.handleResponse(RestActionImpl.java:266)
at github.scarsz.discordsrv.dependencies.jda.api.requests.Request.handleResponse(Request.java:259)
at github.scarsz.discordsrv.dependencies.jda.internal.requests.Requester.execute(Requester.java:236)
at github.scarsz.discordsrv.dependencies.jda.internal.requests.Requester.execute(Requester.java:140)
at github.scarsz.discordsrv.dependencies.jda.internal.requests.Requester.execute(Requester.java:123)
at github.scarsz.discordsrv.dependencies.jda.internal.requests.ratelimit.BotRateLimiter$Bucket.run(BotRateLimiter.java:468)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Locked ownable synchronizers:
- <0x0000000770102d70> (a java.util.concurrent.ThreadPoolExecutor$Worker)
"pool-5-thread-1" #53 prio=5 os_prio=31 tid=0x00007ffbeaa8f800 nid=0x5e07 waiting on condition [0x00007000121f5000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000005cc9968b0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Locked ownable synchronizers:
- None
"Mohist File IO Thread - 5" #52 prio=7 os_prio=31 tid=0x00007ffbfd9d6800 nid=0x6107 waiting on condition [0x00007000120f2000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000005c437d790> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Locked ownable synchronizers:
- None
"Mohist File IO Thread - 4" #51 prio=7 os_prio=31 tid=0x00007ffbfee83000 nid=0x960b waiting on condition [0x0000700011fef000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000005c437d790> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Locked ownable synchronizers:
- None
"_com.mohistmc.common.cache.WorldCache.CLINIT-14-qo" #49 daemon prio=10 os_prio=31 tid=0x00007ffbeb167000 nid=0x5f07 waiting on condition [0x0000700011eec000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000005cc613210> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
at org.cache2k.core.util.SimpleTimer$TimerThread.mainLoop(SimpleTimer.java:361)
at org.cache2k.core.util.SimpleTimer$TimerThread.run(SimpleTimer.java:337)
Locked ownable synchronizers:
- None
"_com.mohistmc.common.cache.WorldCache.CLINIT-13-qn" #48 daemon prio=10 os_prio=31 tid=0x00007ffbea5fc000 nid=0x6507 waiting on condition [0x0000700011de9000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000005cc5f4a48> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
at org.cache2k.core.util.SimpleTimer$TimerThread.mainLoop(SimpleTimer.java:361)
at org.cache2k.core.util.SimpleTimer$TimerThread.run(SimpleTimer.java:337)
Locked ownable synchronizers:
- None
"Craft Async Scheduler Management Thread" #46 prio=5 os_prio=31 tid=0x00007ffbea61c000 nid=0x910b waiting on condition [0x0000700011be3000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000005c78efe80> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Locked ownable synchronizers:
- None
"Metrics - 3" #44 prio=7 os_prio=31 tid=0x00007ffbe9a10000 nid=0x9407 waiting on condition [0x0000700011ae0000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000005c437db58> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Locked ownable synchronizers:
- None
"DiscordSRV - Initialization" #43 prio=5 os_prio=31 tid=0x00007ffbe8f5e000 nid=0xa407 waiting on condition [0x00007000111c5000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x0000000770103478> (a java.util.concurrent.CompletableFuture$Signaller)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
at java.util.concurrent.CompletableFuture$Signaller.block(CompletableFuture.java:1707)
at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3323)
at java.util.concurrent.CompletableFuture.waitingGet(CompletableFuture.java:1742)
at java.util.concurrent.CompletableFuture.join(CompletableFuture.java:1947)
at github.scarsz.discordsrv.dependencies.jda.internal.requests.RestActionImpl.complete(RestActionImpl.java:219)
at github.scarsz.discordsrv.dependencies.jda.api.requests.RestAction.complete(RestAction.java:623)
at github.scarsz.discordsrv.dependencies.jda.api.utils.SessionControllerAdapter.getGateway(SessionControllerAdapter.java:86)
at github.scarsz.discordsrv.dependencies.jda.internal.JDAImpl.getGateway(JDAImpl.java:299)
at github.scarsz.discordsrv.dependencies.jda.internal.JDAImpl.login(JDAImpl.java:257)
at github.scarsz.discordsrv.dependencies.jda.internal.JDAImpl.login(JDAImpl.java:249)
at github.scarsz.discordsrv.dependencies.jda.api.JDABuilder.build(JDABuilder.java:1871)
at github.scarsz.discordsrv.DiscordSRV.init(DiscordSRV.java:647)
at github.scarsz.discordsrv.DiscordSRV$$Lambda$199/965146745.run(Unknown Source)
at java.lang.Thread.run(Thread.java:748)
Locked ownable synchronizers:
- None
"Mohist Async Task Handler Thread - 2" #34 prio=7 os_prio=31 tid=0x00007ffbeb00f000 nid=0x5b03 waiting on condition [0x00007000119dd000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000005c437d548> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Locked ownable synchronizers:
- None
"Netty Server IO #0" #33 daemon prio=5 os_prio=31 tid=0x00007ffc0d83b800 nid=0x5a03 runnable [0x00007000118da000]
java.lang.Thread.State: RUNNABLE
at sun.nio.ch.KQueueArrayWrapper.kevent0(Native Method)
at sun.nio.ch.KQueueArrayWrapper.poll(KQueueArrayWrapper.java:198)
at sun.nio.ch.KQueueSelectorImpl.doSelect(KQueueSelectorImpl.java:117)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
- locked <0x00000005c7baf2f0> (a io.netty.channel.nio.SelectedSelectionKeySet)
- locked <0x00000005c7bb0ae0> (a java.util.Collections$UnmodifiableSet)
- locked <0x00000005c7bb0318> (a sun.nio.ch.KQueueSelectorImpl)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
at io.netty.channel.nio.SelectedSelectionKeySetSelector.select(SelectedSelectionKeySetSelector.java:62)
at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:753)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:409)
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884)
at java.lang.Thread.run(Thread.java:748)
Locked ownable synchronizers:
- None
"Mohist Watchdog Thread" #32 prio=5 os_prio=31 tid=0x00007ffbe8cbe000 nid=0xa507 waiting for monitor entry [0x00007000110c2000]
java.lang.Thread.State: BLOCKED (on object monitor)
at org.spigotmc.WatchdogThread.run(WatchdogThread.java:61)
Locked ownable synchronizers:
- None
"ObjectCleanerThread" #27 daemon prio=1 os_prio=31 tid=0x00007ffbfdc2c800 nid=0xa003 in Object.wait() [0x00007000113cb000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00000005c6b4fdc8> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:144)
- locked <0x00000005c6b4fdc8> (a java.lang.ref.ReferenceQueue$Lock)
at io.netty.util.internal.ObjectCleaner$1.run(ObjectCleaner.java:54)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.lang.Thread.run(Thread.java:748)
Locked ownable synchronizers:
- None
"Server console handler" #22 daemon prio=5 os_prio=31 tid=0x00007ffbead45000 nid=0xa603 waiting for monitor entry [0x0000700010fbf000]
java.lang.Thread.State: BLOCKED (on object monitor)
at jline.internal.InputStreamReader.read(InputStreamReader.java:194)
- locked <0x00000005c3e24550> (a jline.internal.NonBlockingInputStream)
at jline.console.ConsoleReader.readCharacter(ConsoleReader.java:2136)
at jline.console.ConsoleReader.readCharacter(ConsoleReader.java:2126)
at jline.console.ConsoleReader.readBinding(ConsoleReader.java:2211)
at jline.console.ConsoleReader.readLine(ConsoleReader.java:2460)
at jline.console.ConsoleReader.readLine(ConsoleReader.java:2372)
at net.minecraft.server.dedicated.DedicatedServer$2.run(DedicatedServer.java:126)
Locked ownable synchronizers:
- None
"TerminalConsoleWriter - 1" #23 prio=7 os_prio=31 tid=0x00007ffbead44000 nid=0xa803 waiting on condition [0x0000700010ebc000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000005c004ecc0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
at com.mojang.util.QueueLogAppender.getNextLogEvent(QueueLogAppender.java:77)
at org.bukkit.craftbukkit.v1_12_R1.util.TerminalConsoleWriterThread.run(TerminalConsoleWriterThread.java:29)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Locked ownable synchronizers:
- <0x00000005c3dcecb8> (a java.util.concurrent.ThreadPoolExecutor$Worker)
"DestroyJavaVM" #21 prio=5 os_prio=31 tid=0x00007ffbea094800 nid=0x1603 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
Locked ownable synchronizers:
- None
"Server thread" #19 prio=5 os_prio=31 tid=0x00007ffbeb008800 nid=0x5503 waiting for monitor entry [0x0000700010db8000]
java.lang.Thread.State: BLOCKED (on object monitor)
at net.minecraft.entity.EntityLiving.func_70623_bb(EntityLiving.java:766)
at net.minecraft.entity.EntityLiving.func_70626_be(EntityLiving.java:814)
at net.minecraft.entity.EntityLivingBase.func_70636_d(EntityLivingBase.java:2648)
at net.minecraft.entity.EntityLiving.func_70636_d(EntityLiving.java:624)
at net.minecraft.entity.EntityAgeable.func_70636_d(EntityAgeable.java:209)
at net.minecraft.entity.passive.EntityAnimal.func_70636_d(EntityAnimal.java:47)
at net.minecraft.entity.passive.EntityRabbit.func_70636_d(EntityRabbit.java:280)
at net.minecraft.entity.EntityLivingBase.func_70071_h_(EntityLivingBase.java:2469)
at net.minecraft.entity.EntityLiving.func_70071_h_(EntityLiving.java:333)
at net.minecraft.world.World.func_72866_a(World.java:2408)
at net.minecraft.world.World.func_72870_g(World.java:2359)
at net.minecraft.world.World.func_72939_s(World.java:2130)
at net.minecraft.world.WorldServer.func_72939_s(WorldServer.java:737)
at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:902)
at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:470)
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:781)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:627)
at java.lang.Thread.run(Thread.java:748)
Locked ownable synchronizers:
- None
"Server Infinisleeper" #20 daemon prio=5 os_prio=31 tid=0x00007ffbea14c800 nid=0x4003 waiting on condition [0x0000700010cb6000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at net.minecraft.server.dedicated.DedicatedServer$1.run(DedicatedServer.java:100)
Locked ownable synchronizers:
- None
"NonBlockingInputStreamThread" #17 daemon prio=5 os_prio=31 tid=0x00007ffbe9e00800 nid=0x4107 in Object.wait() [0x0000700010bb3000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00000005c3e24550> (a jline.internal.NonBlockingInputStream)
at jline.internal.NonBlockingInputStream.run(NonBlockingInputStream.java:275)
- locked <0x00000005c3e24550> (a jline.internal.NonBlockingInputStream)
at java.lang.Thread.run(Thread.java:748)
Locked ownable synchronizers:
- None
"Snooper Timer" #15 daemon prio=5 os_prio=31 tid=0x00007ffbe9cc2800 nid=0x420b waiting for monitor entry [0x0000700010aaf000]
java.lang.Thread.State: BLOCKED (on object monitor)
at github.scarsz.discordsrv.objects.log4j.JdaFilter.filter(JdaFilter.java:69)
at org.apache.logging.log4j.core.filter.CompositeFilter.filter(CompositeFilter.java:591)
at org.apache.logging.log4j.core.filter.AbstractFilterable.isFiltered(AbstractFilterable.java:182)
at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:416)
at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:403)
at org.apache.logging.log4j.core.config.AwaitCompletionReliabilityStrategy.log(AwaitCompletionReliabilityStrategy.java:63)
at org.apache.logging.log4j.core.Logger.logMessage(Logger.java:146)
at org.apache.logging.log4j.spi.AbstractLogger.logMessageSafely(AbstractLogger.java:2091)
at org.apache.logging.log4j.spi.AbstractLogger.logMessage(AbstractLogger.java:1988)
at org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:1960)
at org.apache.logging.log4j.spi.AbstractLogger.trace(AbstractLogger.java:2205)
at com.anatawa12.fixRtm.asm.PatchApplier.transform(PatchApplier.kt:15)
at net.minecraft.launchwrapper.LaunchClassLoader.runTransformers(LaunchClassLoader.java:279)
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:176)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
- locked <0x00000005c0024a78> (a net.minecraft.launchwrapper.LaunchClassLoader)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
at net.minecraft.profiler.Snooper$1.run(SourceFile:72)
at java.util.TimerThread.mainLoop(Timer.java:555)
at java.util.TimerThread.run(Timer.java:505)
Locked ownable synchronizers:
- None
"Service Thread" #8 daemon prio=9 os_prio=31 tid=0x00007ffbfe03a000 nid=0x4503 runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
Locked ownable synchronizers:
- None
"C1 CompilerThread2" #7 daemon prio=9 os_prio=31 tid=0x00007ffbfd826800 nid=0x3903 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
Locked ownable synchronizers:
- None
"C2 CompilerThread1" #6 daemon prio=9 os_prio=31 tid=0x00007ffbfd826000 nid=0x3803 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
Locked ownable synchronizers:
- None
"C2 CompilerThread0" #5 daemon prio=9 os_prio=31 tid=0x00007ffbfe039000 nid=0x3703 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
Locked ownable synchronizers:
- None
"Signal Dispatcher" #4 daemon prio=9 os_prio=31 tid=0x00007ffbfd824000 nid=0x4903 runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
Locked ownable synchronizers:
- None
"Finalizer" #3 daemon prio=8 os_prio=31 tid=0x00007ffbfe029000 nid=0x2d03 in Object.wait() [0x0000700010295000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00000005c0024530> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:144)
- locked <0x00000005c0024530> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:165)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:216)
Locked ownable synchronizers:
- None
"Reference Handler" #2 daemon prio=10 os_prio=31 tid=0x00007ffbfd821000 nid=0x5003 in Object.wait() [0x0000700010192000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00000005c0024700> (a java.lang.ref.Reference$Lock)
at java.lang.Object.wait(Object.java:502)
at java.lang.ref.Reference.tryHandlePending(Reference.java:191)
- locked <0x00000005c0024700> (a java.lang.ref.Reference$Lock)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:153)
Locked ownable synchronizers:
- None
"VM Thread" os_prio=31 tid=0x00007ffbfd820800 nid=0x2c03 runnable
"GC task thread#0 (ParallelGC)" os_prio=31 tid=0x00007ffbfe809000 nid=0x1e07 runnable
"GC task thread#1 (ParallelGC)" os_prio=31 tid=0x00007ffbfe809800 nid=0x1f03 runnable
"GC task thread#2 (ParallelGC)" os_prio=31 tid=0x00007ffc0d80c800 nid=0x2b03 runnable
"GC task thread#3 (ParallelGC)" os_prio=31 tid=0x00007ffbfd815800 nid=0x5303 runnable
"VM Periodic Task Thread" os_prio=31 tid=0x00007ffbfe05b000 nid=0x3b03 waiting on condition
JNI global references: 2517
Found one Java-level deadlock:
=============================
"DiscordSRV - JDA Rate Limit":
waiting to lock monitor 0x00007ffbfef5de78 (object 0x00000005c0024a78, a net.minecraft.launchwrapper.LaunchClassLoader),
which is held by "Snooper Timer"
"Snooper Timer":
waiting to lock monitor 0x00007ffbeb7956f8 (object 0x00000005c8caa420, a org.bukkit.plugin.java.PluginClassLoader),
which is held by "DiscordSRV - JDA Rate Limit"
Java stack information for the threads listed above:
===================================================
"DiscordSRV - JDA Rate Limit":
at java.lang.ClassLoader.loadClass(ClassLoader.java:398)
- waiting to lock <0x00000005c0024a78> (a net.minecraft.launchwrapper.LaunchClassLoader)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
at github.scarsz.discordsrv.dependencies.jackson.databind.ObjectMapper.<clinit>(ObjectMapper.java:341)
at github.scarsz.discordsrv.dependencies.jda.api.utils.data.DataObject.<clinit>(DataObject.java:56)
at github.scarsz.discordsrv.dependencies.jda.api.requests.Response$$Lambda$274/1359585318.apply(Unknown Source)
at github.scarsz.discordsrv.dependencies.jda.api.requests.Response.parseBody(Response.java:204)
at github.scarsz.discordsrv.dependencies.jda.api.requests.Response.parseBody(Response.java:182)
at github.scarsz.discordsrv.dependencies.jda.api.requests.Response.get(Response.java:124)
at github.scarsz.discordsrv.dependencies.jda.api.requests.Response.getObject(Response.java:105)
at github.scarsz.discordsrv.dependencies.jda.api.utils.SessionControllerAdapter.lambda$getGateway$0(SessionControllerAdapter.java:86)
at github.scarsz.discordsrv.dependencies.jda.api.utils.SessionControllerAdapter$$Lambda$263/1942390997.apply(Unknown Source)
at github.scarsz.discordsrv.dependencies.jda.internal.requests.RestActionImpl.handleSuccess(RestActionImpl.java:276)
at github.scarsz.discordsrv.dependencies.jda.internal.requests.RestActionImpl.handleResponse(RestActionImpl.java:266)
at github.scarsz.discordsrv.dependencies.jda.api.requests.Request.handleResponse(Request.java:259)
at github.scarsz.discordsrv.dependencies.jda.internal.requests.Requester.execute(Requester.java:236)
at github.scarsz.discordsrv.dependencies.jda.internal.requests.Requester.execute(Requester.java:140)
at github.scarsz.discordsrv.dependencies.jda.internal.requests.Requester.execute(Requester.java:123)
at github.scarsz.discordsrv.dependencies.jda.internal.requests.ratelimit.BotRateLimiter$Bucket.run(BotRateLimiter.java:468)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
"Snooper Timer":
at github.scarsz.discordsrv.objects.log4j.JdaFilter.filter(JdaFilter.java:69)
at org.apache.logging.log4j.core.filter.CompositeFilter.filter(CompositeFilter.java:591)
at org.apache.logging.log4j.core.filter.AbstractFilterable.isFiltered(AbstractFilterable.java:182)
at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:416)
at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:403)
at org.apache.logging.log4j.core.config.AwaitCompletionReliabilityStrategy.log(AwaitCompletionReliabilityStrategy.java:63)
at org.apache.logging.log4j.core.Logger.logMessage(Logger.java:146)
at org.apache.logging.log4j.spi.AbstractLogger.logMessageSafely(AbstractLogger.java:2091)
at org.apache.logging.log4j.spi.AbstractLogger.logMessage(AbstractLogger.java:1988)
at org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:1960)
at org.apache.logging.log4j.spi.AbstractLogger.trace(AbstractLogger.java:2205)
at com.anatawa12.fixRtm.asm.PatchApplier.transform(PatchApplier.kt:15)
at net.minecraft.launchwrapper.LaunchClassLoader.runTransformers(LaunchClassLoader.java:279)
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:176)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
- locked <0x00000005c0024a78> (a net.minecraft.launchwrapper.LaunchClassLoader)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
at net.minecraft.profiler.Snooper$1.run(SourceFile:72)
at java.util.TimerThread.mainLoop(Timer.java:555)
at java.util.TimerThread.run(Timer.java:505)
Found 1 deadlock.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment