[ 
https://issues.apache.org/jira/browse/LOG4J2-3500?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17601643#comment-17601643
 ] 

Ralph Goers commented on LOG4J2-3500:
-------------------------------------

This is not a deadlock. There are 2143 threads waiting for the lock above. The 
thread holding the lock is doing:


{code:java}
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at 
org.apache.sshd.common.channel.Window.waitForCondition(Window.java:291)
        at org.apache.sshd.common.channel.Window.waitForSpace(Window.java:251)
        - locked <0x00000006a824d3b0> (a org.apache.sshd.common.channel.Window)
        at 
org.apache.sshd.common.channel.ChannelOutputStream.flush(ChannelOutputStream.java:182)
        - locked <0x00000006a824d5a0> (a 
org.apache.sshd.common.channel.ChannelOutputStream)
        at 
org.apache.sshd.common.channel.ChannelOutputStream.write(ChannelOutputStream.java:123)
        - locked <0x00000006a824d5a0> (a 
org.apache.sshd.common.channel.ChannelOutputStream)
        at 
org.apache.sshd.common.channel.ChannelOutputStream.write(ChannelOutputStream.java:102)
        - locked <0x00000006a824d5a0> (a 
org.apache.sshd.common.channel.ChannelOutputStream)
        at 
org.jline.terminal.impl.LineDisciplineTerminal.processOutputByte(LineDisciplineTerminal.java:253)
        at 
org.jline.terminal.impl.LineDisciplineTerminal$FilteringOutputStream.write(LineDisciplineTerminal.java:294)
        at java.io.PrintStream.write(PrintStream.java:480)
        - locked <0x00000006a824dd68> (a java.io.PrintStream)
        at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221)
        at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:291)
        at sun.nio.cs.StreamEncoder.flushBuffer(StreamEncoder.java:104)
        - locked <0x00000006a824ddc0> (a java.io.OutputStreamWriter)
        at java.io.OutputStreamWriter.flushBuffer(OutputStreamWriter.java:185)
        at java.io.PrintStream.write(PrintStream.java:527)
        - locked <0x00000006a824dd68> (a java.io.PrintStream)
        at java.io.PrintStream.print(PrintStream.java:669)
        at java.io.PrintStream.append(PrintStream.java:1065)
        at 
org.apache.karaf.log.command.DisplayLog.printEvent(DisplayLog.java:126)
        at 
org.apache.karaf.log.command.DisplayLog.printEvent(DisplayLog.java:110)
        at 
org.apache.karaf.log.command.LogTail.lambda$execute$0(LogTail.java:52)
        at 
org.apache.karaf.log.command.LogTail$$Lambda$376/1279100595.doAppend(Unknown 
Source)
        at 
org.apache.karaf.log.core.internal.LogServiceImpl.doAppend(LogServiceImpl.java:181)
        - locked <0x0000000670d72930> (a 
org.apache.karaf.log.core.internal.LogServiceImpl)
        at 
org.ops4j.pax.logging.spi.support.PaxAppenderProxy.doAppend(PaxAppenderProxy.java:69)

{code}
There are 10 threads that look like this.  The fact that they are all in a 
method named "waitForSpace" implies there is something going on with what looks 
like writing via ssh.  I suspect the problem here is that the appender is 
simply too slow. 

In any case, this is not a Log4j problem.



> Deadlock in Log4j
> -----------------
>
>                 Key: LOG4J2-3500
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-3500
>             Project: Log4j 2
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.12.1
>            Reporter: Gianfranco Amatore
>            Priority: Major
>         Attachments: tdump.2022-03-31 13_10_15.out
>
>
> I encountered a problem on our ESB (Red Hat Fuse 7.6), it seems that the 
> log4j dead locked while writing the log file. The whole jvm remains blocked 
> for about 10 mins, then it starts again executing. Attached the thread-dump 
> that shows the deadlock.
>  
>  
>  
>  
>  



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

Reply via email to