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)