Skip to content
This repository has been archived by the owner on Oct 18, 2021. It is now read-only.

Java logging library can hit deadlock #14

Open
cddude229 opened this issue Jun 30, 2021 · 0 comments
Open

Java logging library can hit deadlock #14

cddude229 opened this issue Jun 30, 2021 · 0 comments
Labels
bug Something isn't working

Comments

@cddude229
Copy link
Contributor

Found one Java-level deadlock:
=============================
"default-akka.actor.default-dispatcher-16":
  waiting to lock monitor 0x00007ff8a317e458 (object 0x00000006c1535e38, a com.sumologic.http.queue.BufferWithFifoEviction),
  which is held by "default-akka.actor.default-dispatcher-11"
"default-akka.actor.default-dispatcher-11":
  waiting to lock monitor 0x00007ff8a317fbb8 (object 0x00000006c15768e8, a com.sumologic.http.queue.BufferWithFifoEviction),
  which is held by "default-akka.actor.default-dispatcher-16"

Java stack information for the threads listed above:
===================================================
"default-akka.actor.default-dispatcher-16":
	at com.sumologic.http.queue.BufferWithFifoEviction.add(BufferWithFifoEviction.java:101)
	- waiting to lock <0x00000006c1535e38> (a com.sumologic.http.queue.BufferWithFifoEviction)
	at com.sumologic.log4j.SumoLogicAppender.append(SumoLogicAppender.java:171)
	at org.apache.logging.log4j.core.config.AppenderControl.tryCallAppender(AppenderControl.java:156)
	at org.apache.logging.log4j.core.config.AppenderControl.callAppender0(AppenderControl.java:129)
	at org.apache.logging.log4j.core.config.AppenderControl.callAppenderPreventRecursion(AppenderControl.java:120)
	at org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:84)
	at org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:464)
	at org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:448)
	at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:431)
	at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:406)
	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.tryLogMessage(AbstractLogger.java:2170)
	at org.apache.logging.log4j.spi.AbstractLogger.logMessageTrackRecursion(AbstractLogger.java:2125)
	at org.apache.logging.log4j.spi.AbstractLogger.logMessageSafely(AbstractLogger.java:2108)
	at org.apache.logging.log4j.spi.AbstractLogger.logMessage(AbstractLogger.java:2002)
	at org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:1974)
	at org.apache.logging.log4j.spi.AbstractLogger.warn(AbstractLogger.java:2624)
	at com.sumologic.http.queue.BufferWithFifoEviction.evict(BufferWithFifoEviction.java:83)
	at com.sumologic.http.queue.BufferWithFifoEviction.add(BufferWithFifoEviction.java:103)
	- locked <0x00000006c15768e8> (a com.sumologic.http.queue.BufferWithFifoEviction)
	at com.sumologic.log4j.SumoLogicAppender.append(SumoLogicAppender.java:171)
	at org.apache.logging.log4j.core.config.AppenderControl.tryCallAppender(AppenderControl.java:156)
	at org.apache.logging.log4j.core.config.AppenderControl.callAppender0(AppenderControl.java:129)
	at org.apache.logging.log4j.core.config.AppenderControl.callAppenderPreventRecursion(AppenderControl.java:120)
	at org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:84)
	at org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:464)
	at org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:448)
	at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:431)
	at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:406)
	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.tryLogMessage(AbstractLogger.java:2170)
	at org.apache.logging.log4j.spi.AbstractLogger.logMessageTrackRecursion(AbstractLogger.java:2125)
	at org.apache.logging.log4j.spi.AbstractLogger.logMessageSafely(AbstractLogger.java:2108)
	at org.apache.logging.log4j.spi.AbstractLogger.logMessage(AbstractLogger.java:2002)
	at org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:1974)
	at org.apache.logging.log4j.spi.AbstractLogger.info(AbstractLogger.java:1311)
	at com.sumologic.killerqueen.Logging.info(Logging.scala:37)
	at com.sumologic.killerqueen.Logging.info$(Logging.scala:35)
	at com.sumologic.killerqueen.Main$.info(Main.scala:23)
	at com.sumologic.killerqueen.Main$.$anonfun$connectToCabinet$4(Main.scala:124)
	at com.sumologic.killerqueen.Main$.$anonfun$connectToCabinet$4$adapted(Main.scala:123)
	at com.sumologic.killerqueen.Main$$$Lambda$601/2094918322.apply(Unknown Source)
	at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:64)
	at akka.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:55)
	at akka.dispatch.BatchingExecutor$BlockableBatch.$anonfun$run$1(BatchingExecutor.scala:92)
	at akka.dispatch.BatchingExecutor$BlockableBatch$$Lambda$552/846785519.apply$mcV$sp(Unknown Source)
	at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
	at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:85)
	at akka.dispatch.BatchingExecutor$BlockableBatch.run(BatchingExecutor.scala:92)
	at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:41)
	at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(ForkJoinExecutorConfigurator.scala:49)
	at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
	at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
	at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
	at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
"default-akka.actor.default-dispatcher-11":
	at com.sumologic.http.queue.BufferWithFifoEviction.add(BufferWithFifoEviction.java:101)
	- waiting to lock <0x00000006c15768e8> (a com.sumologic.http.queue.BufferWithFifoEviction)
	at com.sumologic.log4j.SumoLogicAppender.append(SumoLogicAppender.java:171)
	at org.apache.logging.log4j.core.config.AppenderControl.tryCallAppender(AppenderControl.java:156)
	at org.apache.logging.log4j.core.config.AppenderControl.callAppender0(AppenderControl.java:129)
	at org.apache.logging.log4j.core.config.AppenderControl.callAppenderPreventRecursion(AppenderControl.java:120)
	at org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:84)
	at org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:464)
	at org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:448)
	at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:431)
	at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:406)
	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.tryLogMessage(AbstractLogger.java:2170)
	at org.apache.logging.log4j.spi.AbstractLogger.logMessageTrackRecursion(AbstractLogger.java:2125)
	at org.apache.logging.log4j.spi.AbstractLogger.logMessageSafely(AbstractLogger.java:2108)
	at org.apache.logging.log4j.spi.AbstractLogger.logMessage(AbstractLogger.java:2002)
	at org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:1974)
	at org.apache.logging.log4j.spi.AbstractLogger.warn(AbstractLogger.java:2624)
	at com.sumologic.http.queue.BufferWithFifoEviction.evict(BufferWithFifoEviction.java:83)
	at com.sumologic.http.queue.BufferWithFifoEviction.add(BufferWithFifoEviction.java:103)
	- locked <0x00000006c1535e38> (a com.sumologic.http.queue.BufferWithFifoEviction)
	at com.sumologic.log4j.SumoLogicAppender.append(SumoLogicAppender.java:171)
	at org.apache.logging.log4j.core.config.AppenderControl.tryCallAppender(AppenderControl.java:156)
	at org.apache.logging.log4j.core.config.AppenderControl.callAppender0(AppenderControl.java:129)
	at org.apache.logging.log4j.core.config.AppenderControl.callAppenderPreventRecursion(AppenderControl.java:120)
	at org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:84)
	at org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:464)
	at org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:448)
	at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:431)
	at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:406)
	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.tryLogMessage(AbstractLogger.java:2170)
	at org.apache.logging.log4j.spi.AbstractLogger.logMessageTrackRecursion(AbstractLogger.java:2125)
	at org.apache.logging.log4j.spi.AbstractLogger.logMessageSafely(AbstractLogger.java:2108)
	at org.apache.logging.log4j.spi.AbstractLogger.logMessage(AbstractLogger.java:2002)
	at org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:1974)
	at org.apache.logging.log4j.spi.AbstractLogger.info(AbstractLogger.java:1311)
	at com.sumologic.killerqueen.Logging.info(Logging.scala:37)
	at com.sumologic.killerqueen.Logging.info$(Logging.scala:35)
	at com.sumologic.killerqueen.Main$.info(Main.scala:23)
	at com.sumologic.killerqueen.Main$.connectToCabinet(Main.scala:128)
	at com.sumologic.killerqueen.Main$.$anonfun$connectToCabinet$4(Main.scala:125)
	at com.sumologic.killerqueen.Main$.$anonfun$connectToCabinet$4$adapted(Main.scala:123)
	at com.sumologic.killerqueen.Main$$$Lambda$601/2094918322.apply(Unknown Source)
	at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:64)
	at akka.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:55)
	at akka.dispatch.BatchingExecutor$BlockableBatch.$anonfun$run$1(BatchingExecutor.scala:92)
	at akka.dispatch.BatchingExecutor$BlockableBatch$$Lambda$552/846785519.apply$mcV$sp(Unknown Source)
	at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
	at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:85)
	at akka.dispatch.BatchingExecutor$BlockableBatch.run(BatchingExecutor.scala:92)
	at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:41)
	at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(ForkJoinExecutorConfigurator.scala:49)
	at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
	at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
	at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
	at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)

Found 1 deadlock.
@cddude229 cddude229 added the bug Something isn't working label Jun 30, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant