Details
-
Bug
-
Resolution: Unresolved
-
Neutral
-
None
-
6.2.38
-
None
-
None
Description
When using the debug feature of the class WebContextImpl you can hit a null pointer. The constructor has a debug line inside the constructor.
/**
* Use init to initialize the object.
*/
public WebContextImpl() {
log.debug("new WebContextImpl() {}", this);
}
Reproduce
- Enable debug for the class: info.magnolia.context.WebContextImpl
- Request a page: http://localhost:8080/magnoliaAuthor/travel.html
Expected
There shouldn't be any stack trace printed to the log file.
ERROR StatusConsoleListener An exception occurred processing Appender log-error java.lang.NullPointerException at info.magnolia.context.AbstractContext.getAttributes(AbstractContext.java:104) at info.magnolia.context.AbstractContext.getAttributes(AbstractContext.java:151) at info.magnolia.context.AbstractContext.entrySet(AbstractContext.java:239) at org.apache.logging.log4j.message.ParameterFormatter.appendMap(ParameterFormatter.java:580) at org.apache.logging.log4j.message.ParameterFormatter.appendPotentiallyRecursiveValue(ParameterFormatter.java:511) at org.apache.logging.log4j.message.ParameterFormatter.recursiveDeepToString(ParameterFormatter.java:478) at org.apache.logging.log4j.message.ParameterFormatter.recursiveDeepToString(ParameterFormatter.java:449) at org.apache.logging.log4j.message.ParameterFormatter.formatMessage2(ParameterFormatter.java:192) at org.apache.logging.log4j.message.ParameterizedMessage.formatTo(ParameterizedMessage.java:227) at org.apache.logging.log4j.message.ParameterizedMessage.getFormattedMessage(ParameterizedMessage.java:203) at org.apache.logging.log4j.core.async.InternalAsyncUtil.makeMessageImmutable(InternalAsyncUtil.java:41) at org.apache.logging.log4j.core.appender.AsyncAppender.append(AsyncAppender.java:157) at org.apache.logging.log4j.core.config.AppenderControl.tryCallAppender(AppenderControl.java:161) at org.apache.logging.log4j.core.config.AppenderControl.callAppender0(AppenderControl.java:134) at org.apache.logging.log4j.core.config.AppenderControl.callAppenderPreventRecursion(AppenderControl.java:125) at org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:89) at org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:683) at org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:641) at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:624) at org.apache.logging.log4j.core.config.LoggerConfig.logParent(LoggerConfig.java:674) at org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:643) at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:624) at org.apache.logging.log4j.core.config.LoggerConfig.logParent(LoggerConfig.java:674) at org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:643) at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:624) at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:560) at org.apache.logging.log4j.core.config.DefaultReliabilityStrategy.log(DefaultReliabilityStrategy.java:63) at org.apache.logging.log4j.core.Logger.log(Logger.java:163) at org.apache.logging.log4j.spi.AbstractLogger.tryLogMessage(AbstractLogger.java:2168) at org.apache.logging.log4j.spi.AbstractLogger.logMessageTrackRecursion(AbstractLogger.java:2122) at org.apache.logging.log4j.spi.AbstractLogger.logMessageSafely(AbstractLogger.java:2105) at org.apache.logging.log4j.spi.AbstractLogger.logMessage(AbstractLogger.java:1997) at org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:1862) at org.apache.logging.slf4j.Log4jLogger.debug(Log4jLogger.java:125) at info.magnolia.context.WebContextImpl.<init>(WebContextImpl.java:77) at info.magnolia.context.WebContextFactoryImpl$1.<init>(WebContextFactoryImpl.java:55) at info.magnolia.context.WebContextFactoryImpl.createWebContext(WebContextFactoryImpl.java:55)
Actual
The above stack trace is printed to the log since this appears to be null.
Notes
See full-stack-trace.txt
Checklists
Acceptance criteria