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 "Leon Finker (JIRA)" <ji...@apache.org> on 2016/09/08 17:12:20 UTC

[jira] [Commented] (LOG4J2-1457) Class loader deadlock when using async logging and extended stack trace pattern

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

Leon Finker commented on LOG4J2-1457:
-------------------------------------

Confirmed. NOTE: now that log42 is using DefaultAsyncQueueFullPolicy with EventRoute.SYNCHRONOUS, the deadlock will not happen in any case. In order to reproduce one would have to use EventRoute.ENQUEUE, with which I tested this fix. Before this fix deadlock happens. After this fix deadlock doesn't happen.

> Class loader deadlock when using async logging and extended stack trace pattern
> -------------------------------------------------------------------------------
>
>                 Key: LOG4J2-1457
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-1457
>             Project: Log4j 2
>          Issue Type: Bug
>    Affects Versions: 2.6.1
>         Environment: On CentOS 6.7 and Java 1.8.0_60.
>            Reporter: Leon Finker
>            Assignee: Matt Sicker
>            Priority: Critical
>             Fix For: 2.7
>
>         Attachments: LOG4J2-1457.patch, threaddump.txt
>
>
> We've encountered a class loading deadlock. Please review attached thread dump. Is it possible to have an option of pre-initializing the exception's thread stack on the caller's thread? It's hard to predict what libraries are doing in their classes' static initializers and may eventually end up logging and causing deadlock.
> In the attached thread dump here are the threads of interest:
> "Log4j2-AsyncLogger[AsyncContext@18b4aac2]1" #16 daemon prio=5 os_prio=0 tid=0x00007ff870c7b000 nid=0x79f3 in Object.wait() [0x00007ff839142000]
>    java.lang.Thread.State: RUNNABLE
>         at java.lang.Class.forName0(Native Method)
> ...
> and
> "1A03340:Company:japan" #568 prio=5 os_prio=0 tid=0x00007ff871677000 nid=0x725 runnable [0x00007ff74bd27000]
> ...<clinit>...



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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