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

Ralph Goers commented on LOG4J2-2860:
-------------------------------------

Can you get the output from 2 or 3 jstack commands taken 5 to 10 seconds apart 
and attach them here? I'd like to see which thread is holding the lock and if 
it changes. There is a good chance the lock holder will be in the write method 
while all the waiters are either in write, rollover or checkRollover. If so 
then this means you are logging faster than the target disk can handle and you 
are getting lock contention.

> RollingFileManager has a deadlock issue in log4j2 2.5 and earlier
> -----------------------------------------------------------------
>
>                 Key: LOG4J2-2860
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-2860
>             Project: Log4j 2
>          Issue Type: Bug
>          Components: Appenders
>    Affects Versions: 2.5
>            Reporter: John Calcote
>            Priority: Major
>
> We find ourselves in a situation where all threads are waiting for a lock in 
> RollingFileManager, and no thread seems to own it:
> {noformat}
> $ grep 0x000000008015e528 jstack.10122 
>       - waiting to lock <0x000000008015e528> (a 
> org.apache.logging.log4j.core.appender.rolling.RollingFileManager)
>       - waiting to lock <0x000000008015e528> (a 
> org.apache.logging.log4j.core.appender.rolling.RollingFileManager)
>       - waiting to lock <0x000000008015e528> (a 
> org.apache.logging.log4j.core.appender.rolling.RollingFileManager)
>       - waiting to lock <0x000000008015e528> (a 
> org.apache.logging.log4j.core.appender.rolling.RollingFileManager)
>       - waiting to lock <0x000000008015e528> (a 
> org.apache.logging.log4j.core.appender.rolling.RollingFileManager)
>       - waiting to lock <0x000000008015e528> (a 
> org.apache.logging.log4j.core.appender.rolling.RollingFileManager)
>       - waiting to lock <0x000000008015e528> (a 
> org.apache.logging.log4j.core.appender.rolling.RollingFileManager)
>       - waiting to lock <0x000000008015e528> (a 
> org.apache.logging.log4j.core.appender.rolling.RollingFileManager)
>       - waiting to lock <0x000000008015e528> (a 
> org.apache.logging.log4j.core.appender.rolling.RollingFileManager)
>       - waiting to lock <0x000000008015e528> (a 
> org.apache.logging.log4j.core.appender.rolling.RollingFileManager)
>       - waiting to lock <0x000000008015e528> (a 
> org.apache.logging.log4j.core.appender.rolling.RollingFileManager)
>       - waiting to lock <0x000000008015e528> (a 
> org.apache.logging.log4j.core.appender.rolling.RollingFileManager)
>       - waiting to lock <0x000000008015e528> (a 
> org.apache.logging.log4j.core.appender.rolling.RollingFileManager)
>       - waiting to lock <0x000000008015e528> (a 
> org.apache.logging.log4j.core.appender.rolling.RollingFileManager)
>       - waiting to lock <0x000000008015e528> (a 
> org.apache.logging.log4j.core.appender.rolling.RollingFileManager)
>       - waiting to lock <0x000000008015e528> (a 
> org.apache.logging.log4j.core.appender.rolling.RollingFileManager)
>       - waiting to lock <0x000000008015e528> (a 
> org.apache.logging.log4j.core.appender.rolling.RollingFileManager)
>       - waiting to lock <0x000000008015e528> (a 
> org.apache.logging.log4j.core.appender.rolling.RollingFileManager)
>       - waiting to lock <0x000000008015e528> (a 
> org.apache.logging.log4j.core.appender.rolling.RollingFileManager)
>       - waiting to lock <0x000000008015e528> (a 
> org.apache.logging.log4j.core.appender.rolling.RollingFileManager)
>       - waiting to lock <0x000000008015e528> (a 
> org.apache.logging.log4j.core.appender.rolling.RollingFileManager)
>       - waiting to lock <0x000000008015e528> (a 
> org.apache.logging.log4j.core.appender.rolling.RollingFileManager)
>       - waiting to lock <0x000000008015e528> (a 
> org.apache.logging.log4j.core.appender.rolling.RollingFileManager)
>       - waiting to lock <0x000000008015e528> (a 
> org.apache.logging.log4j.core.appender.rolling.RollingFileManager)
>       - waiting to lock <0x000000008015e528> (a 
> org.apache.logging.log4j.core.appender.rolling.RollingFileManager)
>       - waiting to lock <0x000000008015e528> (a 
> org.apache.logging.log4j.core.appender.rolling.RollingFileManager)
>       - waiting to lock <0x000000008015e528> (a 
> org.apache.logging.log4j.core.appender.rolling.RollingFileManager)
>       - waiting to lock <0x000000008015e528> (a 
> org.apache.logging.log4j.core.appender.rolling.RollingFileManager)
>       - waiting to lock <0x000000008015e528> (a 
> org.apache.logging.log4j.core.appender.rolling.RollingFileManager)
>       - waiting to lock <0x000000008015e528> (a 
> org.apache.logging.log4j.core.appender.rolling.RollingFileManager)
>       - waiting to lock <0x000000008015e528> (a 
> org.apache.logging.log4j.core.appender.rolling.RollingFileManager)
>       - waiting to lock <0x000000008015e528> (a 
> org.apache.logging.log4j.core.appender.rolling.RollingFileManager)
>       - waiting to lock <0x000000008015e528> (a 
> org.apache.logging.log4j.core.appender.rolling.RollingFileManager)
>       - waiting to lock <0x000000008015e528> (a 
> org.apache.logging.log4j.core.appender.rolling.RollingFileManager)
>       - waiting to lock <0x000000008015e528> (a 
> org.apache.logging.log4j.core.appender.rolling.RollingFileManager) {noformat}
> This leads me to believe that some thread grabbed the lock and died while 
> holding it. 
> We will try upgrading to 2.13 to see if it's been fixed, of course.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to