reactor.logback.AsyncAppender
create some non-daemon
thread for log consuming but didn't close it properly.jstack
to print thread-stacks get this:"logger-2" #19 prio=5 os_prio=0 tid=0x00007f2602874800 nid=0x20c9 waiting on condition [0x00007f268248f000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000827799a0> (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 reactor.jarjar.com.lmax.disruptor.LiteBlockingWaitStrategy.waitFor(LiteBlockingWaitStrategy.java:56)
at reactor.jarjar.com.lmax.disruptor.ProcessingSequenceBarrier.waitFor(ProcessingSequenceBarrier.java:55)
at reactor.core.processor.RingBufferWorkProcessor$WorkSignalProcessor.run(RingBufferWorkProcessor.java:765)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
"logger-1" #18 prio=5 os_prio=0 tid=0x00007f2602874000 nid=0x20c8 waiting on condition [0x00007f2682590000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x000000008277a008> (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 reactor.jarjar.com.lmax.disruptor.LiteBlockingWaitStrategy.waitFor(LiteBlockingWaitStrategy.java:56)
at reactor.jarjar.com.lmax.disruptor.ProcessingSequenceBarrier.waitFor(ProcessingSequenceBarrier.java:55)
at reactor.core.processor.RingBufferWorkProcessor$WorkSignalProcessor.run(RingBufferWorkProcessor.java:765)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
"Attach Listener" #24910 daemon prio=9 os_prio=0 tid=0x00007f2640001000 nid=0x3975 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"DestroyJavaVM" #24909 prio=5 os_prio=0 tid=0x00007f26a4178000 nid=0x2086 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Abandoned connection cleanup thread" #20 daemon prio=5 os_prio=0 tid=0x00007f2617320800 nid=0x20ce in Object.wait() [0x00007f268175c000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
- locked <0x0000000087abb8f8> (a java.lang.ref.ReferenceQueue$Lock)
at com.mysql.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:43)
"GC Daemon" #13 daemon prio=2 os_prio=0 tid=0x00007f26a43f5000 nid=0x209c in Object.wait() [0x00007f26901cd000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00000000825760a0> (a sun.misc.GC$LatencyLock)
at sun.misc.GC$Daemon.run(GC.java:117)
- locked <0x00000000825760a0> (a sun.misc.GC$LatencyLock)
"AsyncFileHandlerWriter-1304836502" #12 daemon prio=5 os_prio=0 tid=0x00007f26a4156000 nid=0x2099 waiting on condition [0x00007f2690a45000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x000000008209fbf8> (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.LinkedBlockingDeque.pollFirst(LinkedBlockingDeque.java:522)
at java.util.concurrent.LinkedBlockingDeque.poll(LinkedBlockingDeque.java:684)
at org.apache.juli.AsyncFileHandler$LoggerThread.run(AsyncFileHandler.java:145)