nilsson-petter commented on issue #3399: URL: https://github.com/apache/logging-log4j2/issues/3399#issuecomment-2619125581
We are still experiencing the deadlock with `2.24.4-SNAPSHOT` and jdk: ``` openjdk version "21.0.5" 2024-10-15 OpenJDK Runtime Environment Homebrew (build 21.0.5) OpenJDK 64-Bit Server VM Homebrew (build 21.0.5, mixed mode, sharing) ``` Remedies: - Switch to platform threads for producing to Kafka - Upgrade to jdk24 - Downgrade to 2.24.1 **I'll try to make the time to create a minimal reproducer.** Some threads that are waiting: ``` "executor-Fetch" #361 [177923] prio=5 os_prio=31 cpu=4,04ms elapsed=10,28s tid=0x000000013b8c1e00 nid=177923 waiting on condition [0x0000000347015000] java.lang.Thread.State: WAITING (parking) at jdk.internal.misc.Unsafe.park(java.base@21.0.5/Native Method) - parking to wait for <0x0000000601c3a490> (a java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync) at java.util.concurrent.locks.LockSupport.park(java.base@21.0.5/LockSupport.java:221) at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(java.base@21.0.5/AbstractQueuedSynchronizer.java:754) at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(java.base@21.0.5/AbstractQueuedSynchronizer.java:1079) at java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(java.base@21.0.5/ReentrantReadWriteLock.java:738) at org.apache.logging.log4j.core.util.internal.InternalLoggerRegistry.getLogger(InternalLoggerRegistry.java:71) at org.apache.logging.log4j.core.util.internal.InternalLoggerRegistry.computeIfAbsent(InternalLoggerRegistry.java:145) at org.apache.logging.log4j.core.LoggerContext.getLogger(LoggerContext.java:566) at org.apache.logging.log4j.core.LoggerContext.getLogger(LoggerContext.java:539) at org.apache.logging.log4j.core.LoggerContext.getLogger(LoggerContext.java:70) at org.apache.logging.slf4j.Log4jLoggerFactory.newLogger(Log4jLoggerFactory.java:49) at org.apache.logging.slf4j.Log4jLoggerFactory.newLogger(Log4jLoggerFactory.java:32) at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:52) at org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:32) at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:422) at kafka.utils.Logging.logger(Logging.scala:43) at kafka.utils.Logging.logger$(Logging.scala:43) at kafka.server.FetchSessionCache.logger$lzycompute(FetchSession.scala:587) - locked <0x000000060171a108> (a kafka.server.FetchSessionCache) at kafka.server.FetchSessionCache.logger(FetchSession.scala:587) at kafka.utils.Logging.debug(Logging.scala:62) at kafka.utils.Logging.debug$(Logging.scala:62) at kafka.server.FetchSessionCache.debug(FetchSession.scala:587) at kafka.server.FetchSessionCache.maybeCreateSession(FetchSession.scala:675) - locked <0x000000060171a108> (a kafka.server.FetchSessionCache) at kafka.server.FullFetchContext.updateAndGenerateResponseData(FetchSession.scala:434) at kafka.server.KafkaApis.processResponseCallback$1(KafkaApis.scala:1006) at kafka.server.KafkaApis.$anonfun$handleFetchRequest$31(KafkaApis.scala:1059) at kafka.server.KafkaApis.$anonfun$handleFetchRequest$31$adapted(KafkaApis.scala:1059) at kafka.server.KafkaApis$$Lambda/0x000000b002094c80.apply(Unknown Source) at kafka.server.DelayedFetch.onComplete(DelayedFetch.scala:182) at kafka.server.DelayedOperation.forceComplete(DelayedOperation.scala:73) at kafka.server.DelayedOperation.run(DelayedOperation.scala:128) at java.util.concurrent.Executors$RunnableAdapter.call(java.base@21.0.5/Executors.java:572) at java.util.concurrent.FutureTask.run$$$capture(java.base@21.0.5/FutureTask.java:317) at java.util.concurrent.FutureTask.run(java.base@21.0.5/FutureTask.java) at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@21.0.5/ThreadPoolExecutor.java:1144) at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@21.0.5/ThreadPoolExecutor.java:642) at java.lang.Thread.runWith(java.base@21.0.5/Thread.java:1596) at java.lang.Thread.run(java.base@21.0.5/Thread.java:1583) "kafka-log-cleaner-thread-0" #122 [73475] prio=5 os_prio=31 cpu=6,35ms elapsed=32,64s tid=0x000000013846ba00 nid=73475 waiting on condition [0x0000000319771000] java.lang.Thread.State: WAITING (parking) at jdk.internal.misc.Unsafe.park(java.base@21.0.5/Native Method) - parking to wait for <0x0000000601c3a490> (a java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync) at java.util.concurrent.locks.LockSupport.park(java.base@21.0.5/LockSupport.java:221) at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(java.base@21.0.5/AbstractQueuedSynchronizer.java:754) at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(java.base@21.0.5/AbstractQueuedSynchronizer.java:1079) at java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(java.base@21.0.5/ReentrantReadWriteLock.java:738) at org.apache.logging.log4j.core.util.internal.InternalLoggerRegistry.getLogger(InternalLoggerRegistry.java:71) at org.apache.logging.log4j.core.util.internal.InternalLoggerRegistry.computeIfAbsent(InternalLoggerRegistry.java:145) at org.apache.logging.log4j.core.LoggerContext.getLogger(LoggerContext.java:566) at org.apache.logging.log4j.core.LoggerContext.getLogger(LoggerContext.java:539) at org.apache.logging.log4j.core.LoggerContext.getLogger(LoggerContext.java:70) at org.apache.logging.slf4j.Log4jLoggerFactory.newLogger(Log4jLoggerFactory.java:49) at org.apache.logging.slf4j.Log4jLoggerFactory.newLogger(Log4jLoggerFactory.java:32) at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:52) at org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:32) at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:422) at kafka.utils.Logging.logger(Logging.scala:43) at kafka.utils.Logging.logger$(Logging.scala:43) at kafka.log.LogCleanerManager$.logger$lzycompute(LogCleanerManager.scala:576) - locked <0x00000006015775f0> (a kafka.log.LogCleanerManager$) at kafka.log.LogCleanerManager$.logger(LogCleanerManager.scala:576) at kafka.log.LogCleanerManager$.cleanableOffsets(LogCleanerManager.scala:576) at kafka.log.LogCleanerManager.$anonfun$grabFilthiestCompactedLog$4(LogCleanerManager.scala:195) at kafka.log.LogCleanerManager$$Lambda/0x000000b001629910.apply(Unknown Source) at scala.collection.immutable.List.map(List.scala:247) at scala.collection.immutable.List.map(List.scala:79) at kafka.log.LogCleanerManager.$anonfun$grabFilthiestCompactedLog$1(LogCleanerManager.scala:191) at kafka.log.LogCleanerManager.grabFilthiestCompactedLog(LogCleanerManager.scala:181) at kafka.log.LogCleaner$CleanerThread.cleanFilthiestLog(LogCleaner.scala:408) at kafka.log.LogCleaner$CleanerThread.tryCleanFilthiestLog(LogCleaner.scala:395) at kafka.log.LogCleaner$CleanerThread.doWork(LogCleaner.scala:381) at org.apache.kafka.server.util.ShutdownableThread.run(ShutdownableThread.java:135) ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@logging.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org