[
https://issues.apache.org/jira/browse/LOG4J2-2355?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16520487#comment-16520487
]
Carter Kozak commented on LOG4J2-2355:
--------------------------------------
I've committed this to master and the 2.x branch for the upcoming 2.11.1
release. Could you verify the fix and close this ticket?
Thanks for your contribution [~monti]!
> PropertiesUtil.reload() might throw NullPointerException
> --------------------------------------------------------
>
> Key: LOG4J2-2355
> URL: https://issues.apache.org/jira/browse/LOG4J2-2355
> Project: Log4j 2
> Issue Type: Bug
> Components: API
> Affects Versions: 2.11.0
> Reporter: Henrik
> Assignee: Carter Kozak
> Priority: Major
> Fix For: 3.0.0, 2.11.1
>
>
> SystemPropertiesPropertySource.forEach(..) uses Property.getProperty(..)
> to resolve values. If that value is a non-String, the value will be
> null. Since {{literal}} is a ConcurrentHashMap, a put(..) with null value
> will yield a NullPointerException.
> This is especially hard to debug in the case of e.g. StatusLogger,
> which initializes PropertiesUtil as a static variable. The class is
> unable to load, throws a NoClassDefFoundError, and hides the
> NullPointerException.
> Here's what I got when I had a Property value that was a File:
> Caused by: java.lang.NoClassDefFoundError: Could not initialize class
> org.apache.logging.log4j.util.PropertiesUtil
> at org.apache.logging.log4j.status.StatusLogger.(StatusLogger.java:78)
> at org.apache.logging.log4j.LogManager.(LogManager.java:60)
>
> PR: https://github.com/apache/logging-log4j2/pull/183
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)