Thanks for the report and patch.  Creating a new bug would be better.  Patch 
looks good on a first visual check.


On Dec 10, 2010, at 3:11 AM, Louis Jacomet wrote:

> Hi all,
> 
> I recently investigated a deadlock happening inside our JBoss AS.
> I tracked down the root cause to the AsyncAppender of log4j.
> We use it in blocking mode, with the default buffer size of 128. I was able 
> to reproduce the deadlock live even when increasing the buffer size to 512.
> 
> The problem comes from a race condition when the dispatcher thread dies from 
> an exception. When that happens, if the buffer has been filled up by other 
> threads doing logging, the thread currently waiting on the buffer to be 
> emptied will never be notified and wait there forever.
> As a category lock is held to access the appender, this lead other threads to 
> block forever.
> 
> I found a bug in the database: 
> https://issues.apache.org/bugzilla/show_bug.cgi?id=45915
> However, the root cause was associated to logging from the Dispatcher thread. 
> I have attached a test cause causing the deadlock, showing it can occur even 
> when not logging from the dispatcher thread.
> 
> Should I reopen that bug or create a new one?
> 
> We are using log4j 1.2.14 and JBoss AS 4.3.0.
> The latest trunk version of AsyncAppender still suffers from the race 
> condition.
> 
> Regards,
> Louis
> <Log4JAsyncAppenderDeadLock.java>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to