You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@logging.apache.org by "Geng Yuanzhe (Jira)" <ji...@apache.org> on 2020/09/18 07:48:00 UTC

[jira] [Commented] (LOG4J2-2918) NPE on reconfigure method call with async configuration

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

Geng Yuanzhe commented on LOG4J2-2918:
--------------------------------------

I've test your case, and you should just remove the code *Configurator.reconfigure(config);*

Because when reconfigure of log4j2, the config is first set to the new one, and then stop the prev one.  In your case, the *prev one is the new one*. So this config is stopped, which will stop the Disruptor and set it to null. Then when you try to log with the logger, the NPE is thrown. 

Maybe the method reconfigure() should do something to protect this case. But in your case, just delete the *Configurator.reconfigure(config)*, and everything will be ok.

> NPE on reconfigure method call with async configuration
> -------------------------------------------------------
>
>                 Key: LOG4J2-2918
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-2918
>             Project: Log4j 2
>          Issue Type: Bug
>    Affects Versions: 2.13.3
>            Reporter: Dennys Fredericci
>            Priority: Major
>
> I am getting the error below trying to reconfigure log4j programmatically.
>  
> {code:java}
> 2020-08-24 10:10:18,163 main ERROR Could not register mbeans java.lang.NullPointerException at org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.createRingBufferAdmin(AsyncLoggerConfigDisruptor.java:417) at org.apache.logging.log4j.core.async.AsyncLoggerConfig.createRingBufferAdmin(AsyncLoggerConfig.java:199) at org.apache.logging.log4j.core.jmx.Server.registerLoggerConfigs(Server.java:366) at org.apache.logging.log4j.core.jmx.Server.reregisterMBeansAfterReconfigure(Server.java:186) at org.apache.logging.log4j.core.jmx.Server.reregisterMBeansAfterReconfigure(Server.java:141) at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:629) at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:712) at org.apache.logging.log4j.core.config.Configurator.reconfigure(Configurator.java:239) at br.com.fredericci.Main.main(Main.java:28)
> {code}
>  
> Seems the same or similar problem described here:
> https://issues.apache.org/jira/browse/LOG4J2-807
> Here is the project which reproduces this issue:
> [https://github.com/dennysfredericci/log4j2-filter-spike]



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