yimiluo created LOG4J2-3549:
-------------------------------
Summary: The printed thread deadlock
Key: LOG4J2-3549
URL: https://issues.apache.org/jira/browse/LOG4J2-3549
Project: Log4j 2
Issue Type: Bug
Components: Log4j 1.2 bridge
Affects Versions: 2.17.2
Reporter: yimiluo
Attachments: image-2022-07-08-20-20-11-818.png
When we were printing the log, the printed thread was deadlocked, causing the
service to go down. The following is the exception information:
!image-2022-07-08-20-20-11-818.png|width=647,height=388!
{code:java}
[arthas@1]$ thread -b
"http-nio-8080-exec-5" Id=97 RUNNABLE (in native)
at [email protected]/java.io.FileOutputStream.writeBytes(Native Method)
at
[email protected]/java.io.FileOutputStream.write(FileOutputStream.java:354)
at
[email protected]/java.io.BufferedOutputStream.write(BufferedOutputStream.java:123)
- locked java.io.BufferedOutputStream@ea9396a
at [email protected]/java.io.PrintStream.write(PrintStream.java:559)
- locked java.io.PrintStream@3ff1e46c
at
org.apache.logging.log4j.core.util.CloseShieldOutputStream.write(CloseShieldOutputStream.java:53)
at
org.apache.logging.log4j.core.appender.OutputStreamManager.writeToDestination(OutputStreamManager.java:250)
at
org.apache.logging.log4j.core.appender.OutputStreamManager.flushBuffer(OutputStreamManager.java:283)
- locked
org.apache.logging.log4j.core.appender.OutputStreamManager@7ba4158c <---- but
blocks 236 other threads!
at
org.apache.logging.log4j.core.appender.OutputStreamManager.flush(OutputStreamManager.java:294)
- locked
org.apache.logging.log4j.core.appender.OutputStreamManager@7ba4158c <---- but
blocks 236 other threads!
at
org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.directEncodeEvent(AbstractOutputStreamAppender.java:199)
at
org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.tryAppend(AbstractOutputStreamAppender.java:190)
at
org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.append(AbstractOutputStreamAppender.java:181)
at
org.apache.logging.log4j.core.config.AppenderControl.tryCallAppender(AppenderControl.java:161)
at
org.apache.logging.log4j.core.config.AppenderControl.callAppender0(AppenderControl.java:134)
at
org.apache.logging.log4j.core.config.AppenderControl.callAppenderPreventRecursion(AppenderControl.java:125)
at
org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:89)
at
org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:542)
at
org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:500)
at
org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:483)
at
org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:417)
at
org.apache.logging.log4j.core.config.AwaitCompletionReliabilityStrategy.log(AwaitCompletionReliabilityStrategy.java:82)
at org.apache.logging.log4j.core.Logger.log(Logger.java:161)
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:2028)
at
org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:1891)
at org.apache.logging.slf4j.Log4jLogger.info(Log4jLogger.java:194) {code}
I don't know what the solution is now. I would be very grateful if you could
reply.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)