Venkatesh created LOG4J2-3623: --------------------------------- Summary: Application went unresponsive because of log4j2 Key: LOG4J2-3623 URL: https://issues.apache.org/jira/browse/LOG4J2-3623 Project: Log4j 2 Issue Type: Bug Affects Versions: 2.17.1 Environment: Java version - openjdk-1.8.0.191
Log4j2 version - 2.17.1 OS - Linux, 2.6.32 Ring Buffer Size : 1MB Reporter: Venkatesh We have seen this behavior in during high load of log events. Where Logging Got Stropped and Application Went to not responsive state. Ring Buffer Size : 128 Here is the one of the Trace from Thread Dump: I have taken thread dumps thrice, every time the states of the threads are at same. One producer thread went to TIMED WAITING sate, others went o BLOCKED and consumer (AsynchLogger) thread went into TIMED_WAITING state. Producer 1 : "Scheduler_Worker-7" #143 prio=5 os_prio=0 tid=0x00007fae2ac55800 nid=0x18fc runnable [0x00007faceab12000] java.lang.Thread.State: TIMED_WAITING (parking) at sun.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:338) at com.lmax.disruptor.MultiProducerSequencer.next(MultiProducerSequencer.java:136) at com.lmax.disruptor.MultiProducerSequencer.next(MultiProducerSequencer.java:105) at com.lmax.disruptor.RingBuffer.publishEvent(RingBuffer.java:465) at com.lmax.disruptor.dsl.Disruptor.publishEvent(Disruptor.java:331) at org.apache.logging.log4j.core.async.AsyncLoggerDisruptor.enqueueLogMessageWhenQueueFull(AsyncLoggerDisruptor.java:236) - locked <0x00000005522ce890> (a java.lang.Object) at org.apache.logging.log4j.core.async.AsyncLogger.handleRingBufferFull(AsyncLogger.java:246) Producer 2: "Scheduler_Worker-8" #144 prio=5 os_prio=0 tid=0x00007fae2a79b000 nid=0x18fd waiting for monitor entry [0x00007faceaa12000] java.lang.Thread.State: BLOCKED (on object monitor) at org.apache.logging.log4j.core.async.AsyncLoggerDisruptor.enqueueLogMessageWhenQueueFull(AsyncLoggerDisruptor.java:236) - waiting to lock <0x00000005522ce890> (a java.lang.Object) at org.apache.logging.log4j.core.async.AsyncLogger.handleRingBufferFull(AsyncLogger.java:246) at org.apache.logging.log4j.core.async.AsyncLogger.publish(AsyncLogger.java:230) Consumer: "Log4j2-TF-4-AsyncLogger[DefaultAsyncContext@main]-2" #17 daemon prio=5 os_prio=0 tid=0x00007fae29692000 nid=0x1806 runnable [0x00007fadfea4d000] java.lang.Thread.State: TIMED_WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x0000000553fa0d98> (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 com.lmax.disruptor.TimeoutBlockingWaitStrategy.waitFor(TimeoutBlockingWaitStrategy.java:38) at com.lmax.disruptor.ProcessingSequenceBarrier.waitFor(ProcessingSequenceBarrier.java:56) at com.lmax.disruptor.BatchEventProcessor.processEvents(BatchEventProcessor.java:159) at com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:125) at java.lang.Thread.run(Thread.java:748) Is this is known issue? What is the way to fix this? h4. -- This message was sent by Atlassian Jira (v8.20.10#820010)