You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by bu...@apache.org on 2006/01/17 18:18:58 UTC

DO NOT REPLY [Bug 38137] - Monitor deadlock in AsyncAppender

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG�
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=38137>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND�
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=38137





------- Additional Comments From boris@folgmann.de  2006-01-17 18:18 -------
I found a second situation where the buggy check bf.length() == 0 leads to a
deadlock:

Very often it happens that AsyncAppender.close() hangs like this:
"TP-Processor251" daemon prio=1 tid=0x699f7ed8 nid=0x39b7 in Object.wait()
[0x70202000..0x70203558]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x4b4f6208> (a org.apache.log4j.Dispatcher)
        at java.lang.Thread.join(Thread.java:1095)
        - locked <0x4b4f6208> (a org.apache.log4j.Dispatcher)
        at java.lang.Thread.join(Thread.java:1148)
        at org.apache.log4j.AsyncAppender.close(AsyncAppender.java:144)

and

"Dispatcher-Thread-134" daemon prio=1 tid=0x08ebbaf8 nid=0x1bde in Object.wait()
[0x6bc9c000..0x6bc9c658]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x4d420e68> (a org.apache.log4j.helpers.BoundedFIFO)
        at java.lang.Object.wait(Object.java:474)
        at org.apache.log4j.Dispatcher.run(AsyncAppender.java:312)
        - locked <0x4d420e68> (a org.apache.log4j.helpers.BoundedFIFO)

The reason is, that Dispatcher.close() DID NOT notify Dispatcher.run(), so
Thread.join() in AsyncAppender.close() waits forever!

Please fix that now, since AsyncAppender is totally unusable with that many
concurrency bugs.



-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org