Iñaki Ibarrola Atxa created LOG4J2-2887:
-------------------------------------------
Summary: Log4j possibly leaking on Tomcat shutdown when
ScriptFilter is used
Key: LOG4J2-2887
URL: https://issues.apache.org/jira/browse/LOG4J2-2887
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.13.3
Reporter: Iñaki Ibarrola Atxa
Attachments: scriptrunner-thread-shutdown.zip
If an appender uses a ScriptFilter Tomcat complains that a thread local has not
been removed when the application is closed.
Can this create a memory leak?
Could log4j-web remove the thread local to avoid the possible memory leak and
this confusing message?
This behaviour can be reproduced in the attached project:
[^scriptrunner-thread-shutdown.zip]
{{org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks
The web application [scriptrunner-thread-shutdown] created a ThreadLocal with
key of type
[org.apache.logging.log4j.core.script.ScriptManager$ThreadLocalScriptRunner$1]
(value
[org.apache.logging.log4j.core.script.ScriptManager$ThreadLocalScriptRunner$1@3cbad4bf])
and a value of type
[org.apache.logging.log4j.core.script.ScriptManager.MainScriptRunner] (value
[org.apache.logging.log4j.core.script.ScriptManager$MainScriptRunner@3f588643])
but failed to remove it when the web application was stopped. Threads are going
to be renewed over time to try and avoid a probable memory leak.}}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)