[ https://issues.apache.org/jira/browse/LOG4J2-2816?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17082666#comment-17082666 ]
Remko Popma commented on LOG4J2-2816: ------------------------------------- Thank you for the info, that is helpful: I cannot find any problems with the Log4j configuration. Some more version questions: what version of the LMAX Disruptor are you using, and what operating system and version? I don't have a clear "smoking gun" candidate that I suspect could be the cause of this. The "purging class loader data graph" log is emitted by [SafepointSynchronize::do_cleanup_tasks|http://hg.openjdk.java.net/jdk8u/jdk8u-dev/hotspot/file/7384f6a12fc1/src/share/vm/runtime/safepoint.cpp#l544], so there seems to be some correlation between a safepoint being reached - and potentially a garbage collection taking place - and this NPE. What GC algorithm are you using? Depending on what version of LMAX Disruptor you are currently on, you could try upgrading to [3.4.2|https://github.com/LMAX-Exchange/disruptor]. Alternatively, you can try reverting to a previous version of Log4j to see if the problem still occurs. Specifically, there was some Async Logging work done in Log4j [2.12.0|http://logging.apache.org/log4j/2.x/changes-report.html#a2.12.0] that touched this area of the code, you could try if the problem still occurs with a version prior to that, for example, you could try with Log4j version 2.11.2. > NullPointerException from AsyncLogger > ------------------------------------- > > Key: LOG4J2-2816 > URL: https://issues.apache.org/jira/browse/LOG4J2-2816 > Project: Log4j 2 > Issue Type: Bug > Components: Core > Affects Versions: 2.13.0 > Reporter: Denis > Priority: Minor > > We've got several times following NullPointerException (example from our > stdout.log): > > {code:java} > 84449.232: [purging class loader data graph, 0.0000003 secs] > AsyncLogger error handling event seq=1037012, > value='org.apache.logging.log4j.core.async.RingBufferLogEvent@2a7b2d78': > java.lang.NullPointerException: null > java.lang.NullPointerException > at > org.apache.logging.log4j.core.async.RingBufferLogEvent.execute(RingBufferLogEvent.java:161) > at > org.apache.logging.log4j.core.async.RingBufferLogEventHandler.onEvent(RingBufferLogEventHandler.java:46) > at > org.apache.logging.log4j.core.async.RingBufferLogEventHandler.onEvent(RingBufferLogEventHandler.java:29) > at > com.lmax.disruptor.BatchEventProcessor.processEvents(BatchEventProcessor.java:168) > at com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:125) > at java.lang.Thread.run(Thread.java:748) > AsyncLogger error handling event seq=1037022, > value='org.apache.logging.log4j.core.async.RingBufferLogEvent@d5d330f': > java.lang.NullPointerException: null > java.lang.NullPointerException > at > org.apache.logging.log4j.core.async.RingBufferLogEvent.execute(RingBufferLogEvent.java:161) > at > org.apache.logging.log4j.core.async.RingBufferLogEventHandler.onEvent(RingBufferLogEventHandler.java:46) > at > org.apache.logging.log4j.core.async.RingBufferLogEventHandler.onEvent(RingBufferLogEventHandler.java:29) > at > com.lmax.disruptor.BatchEventProcessor.processEvents(BatchEventProcessor.java:168) > at com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:125) > at java.lang.Thread.run(Thread.java:748) > 84450.232: [deflating idle monitors, 0.0000624 secs] > {code} > > What is interesting this NPEs always preceeded by > {code} > 84449.232: [purging class loader data graph, 0.0000003 secs] vm message > {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)