[MAGNOLIA-9073] Debugging WebContextImpl throws null pointer Created: 30/Aug/23  Updated: 30/Aug/23

Status: Open
Project: Magnolia
Component/s: None
Affects Version/s: 6.2.38
Fix Version/s: None

Type: Bug Priority: Neutral
Reporter: Richard Gange Assignee: Unassigned
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: Text File full-stack-trace.txt    
Issue Links:
relation
Template:
Acceptance criteria:
Empty
Task DoD:
[ ]* Doc/release notes changes? Comment present?
[ ]* Downstream builds green?
[ ]* Solution information and context easily available?
[ ]* Tests
[ ]* FixVersion filled and not yet released
[ ]  Architecture Decision Record (ADR)
Bug DoR:
[ ]* Steps to reproduce, expected, and actual results filled
[ ]* Affected version filled

 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

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


Generated at Mon Feb 12 04:38:21 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.