[
https://issues.apache.org/jira/browse/LOG4J2-1518?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15427494#comment-15427494
]
Remko Popma commented on LOG4J2-1518:
-------------------------------------
By default the AsyncQueueFullPolicy will only log synchronously if it detects
that the logging attempt is made from the background thread, since this will
definitely cause a deadlock.
In your case the logging attempt (from the toString method) is made from one of
the application threads. It is unclear to me why this would deadlock. Is your
environment Solaris? We have seen a similar issue with Solaris before (TODO add
link to relevant Jira ticket).
> Deadlock when using pure async and toString logs another message
> ----------------------------------------------------------------
>
> Key: LOG4J2-1518
> URL: https://issues.apache.org/jira/browse/LOG4J2-1518
> Project: Log4j 2
> Issue Type: Bug
> Affects Versions: 2.6.2
> Environment: Linux/WIndows/Solaris
> Reporter: Leon Finker
> Assignee: Remko Popma
> Attachments: 10511.jstack, async_deadlock.txt
>
>
> Hi,
> It looks like this was reported before in: LOG4J2-471
> We've encountered similar issue with one of the libraries where it's toString
> was indirectly also logging. This caused a deadlock when RingBuffer was full.
> Please see attached stack snippet.
> According to the following docs, it's possible to set sync policy to
> synchronously log the event if buffer is full. I don't see it documented.
> What's the policy option?
> https://issues.apache.org/jira/plugins/servlet/mobile#issue/LOG4J2-1080
> https://logging.apache.org/log4j/2.x/log4j-core/apidocs/org/apache/logging/log4j/core/async/AsyncQueueFullPolicyFactory.html
> Thank you
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]