You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@logging.apache.org by "Ramprasad (Jira)" <ji...@apache.org> on 2022/09/14 12:22:00 UTC

[jira] [Created] (LOG4J2-3597) Application got struck with Deadlock on TimeoutBlockingWaitStrategy lock

Ramprasad created LOG4J2-3597:
---------------------------------

             Summary: Application got struck with Deadlock on TimeoutBlockingWaitStrategy lock
                 Key: LOG4J2-3597
                 URL: https://issues.apache.org/jira/browse/LOG4J2-3597
             Project: Log4j 2
          Issue Type: Bug
          Components: Servers
    Affects Versions: 2.17.2
         Environment: Linux redhat

Number of CPUs: 12
            Reporter: Ramprasad


Out application got struck with below dead lock. We are unable to reproduce. Suspecting that producer thread unable to unlock . But that case we should see exception in out file/console but there is no exception Can you please let us know the reason for this

 

Found one Java-level deadlock:
=============================
"Thread-242 (ActiveMQ-client-global-threads)":
  waiting for ownable synchronizer 0x0000000645b7de50, (a java.util.concurrent.locks.ReentrantLock$NonfairSync),
  which is held by "AWT-EventQueue-0"
"AWT-EventQueue-0":
  waiting for ownable synchronizer 0x00000006ba5d01d8, (a java.util.concurrent.locks.ReentrantLock$NonfairSync),
  which is held by "QuoteSnapper"
"QuoteSnapper":
  waiting for ownable synchronizer 0x0000000645b7de50, (a java.util.concurrent.locks.ReentrantLock$NonfairSync),
  which is held by "AWT-EventQueue-0"

Java stack information for the threads listed above:
===================================================
"Thread-242 (ActiveMQ-client-global-threads)":
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x0000000645b7de50> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:870)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1199)
    at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:209)
    at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:285)
    at com.lmax.disruptor.TimeoutBlockingWaitStrategy.signalAllWhenBlocking(TimeoutBlockingWaitStrategy.java:62)
    at com.lmax.disruptor.MultiProducerSequencer.publish(MultiProducerSequencer.java:218)
    at com.lmax.disruptor.RingBuffer.translateAndPublish(RingBuffer.java:966)
    at com.lmax.disruptor.RingBuffer.tryPublishEvent(RingBuffer.java:478)
    at org.apache.logging.log4j.core.async.AsyncLoggerDisruptor.tryPublish(AsyncLoggerDisruptor.java:221)
    at org.apache.logging.log4j.core.async.AsyncLogger.publish(AsyncLogger.java:229)
    at org.apache.logging.log4j.core.async.AsyncLogger.logWithThreadLocalTranslator(AsyncLogger.java:225)
    at org.apache.logging.log4j.core.async.AsyncLogger.access$000(AsyncLogger.java:67)
    at org.apache.logging.log4j.core.async.AsyncLogger$1.log(AsyncLogger.java:152)
    at org.apache.logging.log4j.core.async.AsyncLogger.log(AsyncLogger.java:136)
    at org.apache.logging.log4j.spi.AbstractLogger.tryLogMessage(AbstractLogger.java:2205)
    at org.apache.logging.log4j.spi.AbstractLogger.logMessageTrackRecursion(AbstractLogger.java:2159)
    at org.apache.logging.log4j.spi.AbstractLogger.logMessageSafely(AbstractLogger.java:2142)
    at org.apache.logging.log4j.spi.AbstractLogger.logMessage(AbstractLogger.java:2017)
    at org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:1983)
    at org.apache.logging.log4j.spi.AbstractLogger.log(AbstractLogger.java:1662)
    at com.indigo.utils.Log.logUsingAvailableLogger(Log.java:387)
    at com.indigo.utils.Log.log(Log.java:375)
    at com.indigo.utils.Log.notice(Log.java:866)
    at com.indigo.utils.Log.notice(Log.java:641)
    at com.indigo.basketserver.AbstractClientSideProcessor.processInboundCustomMessage(AbstractClientSideProcessor.java:1632)
    at com.indigo.basketserver.AbstractClientSideProcessor.processInboundCustomMessage(AbstractClientSideProcessor.java:1730)
    at com.indigo.basketserver.AbstractClientSideProcessor.processInboundMessages(AbstractClientSideProcessor.java:1535)
    at com.indigo.basketserver.JMSMessageMediator$32.execute(JMSMessageMediator.java:1033)
    at com.indigo.basketserver.ClientSideRMIJMSDriver.processResponse(ClientSideRMIJMSDriver.java:566)
    at com.indigo.basketserver.ClientSideRMIJMSDriver$1.processCommand(ClientSideRMIJMSDriver.java:169)
    at com.indigo.basketserver.JMSMessageMediator.process(JMSMessageMediator.java:1030)
    at com.indigo.basketserver.JMSMessageMediator.processAndUpdateTimes(JMSMessageMediator.java:268)
    at com.indigo.basketserver.JMSMessageMediator.onMessage(JMSMessageMediator.java:249)
    at org.apache.activemq.artemis.jms.client.JMSMessageListenerWrapper.onMessage(JMSMessageListenerWrapper.java:107)
    at org.apache.activemq.artemis.core.client.impl.ClientConsumerImpl.callOnMessage(ClientConsumerImpl.java:1011)
    at org.apache.activemq.artemis.core.client.impl.ClientConsumerImpl.access$400(ClientConsumerImpl.java:50)
    at org.apache.activemq.artemis.core.client.impl.ClientConsumerImpl$Runner.run(ClientConsumerImpl.java:1134)
    at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42)
    at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31)
    at org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:66)
    at org.apache.activemq.artemis.utils.actors.ProcessorBase$$Lambda$144/1149330009.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118)
"AWT-EventQueue-0":
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x00000006ba5d01d8> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:870)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1199)
    at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:209)
    at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:285)
    at com.indigo.validator.CurrencyConverter.getMarketPrice(CurrencyConverter.java:275)
    at com.indigo.validator.CurrencyConverter.getRate(CurrencyConverter.java:87)
    at com.indigo.validator.CurrencyUtil.getRate(CurrencyUtil.java:105)
    at com.indigo.validator.CurrencyUtil.getRate(CurrencyUtil.java:90)
    at com.portware.context.basket_detail.value.LeavesAbsValL_FX.getValue(LeavesAbsValL_FX.java:36)
    at com.portware.columns.context.AbstractContextColumn.getValue(AbstractContextColumn.java:176)
    at com.portware.columns.context.AccessMethodContextAdapter.getValue(AccessMethodContextAdapter.java:59)
    at com.portware.columns.context.ImmutableColumnAccessMethodContextAdapter.getValue(ImmutableColumnAccessMethodContextAdapter.java:103)
    at com.portware.columnsfilters.ImmutableColumnAccessMethodColumnWrapper.getDoubleValue(ImmutableColumnAccessMethodColumnWrapper.java:56)
    at com.indigo.utils.CustomColumnMediator.getDoubleValue(CustomColumnMediator.java:124)
    at com.portware.columns.context.AbstractContextColumn.ccNumber(AbstractContextColumn.java:151)
    at com.portware.context.basket_detail.value.TotalAbsValL_FX.getValue(TotalAbsValL_FX.java:33)
    at com.portware.columns.context.AbstractContextColumn.getValue(AbstractContextColumn.java:176)
    at com.portware.columns.context.AccessMethodContextAdapter.getValue(AccessMethodContextAdapter.java:59)
    at com.portware.columns.context.ImmutableColumnAccessMethodContextAdapter.getValue(ImmutableColumnAccessMethodContextAdapter.java:103)
    at com.indigo.neuron.client.BasicTableModel.compute(BasicTableModel.java:572)
    at com.indigo.neuron.data.computation.ColumnComputationResult.compute(ColumnComputationResult.java:218)
    at com.indigo.neuron.data.computation.ColumnComputationManager.getValue(ColumnComputationManager.java:272)
    at com.indigo.neuron.client.BasicTableModel.getValueAtColumn(BasicTableModel.java:548)
    at com.indigo.neuron.client.BasicTableModel.getValueAtColumn(BasicTableModel.java:543)
    at com.indigo.neuron.client.BasicTableModelSnapshot.getValueAt(BasicTableModelSnapshot.java:105)
    at com.indigo.neuron.client.GroupedTableModel$NormalRow.getValueAt(GroupedTableModel.java:361)
    at com.indigo.neuron.client.GroupedTableModel.getValueAt(GroupedTableModel.java:1947)
    at javax.swing.JTable.getValueAt(JTable.java:2720)
    at javax.swing.JTable.prepareRenderer(JTable.java:5712)
    at javax.swing.plaf.basic.BasicTableUI.paintCell(BasicTableUI.java:2114)
    at javax.swing.plaf.basic.BasicTableUI.paintCells(BasicTableUI.java:2016)
    at javax.swing.plaf.basic.BasicTableUI.paint(BasicTableUI.java:1812)
    at javax.swing.plaf.ComponentUI.update(ComponentUI.java:161)
    at javax.swing.JComponent.paintComponent(JComponent.java:780)
    at javax.swing.JComponent.paint(JComponent.java:1056)
    at javax.swing.JComponent.paintChildren(JComponent.java:889)
    - locked <0x00000006406630e8> (a java.awt.Component$AWTTreeLock)
    at javax.swing.JComponent.paint(JComponent.java:1065)
    at javax.swing.JViewport.paint(JViewport.java:728)
    at javax.swing.JComponent.paintChildren(JComponent.java:889)
    - locked <0x00000006406630e8> (a java.awt.Component$AWTTreeLock)
    at javax.swing.JComponent.paint(JComponent.java:1065)
    at javax.swing.JComponent.paintChildren(JComponent.java:889)
    - locked <0x00000006406630e8> (a java.awt.Component$AWTTreeLock)
    at javax.swing.JComponent.paint(JComponent.java:1065)
    at javax.swing.JComponent.paintChildren(JComponent.java:889)
    - locked <0x00000006406630e8> (a java.awt.Component$AWTTreeLock)
    at javax.swing.JComponent.paint(JComponent.java:1065)
    at javax.swing.JComponent.paintChildren(JComponent.java:889)
    - locked <0x00000006406630e8> (a java.awt.Component$AWTTreeLock)
    at javax.swing.JComponent.paint(JComponent.java:1065)
    at javax.swing.JComponent.paintChildren(JComponent.java:889)
    - locked <0x00000006406630e8> (a java.awt.Component$AWTTreeLock)
    at javax.swing.JComponent.paint(JComponent.java:1065)
    at javax.swing.JComponent.paintChildren(JComponent.java:889)
    - locked <0x00000006406630e8> (a java.awt.Component$AWTTreeLock)
    at javax.swing.JComponent.paint(JComponent.java:1065)
    at javax.swing.JLayeredPane.paint(JLayeredPane.java:586)
    at javax.swing.JComponent.paintChildren(JComponent.java:889)
    - locked <0x00000006406630e8> (a java.awt.Component$AWTTreeLock)
    at javax.swing.JComponent.paint(JComponent.java:1065)
    at javax.swing.JComponent.paintChildren(JComponent.java:889)
    - locked <0x00000006406630e8> (a java.awt.Component$AWTTreeLock)
    at javax.swing.JComponent.paint(JComponent.java:1065)
    at javax.swing.JComponent.paintChildren(JComponent.java:889)
    - locked <0x00000006406630e8> (a java.awt.Component$AWTTreeLock)
    at javax.swing.JComponent.paint(JComponent.java:1065)
    at javax.swing.JLayeredPane.paint(JLayeredPane.java:586)
    at javax.swing.JComponent.paintToOffscreen(JComponent.java:5210)
    at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1579)
    at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1502)
    at javax.swing.RepaintManager.paint(RepaintManager.java:1272)
    at javax.swing.JComponent._paintImmediately(JComponent.java:5158)
    at javax.swing.JComponent.paintImmediately(JComponent.java:4969)
    at javax.swing.RepaintManager$4.run(RepaintManager.java:831)
    at javax.swing.RepaintManager$4.run(RepaintManager.java:814)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
    at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:814)
    at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:789)
    at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:738)
    at javax.swing.RepaintManager.access$1200(RepaintManager.java:64)
    at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1732)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.awt.EventQueue$3.run(EventQueue.java:703)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
"QuoteSnapper":
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x0000000645b7de50> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:870)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1199)
    at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:209)
    at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:285)
    at com.lmax.disruptor.TimeoutBlockingWaitStrategy.signalAllWhenBlocking(TimeoutBlockingWaitStrategy.java:62)
    at com.lmax.disruptor.MultiProducerSequencer.publish(MultiProducerSequencer.java:218)
    at com.lmax.disruptor.RingBuffer.translateAndPublish(RingBuffer.java:966)
    at com.lmax.disruptor.RingBuffer.tryPublishEvent(RingBuffer.java:478)
    at org.apache.logging.log4j.core.async.AsyncLoggerDisruptor.tryPublish(AsyncLoggerDisruptor.java:221)
    at org.apache.logging.log4j.core.async.AsyncLogger.publish(AsyncLogger.java:229)
    at org.apache.logging.log4j.core.async.AsyncLogger.logWithThreadLocalTranslator(AsyncLogger.java:225)
    at org.apache.logging.log4j.core.async.AsyncLogger.access$000(AsyncLogger.java:67)
    at org.apache.logging.log4j.core.async.AsyncLogger$1.log(AsyncLogger.java:152)
    at org.apache.logging.log4j.core.async.AsyncLogger.log(AsyncLogger.java:136)
    at org.apache.logging.log4j.spi.AbstractLogger.tryLogMessage(AbstractLogger.java:2205)
    at org.apache.logging.log4j.spi.AbstractLogger.logMessageTrackRecursion(AbstractLogger.java:2159)
    at org.apache.logging.log4j.spi.AbstractLogger.logMessageSafely(AbstractLogger.java:2142)
    at org.apache.logging.log4j.spi.AbstractLogger.logMessage(AbstractLogger.java:2017)
    at org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:1983)
    at org.apache.logging.log4j.spi.AbstractLogger.log(AbstractLogger.java:1662)
    at com.indigo.utils.Log.logUsingAvailableLogger(Log.java:387)
    at com.indigo.utils.Log.log(Log.java:375)
    at com.indigo.utils.Log.error(Log.java:581)
    at com.indigo.utils.Log.error(Log.java:547)
    at com.indigo.validator.CurrencyConverter$QuoteSnapperTask.run(CurrencyConverter.java:355)
    at java.util.TimerThread.mainLoop(Timer.java:555)
    at java.util.TimerThread.run(Timer.java:505)

Found 1 deadlock.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)