Discussion:
[jira] [Created] (LOG4J2-323) ThreadLocal-leak on tomcat shutdown when using async logging
Michael Kloster (JIRA)
2013-07-28 16:47:48 UTC
Permalink
Michael Kloster created LOG4J2-323:
--------------------------------------

Summary: ThreadLocal-leak on tomcat shutdown when using async logging
Key: LOG4J2-323
URL: https://issues.apache.org/jira/browse/LOG4J2-323
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.0-beta9
Environment: Mac OS X 10.8.4, Tomcat 7.0.42, java version 1.6.0_51
Reporter: Michael Kloster
Priority: Minor


When shutting down Tomcat 7.0.42, catalina.out displays the following warning indicating a memory leak:

{code}
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:55:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 841 ms
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jul 28, 2013 9:56:09 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
SEVERE: The web application [/asynclog] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [***@648bfdea]) and a value of type [org.apache.logging.log4j.core.async.AsyncLogger.Info] (value [org.apache.logging.log4j.core.async.AsyncLogger$***@4e26d560]) 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.
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
{code}

{code:xml|title=log4j2.xml|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<FastRollingFile name="MyFileLog" filename="logs/my.log"
filePattern="logs/my-%d{COMPACT}.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
<Policies>
<SizeBasedTriggeringPolicy size="5MB" />
</Policies>
</FastRollingFile>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</Console>
</appenders>
<loggers>
<logger name="mylogger" level="INFO" additivity="false">
<appender-ref ref="MyFileLog" />
</logger>
<root level="TRACE">
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>
{code}

{code:title=log4j2.xml|borderStyle=solid}
#!/bin/bash

CATALINA_OPTS=-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
{code}


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
Remko Popma (JIRA)
2013-10-15 00:32:43 UTC
Permalink
[ https://issues.apache.org/jira/browse/LOG4J2-323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13794704#comment-13794704 ]

Remko Popma commented on LOG4J2-323:
------------------------------------

This issue is similar to LOG4J2-425. Both AsyncLoggerConfigHelper and AsyncLogger use a similar mechanism, so they should be fixed together.

This issue is also related to LOG4J2-406, as any work to release the ThreadLocal references should be done at the same timing as unregistering MBeans.
Post by Michael Kloster (JIRA)
ThreadLocal-leak on tomcat shutdown when using async logging
------------------------------------------------------------
Key: LOG4J2-323
URL: https://issues.apache.org/jira/browse/LOG4J2-323
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.0-beta9
Environment: Mac OS X 10.8.4, Tomcat 7.0.42, java version 1.6.0_51
Reporter: Michael Kloster
Priority: Minor
{code}
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:55:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 841 ms
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jul 28, 2013 9:56:09 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
{code}
{code:xml|title=log4j2.xml|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<FastRollingFile name="MyFileLog" filename="logs/my.log"
filePattern="logs/my-%d{COMPACT}.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
<Policies>
<SizeBasedTriggeringPolicy size="5MB" />
</Policies>
</FastRollingFile>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</Console>
</appenders>
<loggers>
<logger name="mylogger" level="INFO" additivity="false">
<appender-ref ref="MyFileLog" />
</logger>
<root level="TRACE">
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>
{code}
{code:title=log4j2.xml|borderStyle=solid}
#!/bin/bash
CATALINA_OPTS=-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
{code}
--
This message was sent by Atlassian JIRA
(v6.1#6144)
Remko Popma (JIRA)
2013-10-15 00:48:41 UTC
Permalink
[ https://issues.apache.org/jira/browse/LOG4J2-323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13794704#comment-13794704 ]

Remko Popma edited comment on LOG4J2-323 at 10/15/13 12:47 AM:
---------------------------------------------------------------

This issue is similar to LOG4J2-425. Both AsyncLoggerConfigHelper and AsyncLogger use a similar mechanism, so they should be fixed together.

Implementation note:
the simplest way to accomplish this is probably to null out the reference to the ThreadLocal field (or replace it with a new instance), so that the old instance (with its map of thread references) can be garbage collected. (This means the field can no longer be final.)


was (Author: ***@yahoo.com):
This issue is similar to LOG4J2-425. Both AsyncLoggerConfigHelper and AsyncLogger use a similar mechanism, so they should be fixed together.

This issue is also related to LOG4J2-406, as any work to release the ThreadLocal references should be done at the same timing as unregistering MBeans.
Post by Michael Kloster (JIRA)
ThreadLocal-leak on tomcat shutdown when using async logging
------------------------------------------------------------
Key: LOG4J2-323
URL: https://issues.apache.org/jira/browse/LOG4J2-323
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.0-beta9
Environment: Mac OS X 10.8.4, Tomcat 7.0.42, java version 1.6.0_51
Reporter: Michael Kloster
Priority: Minor
{code}
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:55:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 841 ms
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jul 28, 2013 9:56:09 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
{code}
{code:xml|title=log4j2.xml|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<FastRollingFile name="MyFileLog" filename="logs/my.log"
filePattern="logs/my-%d{COMPACT}.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
<Policies>
<SizeBasedTriggeringPolicy size="5MB" />
</Policies>
</FastRollingFile>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</Console>
</appenders>
<loggers>
<logger name="mylogger" level="INFO" additivity="false">
<appender-ref ref="MyFileLog" />
</logger>
<root level="TRACE">
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>
{code}
{code:title=log4j2.xml|borderStyle=solid}
#!/bin/bash
CATALINA_OPTS=-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
{code}
--
This message was sent by Atlassian JIRA
(v6.1#6144)
Remko Popma (JIRA)
2013-10-15 00:50:42 UTC
Permalink
[ https://issues.apache.org/jira/browse/LOG4J2-323?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Remko Popma reassigned LOG4J2-323:
----------------------------------

Assignee: Remko Popma
Post by Michael Kloster (JIRA)
ThreadLocal-leak on tomcat shutdown when using async logging
------------------------------------------------------------
Key: LOG4J2-323
URL: https://issues.apache.org/jira/browse/LOG4J2-323
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.0-beta9
Environment: Mac OS X 10.8.4, Tomcat 7.0.42, java version 1.6.0_51
Reporter: Michael Kloster
Assignee: Remko Popma
Priority: Minor
{code}
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:55:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 841 ms
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jul 28, 2013 9:56:09 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
{code}
{code:xml|title=log4j2.xml|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<FastRollingFile name="MyFileLog" filename="logs/my.log"
filePattern="logs/my-%d{COMPACT}.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
<Policies>
<SizeBasedTriggeringPolicy size="5MB" />
</Policies>
</FastRollingFile>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</Console>
</appenders>
<loggers>
<logger name="mylogger" level="INFO" additivity="false">
<appender-ref ref="MyFileLog" />
</logger>
<root level="TRACE">
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>
{code}
{code:title=log4j2.xml|borderStyle=solid}
#!/bin/bash
CATALINA_OPTS=-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
{code}
--
This message was sent by Atlassian JIRA
(v6.1#6144)
Remko Popma (JIRA)
2013-10-15 17:08:43 UTC
Permalink
[ https://issues.apache.org/jira/browse/LOG4J2-323?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Remko Popma resolved LOG4J2-323.
--------------------------------

Resolution: Fixed
Fix Version/s: 2.0-rc1

Resolved memory leak by releasing reference to ThreadLocal when AsyncLogger is stopped.

Fixed in revision 1532438.
Please verify and close.
Post by Michael Kloster (JIRA)
ThreadLocal-leak on tomcat shutdown when using async logging
------------------------------------------------------------
Key: LOG4J2-323
URL: https://issues.apache.org/jira/browse/LOG4J2-323
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.0-beta9
Environment: Mac OS X 10.8.4, Tomcat 7.0.42, java version 1.6.0_51
Reporter: Michael Kloster
Assignee: Remko Popma
Priority: Minor
Fix For: 2.0-rc1
{code}
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:55:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 841 ms
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jul 28, 2013 9:56:09 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
{code}
{code:xml|title=log4j2.xml|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<FastRollingFile name="MyFileLog" filename="logs/my.log"
filePattern="logs/my-%d{COMPACT}.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
<Policies>
<SizeBasedTriggeringPolicy size="5MB" />
</Policies>
</FastRollingFile>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</Console>
</appenders>
<loggers>
<logger name="mylogger" level="INFO" additivity="false">
<appender-ref ref="MyFileLog" />
</logger>
<root level="TRACE">
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>
{code}
{code:title=log4j2.xml|borderStyle=solid}
#!/bin/bash
CATALINA_OPTS=-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
{code}
--
This message was sent by Atlassian JIRA
(v6.1#6144)
Hudson (JIRA)
2013-10-16 09:25:42 UTC
Permalink
[ https://issues.apache.org/jira/browse/LOG4J2-323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13796598#comment-13796598 ]

Hudson commented on LOG4J2-323:
-------------------------------

SUCCESS: Integrated in Syncope-trunk #467 (See [https://builds.apache.org/job/Syncope-trunk/467/])
Getting log4j 2.0RC1 enhancements (including LOG4J2-323) and avoid resetting log files between restarts (ilgrosso: rev 1532675)
* /syncope/trunk/console/src/main/resources/log4j2.xml
* /syncope/trunk/core/src/main/resources/log4j2.xml
* /syncope/trunk/pom.xml
Post by Michael Kloster (JIRA)
ThreadLocal-leak on tomcat shutdown when using async logging
------------------------------------------------------------
Key: LOG4J2-323
URL: https://issues.apache.org/jira/browse/LOG4J2-323
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.0-beta9
Environment: Mac OS X 10.8.4, Tomcat 7.0.42, java version 1.6.0_51
Reporter: Michael Kloster
Assignee: Remko Popma
Priority: Minor
Fix For: 2.0-rc1
{code}
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:55:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 841 ms
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jul 28, 2013 9:56:09 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
{code}
{code:xml|title=log4j2.xml|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<FastRollingFile name="MyFileLog" filename="logs/my.log"
filePattern="logs/my-%d{COMPACT}.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
<Policies>
<SizeBasedTriggeringPolicy size="5MB" />
</Policies>
</FastRollingFile>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</Console>
</appenders>
<loggers>
<logger name="mylogger" level="INFO" additivity="false">
<appender-ref ref="MyFileLog" />
</logger>
<root level="TRACE">
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>
{code}
{code:title=log4j2.xml|borderStyle=solid}
#!/bin/bash
CATALINA_OPTS=-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
{code}
--
This message was sent by Atlassian JIRA
(v6.1#6144)
Remko Popma (JIRA)
2013-10-16 12:25:44 UTC
Permalink
[ https://issues.apache.org/jira/browse/LOG4J2-323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13796717#comment-13796717 ]

Remko Popma commented on LOG4J2-323:
------------------------------------

Hi Hudson, so before you were seeing the Tomcat memory leak warning but with the latest checkout from trunk you are no longer seeing it?
Post by Michael Kloster (JIRA)
ThreadLocal-leak on tomcat shutdown when using async logging
------------------------------------------------------------
Key: LOG4J2-323
URL: https://issues.apache.org/jira/browse/LOG4J2-323
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.0-beta9
Environment: Mac OS X 10.8.4, Tomcat 7.0.42, java version 1.6.0_51
Reporter: Michael Kloster
Assignee: Remko Popma
Priority: Minor
Fix For: 2.0-rc1
{code}
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:55:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 841 ms
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jul 28, 2013 9:56:09 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
{code}
{code:xml|title=log4j2.xml|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<FastRollingFile name="MyFileLog" filename="logs/my.log"
filePattern="logs/my-%d{COMPACT}.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
<Policies>
<SizeBasedTriggeringPolicy size="5MB" />
</Policies>
</FastRollingFile>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</Console>
</appenders>
<loggers>
<logger name="mylogger" level="INFO" additivity="false">
<appender-ref ref="MyFileLog" />
</logger>
<root level="TRACE">
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>
{code}
{code:title=log4j2.xml|borderStyle=solid}
#!/bin/bash
CATALINA_OPTS=-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
{code}
--
This message was sent by Atlassian JIRA
(v6.1#6144)
Francesco Chicchiriccò (JIRA)
2013-10-16 12:37:46 UTC
Permalink
[ https://issues.apache.org/jira/browse/LOG4J2-323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13796730#comment-13796730 ]

Francesco Chicchiriccò commented on LOG4J2-323:
-----------------------------------------------

It's not Hudson, it's me updating log4j2 version to 2.0RC1-SNAPSHOT on Syncope trunk :-)

Anyway, I confirm the fix works: nice job!
Regards.
Post by Michael Kloster (JIRA)
ThreadLocal-leak on tomcat shutdown when using async logging
------------------------------------------------------------
Key: LOG4J2-323
URL: https://issues.apache.org/jira/browse/LOG4J2-323
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.0-beta9
Environment: Mac OS X 10.8.4, Tomcat 7.0.42, java version 1.6.0_51
Reporter: Michael Kloster
Assignee: Remko Popma
Priority: Minor
Fix For: 2.0-rc1
{code}
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:55:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 841 ms
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jul 28, 2013 9:56:09 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
{code}
{code:xml|title=log4j2.xml|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<FastRollingFile name="MyFileLog" filename="logs/my.log"
filePattern="logs/my-%d{COMPACT}.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
<Policies>
<SizeBasedTriggeringPolicy size="5MB" />
</Policies>
</FastRollingFile>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</Console>
</appenders>
<loggers>
<logger name="mylogger" level="INFO" additivity="false">
<appender-ref ref="MyFileLog" />
</logger>
<root level="TRACE">
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>
{code}
{code:title=log4j2.xml|borderStyle=solid}
#!/bin/bash
CATALINA_OPTS=-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
{code}
--
This message was sent by Atlassian JIRA
(v6.1#6144)
Remko Popma (JIRA)
2013-10-16 12:51:45 UTC
Permalink
[ https://issues.apache.org/jira/browse/LOG4J2-323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13796745#comment-13796745 ]

Remko Popma commented on LOG4J2-323:
------------------------------------

Oh. :-)
Sorry Francesco. And thanks for the confirmation!
Post by Michael Kloster (JIRA)
ThreadLocal-leak on tomcat shutdown when using async logging
------------------------------------------------------------
Key: LOG4J2-323
URL: https://issues.apache.org/jira/browse/LOG4J2-323
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.0-beta9
Environment: Mac OS X 10.8.4, Tomcat 7.0.42, java version 1.6.0_51
Reporter: Michael Kloster
Assignee: Remko Popma
Priority: Minor
Fix For: 2.0-rc1
{code}
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:55:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 841 ms
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jul 28, 2013 9:56:09 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
{code}
{code:xml|title=log4j2.xml|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<FastRollingFile name="MyFileLog" filename="logs/my.log"
filePattern="logs/my-%d{COMPACT}.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
<Policies>
<SizeBasedTriggeringPolicy size="5MB" />
</Policies>
</FastRollingFile>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</Console>
</appenders>
<loggers>
<logger name="mylogger" level="INFO" additivity="false">
<appender-ref ref="MyFileLog" />
</logger>
<root level="TRACE">
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>
{code}
{code:title=log4j2.xml|borderStyle=solid}
#!/bin/bash
CATALINA_OPTS=-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
{code}
--
This message was sent by Atlassian JIRA
(v6.1#6144)
Hemri (JIRA)
2014-01-24 14:42:38 UTC
Permalink
[ https://issues.apache.org/jira/browse/LOG4J2-323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13881009#comment-13881009 ]

Hemri commented on LOG4J2-323:
------------------------------

Hi,

It still have the same issue with the latest RC1 build from the trunk today (01/24)

The console output:
The web application [/api] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [***@7d993bfd]) and a value of type [org.apache.logging.log4j.core.async.AsyncLogger.Info] (value [org.apache.logging.log4j.core.async.AsyncLogger$***@57319f76]) 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.

Thanks
Post by Michael Kloster (JIRA)
ThreadLocal-leak on tomcat shutdown when using async logging
------------------------------------------------------------
Key: LOG4J2-323
URL: https://issues.apache.org/jira/browse/LOG4J2-323
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.0-beta9
Environment: Mac OS X 10.8.4, Tomcat 7.0.42, java version 1.6.0_51
Reporter: Michael Kloster
Assignee: Remko Popma
Priority: Minor
Fix For: 2.0-rc1
{code}
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:55:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 841 ms
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jul 28, 2013 9:56:09 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
{code}
{code:xml|title=log4j2.xml|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<FastRollingFile name="MyFileLog" filename="logs/my.log"
filePattern="logs/my-%d{COMPACT}.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
<Policies>
<SizeBasedTriggeringPolicy size="5MB" />
</Policies>
</FastRollingFile>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</Console>
</appenders>
<loggers>
<logger name="mylogger" level="INFO" additivity="false">
<appender-ref ref="MyFileLog" />
</logger>
<root level="TRACE">
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>
{code}
{code:title=log4j2.xml|borderStyle=solid}
#!/bin/bash
CATALINA_OPTS=-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
{code}
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)
Nick Williams (JIRA)
2014-01-30 04:08:11 UTC
Permalink
[ https://issues.apache.org/jira/browse/LOG4J2-323?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Nick Williams reopened LOG4J2-323:
----------------------------------


Remko,

Nulling out the reference to the {{ThreadLocal}} is not enough (in fact, it's not even necessary). If it were enough, then once the object holding the reference was eligible for garbage collection the {{ThreadLocal}} would go away—but it doesn't.

To remove a {{ThreadLocal}}'s contents, you must call the {{remove}} method on the {{ThreadLocal}}. There is no reason to null out the {{ThreadLocal}} instance once {{remove}} has been called.

I'll have this fixed shortly.
Post by Michael Kloster (JIRA)
ThreadLocal-leak on tomcat shutdown when using async logging
------------------------------------------------------------
Key: LOG4J2-323
URL: https://issues.apache.org/jira/browse/LOG4J2-323
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.0-beta9
Environment: Mac OS X 10.8.4, Tomcat 7.0.42, java version 1.6.0_51
Reporter: Michael Kloster
Assignee: Remko Popma
Priority: Minor
Fix For: 2.0-rc1
{code}
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:55:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 841 ms
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jul 28, 2013 9:56:09 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
{code}
{code:xml|title=log4j2.xml|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<FastRollingFile name="MyFileLog" filename="logs/my.log"
filePattern="logs/my-%d{COMPACT}.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
<Policies>
<SizeBasedTriggeringPolicy size="5MB" />
</Policies>
</FastRollingFile>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</Console>
</appenders>
<loggers>
<logger name="mylogger" level="INFO" additivity="false">
<appender-ref ref="MyFileLog" />
</logger>
<root level="TRACE">
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>
{code}
{code:title=log4j2.xml|borderStyle=solid}
#!/bin/bash
CATALINA_OPTS=-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
{code}
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)
Nick Williams (JIRA)
2014-01-30 04:10:09 UTC
Permalink
[ https://issues.apache.org/jira/browse/LOG4J2-323?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Nick Williams resolved LOG4J2-323.
----------------------------------

Resolution: Fixed

Fixed with r1562688. Please verify and close.
Post by Michael Kloster (JIRA)
ThreadLocal-leak on tomcat shutdown when using async logging
------------------------------------------------------------
Key: LOG4J2-323
URL: https://issues.apache.org/jira/browse/LOG4J2-323
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.0-beta9
Environment: Mac OS X 10.8.4, Tomcat 7.0.42, java version 1.6.0_51
Reporter: Michael Kloster
Assignee: Nick Williams
Priority: Minor
Fix For: 2.0-rc1
{code}
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:55:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 841 ms
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jul 28, 2013 9:56:09 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
{code}
{code:xml|title=log4j2.xml|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<FastRollingFile name="MyFileLog" filename="logs/my.log"
filePattern="logs/my-%d{COMPACT}.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
<Policies>
<SizeBasedTriggeringPolicy size="5MB" />
</Policies>
</FastRollingFile>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</Console>
</appenders>
<loggers>
<logger name="mylogger" level="INFO" additivity="false">
<appender-ref ref="MyFileLog" />
</logger>
<root level="TRACE">
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>
{code}
{code:title=log4j2.xml|borderStyle=solid}
#!/bin/bash
CATALINA_OPTS=-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
{code}
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)
Remko Popma (JIRA)
2014-01-30 04:18:14 UTC
Permalink
[ https://issues.apache.org/jira/browse/LOG4J2-323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13886239#comment-13886239 ]

Remko Popma commented on LOG4J2-323:
------------------------------------

Nick, nice catch! Thanks!

Mickael, can you verify?
Post by Michael Kloster (JIRA)
ThreadLocal-leak on tomcat shutdown when using async logging
------------------------------------------------------------
Key: LOG4J2-323
URL: https://issues.apache.org/jira/browse/LOG4J2-323
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.0-beta9
Environment: Mac OS X 10.8.4, Tomcat 7.0.42, java version 1.6.0_51
Reporter: Michael Kloster
Assignee: Nick Williams
Priority: Minor
Fix For: 2.0-rc1
{code}
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:55:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 841 ms
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jul 28, 2013 9:56:09 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
{code}
{code:xml|title=log4j2.xml|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<FastRollingFile name="MyFileLog" filename="logs/my.log"
filePattern="logs/my-%d{COMPACT}.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
<Policies>
<SizeBasedTriggeringPolicy size="5MB" />
</Policies>
</FastRollingFile>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</Console>
</appenders>
<loggers>
<logger name="mylogger" level="INFO" additivity="false">
<appender-ref ref="MyFileLog" />
</logger>
<root level="TRACE">
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>
{code}
{code:title=log4j2.xml|borderStyle=solid}
#!/bin/bash
CATALINA_OPTS=-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
{code}
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)
Michael Kloster (JIRA)
2014-01-30 04:28:11 UTC
Permalink
[ https://issues.apache.org/jira/browse/LOG4J2-323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13886245#comment-13886245 ]

Michael Kloster commented on LOG4J2-323:
----------------------------------------

Yes, I will pull and verify tonight.
Post by Michael Kloster (JIRA)
ThreadLocal-leak on tomcat shutdown when using async logging
------------------------------------------------------------
Key: LOG4J2-323
URL: https://issues.apache.org/jira/browse/LOG4J2-323
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.0-beta9
Environment: Mac OS X 10.8.4, Tomcat 7.0.42, java version 1.6.0_51
Reporter: Michael Kloster
Assignee: Nick Williams
Priority: Minor
Fix For: 2.0-rc1
{code}
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:55:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 841 ms
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jul 28, 2013 9:56:09 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
{code}
{code:xml|title=log4j2.xml|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<FastRollingFile name="MyFileLog" filename="logs/my.log"
filePattern="logs/my-%d{COMPACT}.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
<Policies>
<SizeBasedTriggeringPolicy size="5MB" />
</Policies>
</FastRollingFile>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</Console>
</appenders>
<loggers>
<logger name="mylogger" level="INFO" additivity="false">
<appender-ref ref="MyFileLog" />
</logger>
<root level="TRACE">
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>
{code}
{code:title=log4j2.xml|borderStyle=solid}
#!/bin/bash
CATALINA_OPTS=-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
{code}
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)
Mickael Hemri (JIRA)
2014-01-30 16:20:17 UTC
Permalink
[ https://issues.apache.org/jira/browse/LOG4J2-323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13886725#comment-13886725 ]

Mickael Hemri commented on LOG4J2-323:
--------------------------------------

Hi all,

I can confirm all is ok now, well done Nick, thanks!
Juste one thing, trunk head is broken and doesn't compile, r1562688 is ok :)
Post by Michael Kloster (JIRA)
ThreadLocal-leak on tomcat shutdown when using async logging
------------------------------------------------------------
Key: LOG4J2-323
URL: https://issues.apache.org/jira/browse/LOG4J2-323
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.0-beta9
Environment: Mac OS X 10.8.4, Tomcat 7.0.42, java version 1.6.0_51
Reporter: Michael Kloster
Assignee: Nick Williams
Priority: Minor
Fix For: 2.0-rc1
{code}
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:55:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 841 ms
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jul 28, 2013 9:56:09 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
{code}
{code:xml|title=log4j2.xml|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<FastRollingFile name="MyFileLog" filename="logs/my.log"
filePattern="logs/my-%d{COMPACT}.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
<Policies>
<SizeBasedTriggeringPolicy size="5MB" />
</Policies>
</FastRollingFile>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</Console>
</appenders>
<loggers>
<logger name="mylogger" level="INFO" additivity="false">
<appender-ref ref="MyFileLog" />
</logger>
<root level="TRACE">
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>
{code}
{code:title=log4j2.xml|borderStyle=solid}
#!/bin/bash
CATALINA_OPTS=-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
{code}
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)
Gary Gregory (JIRA)
2014-01-30 17:58:10 UTC
Permalink
[ https://issues.apache.org/jira/browse/LOG4J2-323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13886825#comment-13886825 ]

Gary Gregory commented on LOG4J2-323:
-------------------------------------

Do you mean that 'mvn clean compile' gives you errors?
Post by Michael Kloster (JIRA)
ThreadLocal-leak on tomcat shutdown when using async logging
------------------------------------------------------------
Key: LOG4J2-323
URL: https://issues.apache.org/jira/browse/LOG4J2-323
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.0-beta9
Environment: Mac OS X 10.8.4, Tomcat 7.0.42, java version 1.6.0_51
Reporter: Michael Kloster
Assignee: Nick Williams
Priority: Minor
Fix For: 2.0-rc1
{code}
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:55:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 841 ms
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jul 28, 2013 9:56:09 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
{code}
{code:xml|title=log4j2.xml|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<FastRollingFile name="MyFileLog" filename="logs/my.log"
filePattern="logs/my-%d{COMPACT}.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
<Policies>
<SizeBasedTriggeringPolicy size="5MB" />
</Policies>
</FastRollingFile>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</Console>
</appenders>
<loggers>
<logger name="mylogger" level="INFO" additivity="false">
<appender-ref ref="MyFileLog" />
</logger>
<root level="TRACE">
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>
{code}
{code:title=log4j2.xml|borderStyle=solid}
#!/bin/bash
CATALINA_OPTS=-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
{code}
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)
Remko Popma (JIRA)
2014-01-30 21:22:11 UTC
Permalink
[ https://issues.apache.org/jira/browse/LOG4J2-323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13887064#comment-13887064 ]

Remko Popma commented on LOG4J2-323:
------------------------------------

Trunk built ok for me just now.
Do you still have the error?
Post by Michael Kloster (JIRA)
ThreadLocal-leak on tomcat shutdown when using async logging
------------------------------------------------------------
Key: LOG4J2-323
URL: https://issues.apache.org/jira/browse/LOG4J2-323
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.0-beta9
Environment: Mac OS X 10.8.4, Tomcat 7.0.42, java version 1.6.0_51
Reporter: Michael Kloster
Assignee: Nick Williams
Priority: Minor
Fix For: 2.0-rc1
{code}
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:55:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 841 ms
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jul 28, 2013 9:56:09 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
{code}
{code:xml|title=log4j2.xml|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<FastRollingFile name="MyFileLog" filename="logs/my.log"
filePattern="logs/my-%d{COMPACT}.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
<Policies>
<SizeBasedTriggeringPolicy size="5MB" />
</Policies>
</FastRollingFile>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</Console>
</appenders>
<loggers>
<logger name="mylogger" level="INFO" additivity="false">
<appender-ref ref="MyFileLog" />
</logger>
<root level="TRACE">
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>
{code}
{code:title=log4j2.xml|borderStyle=solid}
#!/bin/bash
CATALINA_OPTS=-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
{code}
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)
Remko Popma (JIRA)
2014-01-31 00:24:10 UTC
Permalink
[ https://issues.apache.org/jira/browse/LOG4J2-323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13887064#comment-13887064 ]

Remko Popma edited comment on LOG4J2-323 at 1/31/14 12:24 AM:
--------------------------------------------------------------

Trunk built ok for me just now.
Do you still have the error?

EDIT: I meant, do you still have the error stacktrace? I think there may still be some JUnit tests that usually pass but occasionally fail. One of the Rolling appender tests had a timing issue, there may be other similar issues in the tests...


was (Author: ***@yahoo.com):
Trunk built ok for me just now.
Do you still have the error?
Post by Michael Kloster (JIRA)
ThreadLocal-leak on tomcat shutdown when using async logging
------------------------------------------------------------
Key: LOG4J2-323
URL: https://issues.apache.org/jira/browse/LOG4J2-323
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.0-beta9
Environment: Mac OS X 10.8.4, Tomcat 7.0.42, java version 1.6.0_51
Reporter: Michael Kloster
Assignee: Nick Williams
Priority: Minor
Fix For: 2.0-rc1
{code}
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:55:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 841 ms
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jul 28, 2013 9:56:09 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
{code}
{code:xml|title=log4j2.xml|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<FastRollingFile name="MyFileLog" filename="logs/my.log"
filePattern="logs/my-%d{COMPACT}.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
<Policies>
<SizeBasedTriggeringPolicy size="5MB" />
</Policies>
</FastRollingFile>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</Console>
</appenders>
<loggers>
<logger name="mylogger" level="INFO" additivity="false">
<appender-ref ref="MyFileLog" />
</logger>
<root level="TRACE">
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>
{code}
{code:title=log4j2.xml|borderStyle=solid}
#!/bin/bash
CATALINA_OPTS=-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
{code}
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)
Mickael Hemri (JIRA)
2014-01-31 08:58:08 UTC
Permalink
[ https://issues.apache.org/jira/browse/LOG4J2-323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13887571#comment-13887571 ]

Mickael Hemri commented on LOG4J2-323:
--------------------------------------

No it's a compilation error (r1563090):
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project log4j-core: Compilation failure
[ERROR] log4j/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jdbc/FactoryMethodConnectionSource.java:[126,17] method does not override or implement a method from a supertype
Post by Michael Kloster (JIRA)
ThreadLocal-leak on tomcat shutdown when using async logging
------------------------------------------------------------
Key: LOG4J2-323
URL: https://issues.apache.org/jira/browse/LOG4J2-323
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.0-beta9
Environment: Mac OS X 10.8.4, Tomcat 7.0.42, java version 1.6.0_51
Reporter: Michael Kloster
Assignee: Nick Williams
Priority: Minor
Fix For: 2.0-rc1
{code}
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:55:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 841 ms
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jul 28, 2013 9:56:09 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
{code}
{code:xml|title=log4j2.xml|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<FastRollingFile name="MyFileLog" filename="logs/my.log"
filePattern="logs/my-%d{COMPACT}.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
<Policies>
<SizeBasedTriggeringPolicy size="5MB" />
</Policies>
</FastRollingFile>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</Console>
</appenders>
<loggers>
<logger name="mylogger" level="INFO" additivity="false">
<appender-ref ref="MyFileLog" />
</logger>
<root level="TRACE">
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>
{code}
{code:title=log4j2.xml|borderStyle=solid}
#!/bin/bash
CATALINA_OPTS=-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
{code}
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)
Mickael Hemri (JIRA)
2014-01-31 08:58:10 UTC
Permalink
[ https://issues.apache.org/jira/browse/LOG4J2-323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13887571#comment-13887571 ]

Mickael Hemri edited comment on LOG4J2-323 at 1/31/14 8:58 AM:
---------------------------------------------------------------

Yes update today to last revision (r1563090), still have the compilation error:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project log4j-core: Compilation failure
[ERROR] log4j/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jdbc/FactoryMethodConnectionSource.java:[126,17] method does not override or implement a method from a supertype





was (Author: draiwn):
No it's a compilation error (r1563090):
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project log4j-core: Compilation failure
[ERROR] log4j/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jdbc/FactoryMethodConnectionSource.java:[126,17] method does not override or implement a method from a supertype
Post by Michael Kloster (JIRA)
ThreadLocal-leak on tomcat shutdown when using async logging
------------------------------------------------------------
Key: LOG4J2-323
URL: https://issues.apache.org/jira/browse/LOG4J2-323
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.0-beta9
Environment: Mac OS X 10.8.4, Tomcat 7.0.42, java version 1.6.0_51
Reporter: Michael Kloster
Assignee: Nick Williams
Priority: Minor
Fix For: 2.0-rc1
{code}
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:55:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 841 ms
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jul 28, 2013 9:56:09 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
{code}
{code:xml|title=log4j2.xml|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<FastRollingFile name="MyFileLog" filename="logs/my.log"
filePattern="logs/my-%d{COMPACT}.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
<Policies>
<SizeBasedTriggeringPolicy size="5MB" />
</Policies>
</FastRollingFile>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</Console>
</appenders>
<loggers>
<logger name="mylogger" level="INFO" additivity="false">
<appender-ref ref="MyFileLog" />
</logger>
<root level="TRACE">
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>
{code}
{code:title=log4j2.xml|borderStyle=solid}
#!/bin/bash
CATALINA_OPTS=-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
{code}
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)
Remko Popma (JIRA)
2014-01-31 09:16:11 UTC
Permalink
[ https://issues.apache.org/jira/browse/LOG4J2-323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13887578#comment-13887578 ]

Remko Popma commented on LOG4J2-323:
------------------------------------

Ah, I see it now...

That method actually has a comment:
{code}
// method must be present to compile on Java 7, @Override must be absent to compile on Java 6
{code}

but an {{@Override}} annotation was added in r1562689.

I'm at work and cannot commit now. I'll remove it if it is still there when I get home, unless someone else beats me to it...

Thanks for the heads-up!
Post by Michael Kloster (JIRA)
ThreadLocal-leak on tomcat shutdown when using async logging
------------------------------------------------------------
Key: LOG4J2-323
URL: https://issues.apache.org/jira/browse/LOG4J2-323
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.0-beta9
Environment: Mac OS X 10.8.4, Tomcat 7.0.42, java version 1.6.0_51
Reporter: Michael Kloster
Assignee: Nick Williams
Priority: Minor
Fix For: 2.0-rc1
{code}
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:55:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 841 ms
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jul 28, 2013 9:56:09 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
{code}
{code:xml|title=log4j2.xml|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<FastRollingFile name="MyFileLog" filename="logs/my.log"
filePattern="logs/my-%d{COMPACT}.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
<Policies>
<SizeBasedTriggeringPolicy size="5MB" />
</Policies>
</FastRollingFile>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</Console>
</appenders>
<loggers>
<logger name="mylogger" level="INFO" additivity="false">
<appender-ref ref="MyFileLog" />
</logger>
<root level="TRACE">
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>
{code}
{code:title=log4j2.xml|borderStyle=solid}
#!/bin/bash
CATALINA_OPTS=-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
{code}
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)
Remko Popma (JIRA)
2014-01-31 12:08:10 UTC
Permalink
[ https://issues.apache.org/jira/browse/LOG4J2-323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13887681#comment-13887681 ]

Remko Popma commented on LOG4J2-323:
------------------------------------

Removed the @Override to fix the compilation problem in revision 1563115.

Please verify and close.
Post by Michael Kloster (JIRA)
ThreadLocal-leak on tomcat shutdown when using async logging
------------------------------------------------------------
Key: LOG4J2-323
URL: https://issues.apache.org/jira/browse/LOG4J2-323
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.0-beta9
Environment: Mac OS X 10.8.4, Tomcat 7.0.42, java version 1.6.0_51
Reporter: Michael Kloster
Assignee: Nick Williams
Priority: Minor
Fix For: 2.0-rc1
{code}
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:55:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 841 ms
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jul 28, 2013 9:56:09 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
{code}
{code:xml|title=log4j2.xml|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<FastRollingFile name="MyFileLog" filename="logs/my.log"
filePattern="logs/my-%d{COMPACT}.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
<Policies>
<SizeBasedTriggeringPolicy size="5MB" />
</Policies>
</FastRollingFile>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</Console>
</appenders>
<loggers>
<logger name="mylogger" level="INFO" additivity="false">
<appender-ref ref="MyFileLog" />
</logger>
<root level="TRACE">
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>
{code}
{code:title=log4j2.xml|borderStyle=solid}
#!/bin/bash
CATALINA_OPTS=-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
{code}
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)
Mickael Hemri (JIRA)
2014-01-31 12:42:11 UTC
Permalink
[ https://issues.apache.org/jira/browse/LOG4J2-323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13887700#comment-13887700 ]

Mickael Hemri commented on LOG4J2-323:
--------------------------------------

It's ok now, thanks :)
Post by Michael Kloster (JIRA)
ThreadLocal-leak on tomcat shutdown when using async logging
------------------------------------------------------------
Key: LOG4J2-323
URL: https://issues.apache.org/jira/browse/LOG4J2-323
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.0-beta9
Environment: Mac OS X 10.8.4, Tomcat 7.0.42, java version 1.6.0_51
Reporter: Michael Kloster
Assignee: Nick Williams
Priority: Minor
Fix For: 2.0-rc1
{code}
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:55:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 841 ms
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jul 28, 2013 9:56:09 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
{code}
{code:xml|title=log4j2.xml|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<FastRollingFile name="MyFileLog" filename="logs/my.log"
filePattern="logs/my-%d{COMPACT}.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
<Policies>
<SizeBasedTriggeringPolicy size="5MB" />
</Policies>
</FastRollingFile>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</Console>
</appenders>
<loggers>
<logger name="mylogger" level="INFO" additivity="false">
<appender-ref ref="MyFileLog" />
</logger>
<root level="TRACE">
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>
{code}
{code:title=log4j2.xml|borderStyle=solid}
#!/bin/bash
CATALINA_OPTS=-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
{code}
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)
Remko Popma (JIRA)
2014-01-31 12:48:11 UTC
Permalink
[ https://issues.apache.org/jira/browse/LOG4J2-323?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Remko Popma closed LOG4J2-323.
------------------------------


Closing this issue.
Post by Michael Kloster (JIRA)
ThreadLocal-leak on tomcat shutdown when using async logging
------------------------------------------------------------
Key: LOG4J2-323
URL: https://issues.apache.org/jira/browse/LOG4J2-323
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.0-beta9
Environment: Mac OS X 10.8.4, Tomcat 7.0.42, java version 1.6.0_51
Reporter: Michael Kloster
Assignee: Nick Williams
Priority: Minor
Fix For: 2.0-rc1
{code}
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:55:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 841 ms
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jul 28, 2013 9:56:09 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
{code}
{code:xml|title=log4j2.xml|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<FastRollingFile name="MyFileLog" filename="logs/my.log"
filePattern="logs/my-%d{COMPACT}.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
<Policies>
<SizeBasedTriggeringPolicy size="5MB" />
</Policies>
</FastRollingFile>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</Console>
</appenders>
<loggers>
<logger name="mylogger" level="INFO" additivity="false">
<appender-ref ref="MyFileLog" />
</logger>
<root level="TRACE">
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>
{code}
{code:title=log4j2.xml|borderStyle=solid}
#!/bin/bash
CATALINA_OPTS=-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
{code}
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)
Gary Gregory (JIRA)
2014-01-31 13:40:43 UTC
Permalink
[ https://issues.apache.org/jira/browse/LOG4J2-323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13887754#comment-13887754 ]

Gary Gregory commented on LOG4J2-323:
-------------------------------------

oops, my bad on the override.
Post by Michael Kloster (JIRA)
ThreadLocal-leak on tomcat shutdown when using async logging
------------------------------------------------------------
Key: LOG4J2-323
URL: https://issues.apache.org/jira/browse/LOG4J2-323
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.0-beta9
Environment: Mac OS X 10.8.4, Tomcat 7.0.42, java version 1.6.0_51
Reporter: Michael Kloster
Assignee: Nick Williams
Priority: Minor
Fix For: 2.0-rc1
{code}
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:55:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 841 ms
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jul 28, 2013 9:56:09 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
{code}
{code:xml|title=log4j2.xml|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<FastRollingFile name="MyFileLog" filename="logs/my.log"
filePattern="logs/my-%d{COMPACT}.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
<Policies>
<SizeBasedTriggeringPolicy size="5MB" />
</Policies>
</FastRollingFile>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</Console>
</appenders>
<loggers>
<logger name="mylogger" level="INFO" additivity="false">
<appender-ref ref="MyFileLog" />
</logger>
<root level="TRACE">
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>
{code}
{code:title=log4j2.xml|borderStyle=solid}
#!/bin/bash
CATALINA_OPTS=-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
{code}
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)
Nick Williams
2014-01-31 19:11:46 UTC
Permalink
Tsk tsk. Using auto-refactor again without checking the output. :-P

N
Post by Gary Gregory (JIRA)
[ https://issues.apache.org/jira/browse/LOG4J2-323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13887754#comment-13887754 ]
-------------------------------------
oops, my bad on the override.
<snip />
Gary Gregory
2014-01-31 20:03:48 UTC
Permalink
That and every time I update a JDK, Eclipse uses the default JDK I have set
up, which is Java 7 of course. So we could just switch to Java 7... :)

Gary


On Fri, Jan 31, 2014 at 2:11 PM, Nick Williams <
Post by Nick Williams
Tsk tsk. Using auto-refactor again without checking the output. :-P
N
Post by Michael Kloster (JIRA)
[
https://issues.apache.org/jira/browse/LOG4J2-323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13887754#comment-13887754]
Post by Michael Kloster (JIRA)
-------------------------------------
oops, my bad on the override.
<snip />
---------------------------------------------------------------------
--
E-Mail: ***@gmail.com | ***@apache.org
Java Persistence with Hibernate, Second Edition<http://www.manning.com/bauer3/>
JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
Spring Batch in Action <http://www.manning.com/templier/>
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory
Remko Popma (JIRA)
2014-01-31 13:44:10 UTC
Permalink
[ https://issues.apache.org/jira/browse/LOG4J2-323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13887758#comment-13887758 ]

Remko Popma commented on LOG4J2-323:
------------------------------------

No problem! :-)
Post by Michael Kloster (JIRA)
ThreadLocal-leak on tomcat shutdown when using async logging
------------------------------------------------------------
Key: LOG4J2-323
URL: https://issues.apache.org/jira/browse/LOG4J2-323
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.0-beta9
Environment: Mac OS X 10.8.4, Tomcat 7.0.42, java version 1.6.0_51
Reporter: Michael Kloster
Assignee: Nick Williams
Priority: Minor
Fix For: 2.0-rc1
{code}
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:55:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 841 ms
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jul 28, 2013 9:56:09 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
{code}
{code:xml|title=log4j2.xml|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<FastRollingFile name="MyFileLog" filename="logs/my.log"
filePattern="logs/my-%d{COMPACT}.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
<Policies>
<SizeBasedTriggeringPolicy size="5MB" />
</Policies>
</FastRollingFile>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</Console>
</appenders>
<loggers>
<logger name="mylogger" level="INFO" additivity="false">
<appender-ref ref="MyFileLog" />
</logger>
<root level="TRACE">
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>
{code}
{code:title=log4j2.xml|borderStyle=solid}
#!/bin/bash
CATALINA_OPTS=-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
{code}
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)
Ilya Tepikin (JIRA)
2014-03-16 12:12:48 UTC
Permalink
[ https://issues.apache.org/jira/browse/LOG4J2-323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13937102#comment-13937102 ]

Ilya Tepikin commented on LOG4J2-323:
-------------------------------------

Hi,

I'm still having the same issue with the latest RC1 build from the trunk yesterday (03/15).
All configuration is the same as author of the issue has.
I removed log4j*.jar from the jarsToSkip list in catalina.properties.
The version of Servlet API is 3.0.
Also I tried with tomcat 7.0.29 and 7.0.51 and result is the same.

Console output:
{code}
SEVERE: The web application [/Server] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [***@cca1713]) and a value of type [org.apache.logging.log4j.core.async.AsyncLogger.Info] (value [org.apache.logging.log4j.core.async.AsyncLogger$***@27b0e6f4]) 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.
ьрЁ 16, 2014 4:01:03 PM org.apache.catalina.loader.WebappClassLoader checkThread LocalMapForLeaks
SEVERE: The web application [/Server] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [***@cca1713]) and a value of type [org.apache.logging.log4j.core.async.AsyncLogger.Info] (value [org.apache.logging.log4j.core.async.AsyncLogger$***@4f0ab187]) 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.
{code}

Thanks!
Post by Michael Kloster (JIRA)
ThreadLocal-leak on tomcat shutdown when using async logging
------------------------------------------------------------
Key: LOG4J2-323
URL: https://issues.apache.org/jira/browse/LOG4J2-323
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.0-beta9
Environment: Mac OS X 10.8.4, Tomcat 7.0.42, java version 1.6.0_51
Reporter: Michael Kloster
Assignee: Nick Williams
Priority: Minor
Fix For: 2.0-rc1
{code}
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:55:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 841 ms
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jul 28, 2013 9:56:09 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
{code}
{code:xml|title=log4j2.xml|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<FastRollingFile name="MyFileLog" filename="logs/my.log"
filePattern="logs/my-%d{COMPACT}.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
<Policies>
<SizeBasedTriggeringPolicy size="5MB" />
</Policies>
</FastRollingFile>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</Console>
</appenders>
<loggers>
<logger name="mylogger" level="INFO" additivity="false">
<appender-ref ref="MyFileLog" />
</logger>
<root level="TRACE">
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>
{code}
{code:title=log4j2.xml|borderStyle=solid}
#!/bin/bash
CATALINA_OPTS=-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
{code}
--
This message was sent by Atlassian JIRA
(v6.2#6252)
Remko Popma (JIRA)
2014-03-16 12:18:43 UTC
Permalink
[ https://issues.apache.org/jira/browse/LOG4J2-323?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Remko Popma reopened LOG4J2-323:
--------------------------------

Assignee: (was: Nick Williams)

Re-opened for investigation.
Post by Michael Kloster (JIRA)
ThreadLocal-leak on tomcat shutdown when using async logging
------------------------------------------------------------
Key: LOG4J2-323
URL: https://issues.apache.org/jira/browse/LOG4J2-323
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.0-beta9
Environment: Mac OS X 10.8.4, Tomcat 7.0.42, java version 1.6.0_51
Reporter: Michael Kloster
Priority: Minor
Fix For: 2.0-rc1
{code}
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:55:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 841 ms
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jul 28, 2013 9:56:09 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
{code}
{code:xml|title=log4j2.xml|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<FastRollingFile name="MyFileLog" filename="logs/my.log"
filePattern="logs/my-%d{COMPACT}.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
<Policies>
<SizeBasedTriggeringPolicy size="5MB" />
</Policies>
</FastRollingFile>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</Console>
</appenders>
<loggers>
<logger name="mylogger" level="INFO" additivity="false">
<appender-ref ref="MyFileLog" />
</logger>
<root level="TRACE">
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>
{code}
{code:title=log4j2.xml|borderStyle=solid}
#!/bin/bash
CATALINA_OPTS=-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
{code}
--
This message was sent by Atlassian JIRA
(v6.2#6252)
Ilya Tepikin (JIRA)
2014-03-18 20:44:46 UTC
Permalink
[ https://issues.apache.org/jira/browse/LOG4J2-323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13939754#comment-13939754 ]

Ilya Tepikin commented on LOG4J2-323:
-------------------------------------

Also I see the following message while Tomcat is deploying webapp:
{code}
SEVERE: The web application [/Server] appears to have started a thread named [AsyncLogger-1] but has failed to stop it. This is very likely to create a memory leak.
{code}
Post by Michael Kloster (JIRA)
ThreadLocal-leak on tomcat shutdown when using async logging
------------------------------------------------------------
Key: LOG4J2-323
URL: https://issues.apache.org/jira/browse/LOG4J2-323
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.0-beta9
Environment: Mac OS X 10.8.4, Tomcat 7.0.42, java version 1.6.0_51
Reporter: Michael Kloster
Priority: Minor
Fix For: 2.0-rc1
{code}
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:55:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 841 ms
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jul 28, 2013 9:56:09 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
{code}
{code:xml|title=log4j2.xml|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<FastRollingFile name="MyFileLog" filename="logs/my.log"
filePattern="logs/my-%d{COMPACT}.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
<Policies>
<SizeBasedTriggeringPolicy size="5MB" />
</Policies>
</FastRollingFile>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</Console>
</appenders>
<loggers>
<logger name="mylogger" level="INFO" additivity="false">
<appender-ref ref="MyFileLog" />
</logger>
<root level="TRACE">
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>
{code}
{code:title=log4j2.xml|borderStyle=solid}
#!/bin/bash
CATALINA_OPTS=-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
{code}
--
This message was sent by Atlassian JIRA
(v6.2#6252)
Remko Popma (JIRA)
2014-06-20 06:24:25 UTC
Permalink
[ https://issues.apache.org/jira/browse/LOG4J2-323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14038520#comment-14038520 ]

Remko Popma commented on LOG4J2-323:
------------------------------------

Ilya, can you tell me where the log4j2 jar files are located?

If you use AsyncLoggers (with -DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector to make all loggers asynchronous), you should not put the log4j2 jar files in the application server's shared lib directory - see LOG4J2-493. As a workaround please put the log4j2 jar files in WEB-INF/lib of your web application.

Another way to deal with this is to not use the system property to set Log4jContextSelector, but instead in your configuration use <AsyncRoot> and <AsyncLogger> elements.
This is using a different mechanism that supports loading/unloading web apps better (but be aware that in rc1 this mechanism still has a known issue LOG4J2-392, this is fixed in -soon to be released- rc2).
Post by Michael Kloster (JIRA)
ThreadLocal-leak on tomcat shutdown when using async logging
------------------------------------------------------------
Key: LOG4J2-323
URL: https://issues.apache.org/jira/browse/LOG4J2-323
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.0-beta9
Environment: Mac OS X 10.8.4, Tomcat 7.0.42, java version 1.6.0_51
Reporter: Michael Kloster
Priority: Minor
Labels: Async
Fix For: 2.0-rc1
{code}
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:55:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 841 ms
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jul 28, 2013 9:56:09 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
{code}
{code:xml|title=log4j2.xml|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<FastRollingFile name="MyFileLog" filename="logs/my.log"
filePattern="logs/my-%d{COMPACT}.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
<Policies>
<SizeBasedTriggeringPolicy size="5MB" />
</Policies>
</FastRollingFile>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</Console>
</appenders>
<loggers>
<logger name="mylogger" level="INFO" additivity="false">
<appender-ref ref="MyFileLog" />
</logger>
<root level="TRACE">
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>
{code}
{code:title=log4j2.xml|borderStyle=solid}
#!/bin/bash
CATALINA_OPTS=-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
{code}
--
This message was sent by Atlassian JIRA
(v6.2#6252)
Remko Popma (JIRA)
2014-06-20 06:24:26 UTC
Permalink
[ https://issues.apache.org/jira/browse/LOG4J2-323?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Remko Popma updated LOG4J2-323:
-------------------------------

Labels: Async (was: )
Post by Michael Kloster (JIRA)
ThreadLocal-leak on tomcat shutdown when using async logging
------------------------------------------------------------
Key: LOG4J2-323
URL: https://issues.apache.org/jira/browse/LOG4J2-323
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.0-beta9
Environment: Mac OS X 10.8.4, Tomcat 7.0.42, java version 1.6.0_51
Reporter: Michael Kloster
Priority: Minor
Labels: Async
Fix For: 2.0-rc1
{code}
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:55:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 841 ms
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jul 28, 2013 9:56:09 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
{code}
{code:xml|title=log4j2.xml|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<FastRollingFile name="MyFileLog" filename="logs/my.log"
filePattern="logs/my-%d{COMPACT}.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
<Policies>
<SizeBasedTriggeringPolicy size="5MB" />
</Policies>
</FastRollingFile>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</Console>
</appenders>
<loggers>
<logger name="mylogger" level="INFO" additivity="false">
<appender-ref ref="MyFileLog" />
</logger>
<root level="TRACE">
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>
{code}
{code:title=log4j2.xml|borderStyle=solid}
#!/bin/bash
CATALINA_OPTS=-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
{code}
--
This message was sent by Atlassian JIRA
(v6.2#6252)
Ilya Tepikin (JIRA)
2014-06-24 13:36:26 UTC
Permalink
[ https://issues.apache.org/jira/browse/LOG4J2-323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14042104#comment-14042104 ]

Ilya Tepikin commented on LOG4J2-323:
-------------------------------------

Remko, I have

{code}
<context-param>
<param-name>Log4jContextSelector</param-name>
<param-value>org.apache.logging.log4j.core.async.AsyncLoggerContextSelector</param-value>
</context-param>
{code}

in web.xml and
{code}
...
<Loggers>
<Root level="debug">
<AppenderRef ref="RollingRandomAccessFile" level="debug"/>
</Root>
</Loggers>
...
{code}
in log4j2.xml. log4j2*.jar files are located in WEB-INF/lib of my web app.

If I remove AsyncLoggerContextSelector from my web.xml and change log4j2.xml to
{code}
...
<Loggers>
<AsyncRoot level="debug" includeLocation="false">
<AppenderRef ref="RollingRandomAccessFile" level="debug"/>
</AsyncRoot>
</Loggers>
...
{code}

I'll get an error:
{code}
ERROR An exception occurred processing Appender RollingRandomAccessFile java.lang.NullPointerException
at org.apache.logging.log4j.core.pattern.NameAbbreviator$MaxElementAbbreviator.abbreviate(NameAbbreviator.java:182)
at org.apache.logging.log4j.core.pattern.NamePatternConverter.abbreviate(NamePatternConverter.java:53)
at org.apache.logging.log4j.core.pattern.LoggerPatternConverter.format(LoggerPatternConverter.java:64)
at org.apache.logging.log4j.core.pattern.PatternFormatter.format(PatternFormatter.java:36)
at org.apache.logging.log4j.core.layout.PatternLayout.toSerializable(PatternLayout.java:209)
at org.apache.logging.log4j.core.layout.PatternLayout.toSerializable(PatternLayout.java:52)
at org.apache.logging.log4j.core.layout.AbstractStringLayout.toByteArray(AbstractStringLayout.java:45)
at org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.append(AbstractOutputStreamAppender.java:118)
at org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender.append(RollingRandomAccessFileAppender.java:96)
at org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:97)
at org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:423)
at org.apache.logging.log4j.core.async.AsyncLoggerConfig.asyncCallAppenders(AsyncLoggerConfig.java:117)
at org.apache.logging.log4j.core.async.AsyncLoggerConfigHelper$Log4jEventWrapperHandler.onEvent(AsyncLoggerConfigHelper.java:222)
at org.apache.logging.log4j.core.async.AsyncLoggerConfigHelper$Log4jEventWrapperHandler.onEvent(AsyncLoggerConfigHelper.java:207)
at com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:133)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
{code}

Am I doing something wrong?

PS I;m using log4j2 rc1.
Post by Michael Kloster (JIRA)
ThreadLocal-leak on tomcat shutdown when using async logging
------------------------------------------------------------
Key: LOG4J2-323
URL: https://issues.apache.org/jira/browse/LOG4J2-323
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.0-beta9
Environment: Mac OS X 10.8.4, Tomcat 7.0.42, java version 1.6.0_51
Reporter: Michael Kloster
Priority: Minor
Labels: Async
Fix For: 2.0-rc1
{code}
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:55:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 841 ms
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jul 28, 2013 9:56:09 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
{code}
{code:xml|title=log4j2.xml|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<FastRollingFile name="MyFileLog" filename="logs/my.log"
filePattern="logs/my-%d{COMPACT}.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
<Policies>
<SizeBasedTriggeringPolicy size="5MB" />
</Policies>
</FastRollingFile>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</Console>
</appenders>
<loggers>
<logger name="mylogger" level="INFO" additivity="false">
<appender-ref ref="MyFileLog" />
</logger>
<root level="TRACE">
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>
{code}
{code:title=log4j2.xml|borderStyle=solid}
#!/bin/bash
CATALINA_OPTS=-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
{code}
--
This message was sent by Atlassian JIRA
(v6.2#6252)
Ralph Goers (JIRA)
2014-06-24 15:26:26 UTC
Permalink
[ https://issues.apache.org/jira/browse/LOG4J2-323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14042248#comment-14042248 ]

Ralph Goers commented on LOG4J2-323:
------------------------------------

Can you show the configuration of the Appender?
Post by Michael Kloster (JIRA)
ThreadLocal-leak on tomcat shutdown when using async logging
------------------------------------------------------------
Key: LOG4J2-323
URL: https://issues.apache.org/jira/browse/LOG4J2-323
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.0-beta9
Environment: Mac OS X 10.8.4, Tomcat 7.0.42, java version 1.6.0_51
Reporter: Michael Kloster
Priority: Minor
Labels: Async
Fix For: 2.0-rc1
{code}
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:55:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 841 ms
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jul 28, 2013 9:56:09 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
{code}
{code:xml|title=log4j2.xml|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<FastRollingFile name="MyFileLog" filename="logs/my.log"
filePattern="logs/my-%d{COMPACT}.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
<Policies>
<SizeBasedTriggeringPolicy size="5MB" />
</Policies>
</FastRollingFile>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</Console>
</appenders>
<loggers>
<logger name="mylogger" level="INFO" additivity="false">
<appender-ref ref="MyFileLog" />
</logger>
<root level="TRACE">
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>
{code}
{code:title=log4j2.xml|borderStyle=solid}
#!/bin/bash
CATALINA_OPTS=-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
{code}
--
This message was sent by Atlassian JIRA
(v6.2#6252)
Ilya Tepikin (JIRA)
2014-06-24 15:48:25 UTC
Permalink
[ https://issues.apache.org/jira/browse/LOG4J2-323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14042267#comment-14042267 ]

Ilya Tepikin commented on LOG4J2-323:
-------------------------------------

{code}
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN" name="Server" packages="">
<Appenders>
<RollingRandomAccessFile name="RollingRandomAccessFile"
fileName="server.log"
filePattern="$${date:yyyy-MM}/server-%d{yyyy-MM-dd}-%i.log.zip"
immediateFlush="false"
append="true">
<PatternLayout>
<Pattern>%d{dd-MM-yyyy HH:mm:ss} %-5p [%X{sid}] %-30c{1} %-30M %4L %m%n</Pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy modulate="true" interval="1"/>
<SizeBasedTriggeringPolicy size="30 MB"/>
</Policies>
<DefaultRolloverStrategy max="10" compressionLevel="5"/>
</RollingRandomAccessFile>
</Appenders>
<Loggers>
<Root level="info">
<AppenderRef ref="RollingRandomAccessFile"/>
</Root>
</Loggers>
</Configuration>
{code}
Post by Michael Kloster (JIRA)
ThreadLocal-leak on tomcat shutdown when using async logging
------------------------------------------------------------
Key: LOG4J2-323
URL: https://issues.apache.org/jira/browse/LOG4J2-323
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.0-beta9
Environment: Mac OS X 10.8.4, Tomcat 7.0.42, java version 1.6.0_51
Reporter: Michael Kloster
Priority: Minor
Labels: Async
Fix For: 2.0-rc1
{code}
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:55:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 841 ms
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jul 28, 2013 9:56:09 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
{code}
{code:xml|title=log4j2.xml|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<FastRollingFile name="MyFileLog" filename="logs/my.log"
filePattern="logs/my-%d{COMPACT}.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
<Policies>
<SizeBasedTriggeringPolicy size="5MB" />
</Policies>
</FastRollingFile>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</Console>
</appenders>
<loggers>
<logger name="mylogger" level="INFO" additivity="false">
<appender-ref ref="MyFileLog" />
</logger>
<root level="TRACE">
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>
{code}
{code:title=log4j2.xml|borderStyle=solid}
#!/bin/bash
CATALINA_OPTS=-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
{code}
--
This message was sent by Atlassian JIRA
(v6.2#6252)
Ralph Goers (JIRA)
2014-06-24 16:10:28 UTC
Permalink
[ https://issues.apache.org/jira/browse/LOG4J2-323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14042297#comment-14042297 ]

Ralph Goers commented on LOG4J2-323:
------------------------------------

Interesting. The only conclusion I can come to is that the logger name field is null, although I can't say why. What version of Log4j 2 are you using?
Post by Michael Kloster (JIRA)
ThreadLocal-leak on tomcat shutdown when using async logging
------------------------------------------------------------
Key: LOG4J2-323
URL: https://issues.apache.org/jira/browse/LOG4J2-323
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.0-beta9
Environment: Mac OS X 10.8.4, Tomcat 7.0.42, java version 1.6.0_51
Reporter: Michael Kloster
Priority: Minor
Labels: Async
Fix For: 2.0-rc1
{code}
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:55:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 841 ms
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jul 28, 2013 9:56:09 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
{code}
{code:xml|title=log4j2.xml|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<FastRollingFile name="MyFileLog" filename="logs/my.log"
filePattern="logs/my-%d{COMPACT}.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
<Policies>
<SizeBasedTriggeringPolicy size="5MB" />
</Policies>
</FastRollingFile>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</Console>
</appenders>
<loggers>
<logger name="mylogger" level="INFO" additivity="false">
<appender-ref ref="MyFileLog" />
</logger>
<root level="TRACE">
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>
{code}
{code:title=log4j2.xml|borderStyle=solid}
#!/bin/bash
CATALINA_OPTS=-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
{code}
--
This message was sent by Atlassian JIRA
(v6.2#6252)
Ilya Tepikin (JIRA)
2014-06-24 16:38:26 UTC
Permalink
[ https://issues.apache.org/jira/browse/LOG4J2-323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14042333#comment-14042333 ]

Ilya Tepikin commented on LOG4J2-323:
-------------------------------------

I'm using RC1, but I tried this also with RC2 snapshot from trunk a month ago.
Post by Michael Kloster (JIRA)
ThreadLocal-leak on tomcat shutdown when using async logging
------------------------------------------------------------
Key: LOG4J2-323
URL: https://issues.apache.org/jira/browse/LOG4J2-323
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.0-beta9
Environment: Mac OS X 10.8.4, Tomcat 7.0.42, java version 1.6.0_51
Reporter: Michael Kloster
Priority: Minor
Labels: Async
Fix For: 2.0-rc1
{code}
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:55:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 841 ms
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jul 28, 2013 9:56:09 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
{code}
{code:xml|title=log4j2.xml|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<FastRollingFile name="MyFileLog" filename="logs/my.log"
filePattern="logs/my-%d{COMPACT}.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
<Policies>
<SizeBasedTriggeringPolicy size="5MB" />
</Policies>
</FastRollingFile>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</Console>
</appenders>
<loggers>
<logger name="mylogger" level="INFO" additivity="false">
<appender-ref ref="MyFileLog" />
</logger>
<root level="TRACE">
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>
{code}
{code:title=log4j2.xml|borderStyle=solid}
#!/bin/bash
CATALINA_OPTS=-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
{code}
--
This message was sent by Atlassian JIRA
(v6.2#6252)
Remko Popma (JIRA)
2014-07-11 08:02:07 UTC
Permalink
[ https://issues.apache.org/jira/browse/LOG4J2-323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14058535#comment-14058535 ]

Remko Popma commented on LOG4J2-323:
------------------------------------

Ilya, the NullPointerException was caused by an issue in RC1 when combining AsyncLoggerConfig with AsyncLogger. This was fixed in RC2 with LOG4J2-669.

Using RC2, and after putting the log4j2 jar files in WEB-INF/lib of your web application, are you still seeing the ThreadLocal memory leak warning on Tomcat?
Post by Michael Kloster (JIRA)
ThreadLocal-leak on tomcat shutdown when using async logging
------------------------------------------------------------
Key: LOG4J2-323
URL: https://issues.apache.org/jira/browse/LOG4J2-323
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.0-beta9
Environment: Mac OS X 10.8.4, Tomcat 7.0.42, java version 1.6.0_51
Reporter: Michael Kloster
Priority: Minor
Labels: Async
Fix For: 2.0-rc1
{code}
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:55:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 841 ms
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jul 28, 2013 9:56:09 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
{code}
{code:xml|title=log4j2.xml|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<FastRollingFile name="MyFileLog" filename="logs/my.log"
filePattern="logs/my-%d{COMPACT}.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
<Policies>
<SizeBasedTriggeringPolicy size="5MB" />
</Policies>
</FastRollingFile>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</Console>
</appenders>
<loggers>
<logger name="mylogger" level="INFO" additivity="false">
<appender-ref ref="MyFileLog" />
</logger>
<root level="TRACE">
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>
{code}
{code:title=log4j2.xml|borderStyle=solid}
#!/bin/bash
CATALINA_OPTS=-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
{code}
--
This message was sent by Atlassian JIRA
(v6.2#6252)
Remko Popma (JIRA)
2014-07-11 08:02:08 UTC
Permalink
[ https://issues.apache.org/jira/browse/LOG4J2-323?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Remko Popma reassigned LOG4J2-323:
----------------------------------

Assignee: Remko Popma
Post by Michael Kloster (JIRA)
ThreadLocal-leak on tomcat shutdown when using async logging
------------------------------------------------------------
Key: LOG4J2-323
URL: https://issues.apache.org/jira/browse/LOG4J2-323
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.0-beta9
Environment: Mac OS X 10.8.4, Tomcat 7.0.42, java version 1.6.0_51
Reporter: Michael Kloster
Assignee: Remko Popma
Priority: Minor
Labels: Async
Fix For: 2.0-rc1
{code}
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:55:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 841 ms
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jul 28, 2013 9:56:09 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
{code}
{code:xml|title=log4j2.xml|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<FastRollingFile name="MyFileLog" filename="logs/my.log"
filePattern="logs/my-%d{COMPACT}.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
<Policies>
<SizeBasedTriggeringPolicy size="5MB" />
</Policies>
</FastRollingFile>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</Console>
</appenders>
<loggers>
<logger name="mylogger" level="INFO" additivity="false">
<appender-ref ref="MyFileLog" />
</logger>
<root level="TRACE">
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>
{code}
{code:title=log4j2.xml|borderStyle=solid}
#!/bin/bash
CATALINA_OPTS=-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
{code}
--
This message was sent by Atlassian JIRA
(v6.2#6252)
Ilya Tepikin (JIRA)
2014-07-11 10:48:05 UTC
Permalink
[ https://issues.apache.org/jira/browse/LOG4J2-323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14058638#comment-14058638 ]

Ilya Tepikin commented on LOG4J2-323:
-------------------------------------

Remko, I've just downloaded log4j2 binary and tried to reproduce the issue.
I have:
1. log4j*.jar in WEB-INF/lib
2. AsyncRoot in my log4j2.xml:
{code}
<Loggers>
<AsyncRoot level="debug">
<AppenderRef ref="RollingRandomAccessFile" level="debug"/>
</AsyncRoot>
</Loggers>
{code}
3. removed Log4jContextSelector context-param from web.xml.

Now after redeploying my artifact I got:
{code}
Jul 11, 2014 1:23:10 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
SEVERE: The web application [/Server] appears to have started a thread named [AsyncLoggerConfig-1] but has failed to stop it. This is very likely to create a memory leak.
Jul 11, 2014 1:23:10 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
SEVERE: The web application [/Server] appears to have started a thread named [MySQL Statement Cancellation Timer] but has failed to stop it. This is very likely to create a memory leak.
Jul 11, 2014 1:23:10 PM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
SEVERE: The web application [/Server] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [***@1bf7b4f9]) and a value of type [org.apache.logging.log4j.core.async.AsyncLogger.Info] (value [org.apache.logging.log4j.core.async.AsyncLogger$***@238a55c7]) 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.
Jul 11, 2014 1:23:10 PM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
SEVERE: The web application [/Server] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [***@1bf7b4f9]) and a value of type [org.apache.logging.log4j.core.async.AsyncLogger.Info] (value [org.apache.logging.log4j.core.async.AsyncLogger$***@4f058e0b]) 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.
Jul 11, 2014 1:23:10 PM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
SEVERE: The web application [/Server] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [***@1bf7b4f9]) and a value of type [org.apache.logging.log4j.core.async.AsyncLogger.Info] (value [org.apache.logging.log4j.core.async.AsyncLogger$***@49971b88]) 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.
Jul 11, 2014 1:23:10 PM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
SEVERE: The web application [/Server] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [***@1bf7b4f9]) and a value of type [org.apache.logging.log4j.core.async.AsyncLogger.Info] (value [org.apache.logging.log4j.core.async.AsyncLogger$***@5f90a376]) 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.
Jul 11, 2014 1:23:10 PM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
SEVERE: The web application [/Server] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [***@1bf7b4f9]) and a value of type [org.apache.logging.log4j.core.async.AsyncLogger.Info] (value [org.apache.logging.log4j.core.async.AsyncLogger$***@10dbc8fe]) 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.
Jul 11, 2014 1:23:10 PM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
SEVERE: The web application [/Server] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [***@1bf7b4f9]) and a value of type [org.apache.logging.log4j.core.async.AsyncLogger.Info] (value [org.apache.logging.log4j.core.async.AsyncLogger$***@4d68a457]) 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.
Jul 11, 2014 1:23:10 PM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
SEVERE: The web application [/Server] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [***@1bf7b4f9]) and a value of type [org.apache.logging.log4j.core.async.AsyncLogger.Info] (value [org.apache.logging.log4j.core.async.AsyncLogger$***@10fd7375]) 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.
Jul 11, 2014 1:23:10 PM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
SEVERE: The web application [/Server] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [***@1bf7b4f9]) and a value of type [org.apache.logging.log4j.core.async.AsyncLogger.Info] (value [org.apache.logging.log4j.core.async.AsyncLogger$***@6fa70f09]) 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.
Jul 11, 2014 1:23:10 PM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
SEVERE: The web application [/Server] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [***@1bf7b4f9]) and a value of type [org.apache.logging.log4j.core.async.AsyncLogger.Info] (value [org.apache.logging.log4j.core.async.AsyncLogger$***@40cc5123]) 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.
Jul 11, 2014 1:23:13 PM org.apache.catalina.startup.HostConfig undeploy
INFO: Undeploying context [/Server]

{code}
Post by Michael Kloster (JIRA)
ThreadLocal-leak on tomcat shutdown when using async logging
------------------------------------------------------------
Key: LOG4J2-323
URL: https://issues.apache.org/jira/browse/LOG4J2-323
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.0-beta9
Environment: Mac OS X 10.8.4, Tomcat 7.0.42, java version 1.6.0_51
Reporter: Michael Kloster
Assignee: Remko Popma
Priority: Minor
Labels: Async
Fix For: 2.0-rc1
{code}
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:55:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 841 ms
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jul 28, 2013 9:56:09 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
{code}
{code:xml|title=log4j2.xml|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<FastRollingFile name="MyFileLog" filename="logs/my.log"
filePattern="logs/my-%d{COMPACT}.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
<Policies>
<SizeBasedTriggeringPolicy size="5MB" />
</Policies>
</FastRollingFile>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</Console>
</appenders>
<loggers>
<logger name="mylogger" level="INFO" additivity="false">
<appender-ref ref="MyFileLog" />
</logger>
<root level="TRACE">
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>
{code}
{code:title=log4j2.xml|borderStyle=solid}
#!/bin/bash
CATALINA_OPTS=-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
{code}
--
This message was sent by Atlassian JIRA
(v6.2#6252)
Remko Popma (JIRA)
2014-07-11 11:26:05 UTC
Permalink
[ https://issues.apache.org/jira/browse/LOG4J2-323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14058659#comment-14058659 ]

Remko Popma commented on LOG4J2-323:
------------------------------------

Okay, I will need to check more.

By the way, I noticed that you are still combining async loggers with async loggerConfigs. Only one is sufficient.

If you have AsyncRoot in your log4j2.xml, you can remove the {{Log4jContextSelector}} = {{org.apache.logging.log4j.core.async.AsyncLoggerContextSelector}} setting from your web.xml
Post by Michael Kloster (JIRA)
ThreadLocal-leak on tomcat shutdown when using async logging
------------------------------------------------------------
Key: LOG4J2-323
URL: https://issues.apache.org/jira/browse/LOG4J2-323
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.0-beta9
Environment: Mac OS X 10.8.4, Tomcat 7.0.42, java version 1.6.0_51
Reporter: Michael Kloster
Assignee: Remko Popma
Priority: Minor
Labels: Async
Fix For: 2.0-rc1
{code}
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:55:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 841 ms
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jul 28, 2013 9:56:09 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
{code}
{code:xml|title=log4j2.xml|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<FastRollingFile name="MyFileLog" filename="logs/my.log"
filePattern="logs/my-%d{COMPACT}.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
<Policies>
<SizeBasedTriggeringPolicy size="5MB" />
</Policies>
</FastRollingFile>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</Console>
</appenders>
<loggers>
<logger name="mylogger" level="INFO" additivity="false">
<appender-ref ref="MyFileLog" />
</logger>
<root level="TRACE">
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>
{code}
{code:title=log4j2.xml|borderStyle=solid}
#!/bin/bash
CATALINA_OPTS=-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
{code}
--
This message was sent by Atlassian JIRA
(v6.2#6252)
Remko Popma (JIRA)
2014-07-11 11:26:05 UTC
Permalink
[ https://issues.apache.org/jira/browse/LOG4J2-323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14058659#comment-14058659 ]

Remko Popma edited comment on LOG4J2-323 at 7/11/14 11:26 AM:
--------------------------------------------------------------

Okay, I will need to investigate again. Thanks for checking!

By the way, I noticed that you are still combining async loggers with async loggerConfigs. Only one is sufficient.

If you have AsyncRoot in your log4j2.xml, you can remove the {{Log4jContextSelector}} = {{org.apache.logging.log4j.core.async.AsyncLoggerContextSelector}} setting from your web.xml


was (Author: ***@yahoo.com):
Okay, I will need to check more.

By the way, I noticed that you are still combining async loggers with async loggerConfigs. Only one is sufficient.

If you have AsyncRoot in your log4j2.xml, you can remove the {{Log4jContextSelector}} = {{org.apache.logging.log4j.core.async.AsyncLoggerContextSelector}} setting from your web.xml
Post by Michael Kloster (JIRA)
ThreadLocal-leak on tomcat shutdown when using async logging
------------------------------------------------------------
Key: LOG4J2-323
URL: https://issues.apache.org/jira/browse/LOG4J2-323
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.0-beta9
Environment: Mac OS X 10.8.4, Tomcat 7.0.42, java version 1.6.0_51
Reporter: Michael Kloster
Assignee: Remko Popma
Priority: Minor
Labels: Async
Fix For: 2.0-rc1
{code}
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:55:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 841 ms
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jul 28, 2013 9:56:09 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
{code}
{code:xml|title=log4j2.xml|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<FastRollingFile name="MyFileLog" filename="logs/my.log"
filePattern="logs/my-%d{COMPACT}.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
<Policies>
<SizeBasedTriggeringPolicy size="5MB" />
</Policies>
</FastRollingFile>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</Console>
</appenders>
<loggers>
<logger name="mylogger" level="INFO" additivity="false">
<appender-ref ref="MyFileLog" />
</logger>
<root level="TRACE">
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>
{code}
{code:title=log4j2.xml|borderStyle=solid}
#!/bin/bash
CATALINA_OPTS=-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
{code}
--
This message was sent by Atlassian JIRA
(v6.2#6252)
Ilya Tepikin (JIRA)
2014-07-11 11:34:05 UTC
Permalink
[ https://issues.apache.org/jira/browse/LOG4J2-323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14058665#comment-14058665 ]

Ilya Tepikin edited comment on LOG4J2-323 at 7/11/14 11:32 AM:
---------------------------------------------------------------

Remko, thank you very much. You guys are doing a great job!


was (Author: hype):
Remko, thank you very much. You are doing a great job!
Post by Michael Kloster (JIRA)
ThreadLocal-leak on tomcat shutdown when using async logging
------------------------------------------------------------
Key: LOG4J2-323
URL: https://issues.apache.org/jira/browse/LOG4J2-323
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.0-beta9
Environment: Mac OS X 10.8.4, Tomcat 7.0.42, java version 1.6.0_51
Reporter: Michael Kloster
Assignee: Remko Popma
Priority: Minor
Labels: Async
Fix For: 2.0-rc1
{code}
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:55:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 841 ms
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jul 28, 2013 9:56:09 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
{code}
{code:xml|title=log4j2.xml|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<FastRollingFile name="MyFileLog" filename="logs/my.log"
filePattern="logs/my-%d{COMPACT}.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
<Policies>
<SizeBasedTriggeringPolicy size="5MB" />
</Policies>
</FastRollingFile>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</Console>
</appenders>
<loggers>
<logger name="mylogger" level="INFO" additivity="false">
<appender-ref ref="MyFileLog" />
</logger>
<root level="TRACE">
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>
{code}
{code:title=log4j2.xml|borderStyle=solid}
#!/bin/bash
CATALINA_OPTS=-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
{code}
--
This message was sent by Atlassian JIRA
(v6.2#6252)
Ilya Tepikin (JIRA)
2014-07-11 11:34:05 UTC
Permalink
[ https://issues.apache.org/jira/browse/LOG4J2-323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14058665#comment-14058665 ]

Ilya Tepikin commented on LOG4J2-323:
-------------------------------------

Remko, thank you very much. You are doing a great job!
Post by Michael Kloster (JIRA)
ThreadLocal-leak on tomcat shutdown when using async logging
------------------------------------------------------------
Key: LOG4J2-323
URL: https://issues.apache.org/jira/browse/LOG4J2-323
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.0-beta9
Environment: Mac OS X 10.8.4, Tomcat 7.0.42, java version 1.6.0_51
Reporter: Michael Kloster
Assignee: Remko Popma
Priority: Minor
Labels: Async
Fix For: 2.0-rc1
{code}
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:55:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 841 ms
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jul 28, 2013 9:56:09 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
{code}
{code:xml|title=log4j2.xml|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<FastRollingFile name="MyFileLog" filename="logs/my.log"
filePattern="logs/my-%d{COMPACT}.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
<Policies>
<SizeBasedTriggeringPolicy size="5MB" />
</Policies>
</FastRollingFile>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</Console>
</appenders>
<loggers>
<logger name="mylogger" level="INFO" additivity="false">
<appender-ref ref="MyFileLog" />
</logger>
<root level="TRACE">
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>
{code}
{code:title=log4j2.xml|borderStyle=solid}
#!/bin/bash
CATALINA_OPTS=-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
{code}
--
This message was sent by Atlassian JIRA
(v6.2#6252)
Gary Gregory (JIRA)
2014-07-11 11:53:05 UTC
Permalink
[ https://issues.apache.org/jira/browse/LOG4J2-323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14058687#comment-14058687 ]

Gary Gregory commented on LOG4J2-323:
-------------------------------------

{quote}
By the way, I noticed that you are still combining async loggers with async loggerConfigs. Only one is sufficient.
{quote}
Post by Michael Kloster (JIRA)
ThreadLocal-leak on tomcat shutdown when using async logging
------------------------------------------------------------
Key: LOG4J2-323
URL: https://issues.apache.org/jira/browse/LOG4J2-323
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.0-beta9
Environment: Mac OS X 10.8.4, Tomcat 7.0.42, java version 1.6.0_51
Reporter: Michael Kloster
Assignee: Remko Popma
Priority: Minor
Labels: Async
Fix For: 2.0-rc1
{code}
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:55:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 841 ms
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jul 28, 2013 9:56:09 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
{code}
{code:xml|title=log4j2.xml|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<FastRollingFile name="MyFileLog" filename="logs/my.log"
filePattern="logs/my-%d{COMPACT}.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
<Policies>
<SizeBasedTriggeringPolicy size="5MB" />
</Policies>
</FastRollingFile>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</Console>
</appenders>
<loggers>
<logger name="mylogger" level="INFO" additivity="false">
<appender-ref ref="MyFileLog" />
</logger>
<root level="TRACE">
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>
{code}
{code:title=log4j2.xml|borderStyle=solid}
#!/bin/bash
CATALINA_OPTS=-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
{code}
--
This message was sent by Atlassian JIRA
(v6.2#6252)
Remko Popma (JIRA)
2014-07-11 12:17:05 UTC
Permalink
[ https://issues.apache.org/jira/browse/LOG4J2-323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14058705#comment-14058705 ]

Remko Popma commented on LOG4J2-323:
------------------------------------

Yes, it is on the Async Loggers page in the _Making All Loggers Asynchronous_ section (logging.apache.org/log4j/2.x/manual/async.html#AllAsync ), immediately following the sample config.
Post by Michael Kloster (JIRA)
ThreadLocal-leak on tomcat shutdown when using async logging
------------------------------------------------------------
Key: LOG4J2-323
URL: https://issues.apache.org/jira/browse/LOG4J2-323
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.0-beta9
Environment: Mac OS X 10.8.4, Tomcat 7.0.42, java version 1.6.0_51
Reporter: Michael Kloster
Assignee: Remko Popma
Priority: Minor
Labels: Async
Fix For: 2.0-rc1
{code}
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:55:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 841 ms
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jul 28, 2013 9:56:09 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
{code}
{code:xml|title=log4j2.xml|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<FastRollingFile name="MyFileLog" filename="logs/my.log"
filePattern="logs/my-%d{COMPACT}.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
<Policies>
<SizeBasedTriggeringPolicy size="5MB" />
</Policies>
</FastRollingFile>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</Console>
</appenders>
<loggers>
<logger name="mylogger" level="INFO" additivity="false">
<appender-ref ref="MyFileLog" />
</logger>
<root level="TRACE">
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>
{code}
{code:title=log4j2.xml|borderStyle=solid}
#!/bin/bash
CATALINA_OPTS=-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
{code}
--
This message was sent by Atlassian JIRA
(v6.2#6252)
Remko Popma (JIRA)
2014-07-11 12:21:05 UTC
Permalink
[ https://issues.apache.org/jira/browse/LOG4J2-323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14058705#comment-14058705 ]

Remko Popma edited comment on LOG4J2-323 at 7/11/14 12:19 PM:
--------------------------------------------------------------

Yes, it is on the Async Loggers page in the [Making All Loggers Asynchronous|http://logging.apache.org/log4j/2.x/manual/async.html#AllAsync] section, immediately following the sample config.


was (Author: ***@yahoo.com):
Yes, it is on the Async Loggers page in the _Making All Loggers Asynchronous_ section (logging.apache.org/log4j/2.x/manual/async.html#AllAsync ), immediately following the sample config.
Post by Michael Kloster (JIRA)
ThreadLocal-leak on tomcat shutdown when using async logging
------------------------------------------------------------
Key: LOG4J2-323
URL: https://issues.apache.org/jira/browse/LOG4J2-323
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.0-beta9
Environment: Mac OS X 10.8.4, Tomcat 7.0.42, java version 1.6.0_51
Reporter: Michael Kloster
Assignee: Remko Popma
Priority: Minor
Labels: Async
Fix For: 2.0-rc1
{code}
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:55:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 841 ms
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jul 28, 2013 9:56:09 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
{code}
{code:xml|title=log4j2.xml|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<FastRollingFile name="MyFileLog" filename="logs/my.log"
filePattern="logs/my-%d{COMPACT}.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
<Policies>
<SizeBasedTriggeringPolicy size="5MB" />
</Policies>
</FastRollingFile>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</Console>
</appenders>
<loggers>
<logger name="mylogger" level="INFO" additivity="false">
<appender-ref ref="MyFileLog" />
</logger>
<root level="TRACE">
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>
{code}
{code:title=log4j2.xml|borderStyle=solid}
#!/bin/bash
CATALINA_OPTS=-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
{code}
--
This message was sent by Atlassian JIRA
(v6.2#6252)
Gary Gregory (JIRA)
2014-07-11 12:23:05 UTC
Permalink
[ https://issues.apache.org/jira/browse/LOG4J2-323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14058708#comment-14058708 ]

Gary Gregory commented on LOG4J2-323:
-------------------------------------

The "Requires disruptor-3.0.0.jar or higher on the classpath." should be updated to match the version in the POM.
Post by Michael Kloster (JIRA)
ThreadLocal-leak on tomcat shutdown when using async logging
------------------------------------------------------------
Key: LOG4J2-323
URL: https://issues.apache.org/jira/browse/LOG4J2-323
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.0-beta9
Environment: Mac OS X 10.8.4, Tomcat 7.0.42, java version 1.6.0_51
Reporter: Michael Kloster
Assignee: Remko Popma
Priority: Minor
Labels: Async
Fix For: 2.0-rc1
{code}
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:55:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 841 ms
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jul 28, 2013 9:56:09 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
{code}
{code:xml|title=log4j2.xml|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<FastRollingFile name="MyFileLog" filename="logs/my.log"
filePattern="logs/my-%d{COMPACT}.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
<Policies>
<SizeBasedTriggeringPolicy size="5MB" />
</Policies>
</FastRollingFile>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</Console>
</appenders>
<loggers>
<logger name="mylogger" level="INFO" additivity="false">
<appender-ref ref="MyFileLog" />
</logger>
<root level="TRACE">
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>
{code}
{code:title=log4j2.xml|borderStyle=solid}
#!/bin/bash
CATALINA_OPTS=-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
{code}
--
This message was sent by Atlassian JIRA
(v6.2#6252)
Remko Popma (JIRA)
2014-07-18 12:33:05 UTC
Permalink
[ https://issues.apache.org/jira/browse/LOG4J2-323?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Remko Popma updated LOG4J2-323:
-------------------------------

Fix Version/s: (was: 2.0-rc1)
2.1
Post by Michael Kloster (JIRA)
ThreadLocal-leak on tomcat shutdown when using async logging
------------------------------------------------------------
Key: LOG4J2-323
URL: https://issues.apache.org/jira/browse/LOG4J2-323
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.0-beta9
Environment: Mac OS X 10.8.4, Tomcat 7.0.42, java version 1.6.0_51
Reporter: Michael Kloster
Assignee: Remko Popma
Priority: Minor
Labels: Async
Fix For: 2.1
{code}
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:55:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 841 ms
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jul 28, 2013 9:56:09 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
{code}
{code:xml|title=log4j2.xml|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<FastRollingFile name="MyFileLog" filename="logs/my.log"
filePattern="logs/my-%d{COMPACT}.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
<Policies>
<SizeBasedTriggeringPolicy size="5MB" />
</Policies>
</FastRollingFile>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</Console>
</appenders>
<loggers>
<logger name="mylogger" level="INFO" additivity="false">
<appender-ref ref="MyFileLog" />
</logger>
<root level="TRACE">
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>
{code}
{code:title=log4j2.xml|borderStyle=solid}
#!/bin/bash
CATALINA_OPTS=-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
{code}
--
This message was sent by Atlassian JIRA
(v6.2#6252)
Remko Popma (JIRA)
2014-09-22 13:24:35 UTC
Permalink
[ https://issues.apache.org/jira/browse/LOG4J2-323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14143185#comment-14143185 ]

Remko Popma commented on LOG4J2-323:
------------------------------------

The full solution for this issue is probably to implement a ref count mechanism in AsyncLogger, similar to what AsyncLoggerConfigHelper currently does. AbstractConfiguration.stop() and .start() can then call AsyncLogger.stop() and .start(). This would also fix LOG4J2-493.

Ref count mechanisms are fiddly and easy to get wrong though. An alternative that would just fix this issue (and not LOG4J2-493) may be to clear the ThreadLocals held by AsyncLogger when stop() is called, and register the background thread ThreadLocal (AsyncLogger#initInfoForExecutorThread) when the AsyncLogger is started.

I need to look at this some more before I make any changes.
Post by Michael Kloster (JIRA)
ThreadLocal-leak on tomcat shutdown when using async logging
------------------------------------------------------------
Key: LOG4J2-323
URL: https://issues.apache.org/jira/browse/LOG4J2-323
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.0-beta9
Environment: Mac OS X 10.8.4, Tomcat 7.0.42, java version 1.6.0_51
Reporter: Michael Kloster
Assignee: Remko Popma
Priority: Minor
Labels: Async
Fix For: 2.1
{code}
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:55:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 841 ms
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jul 28, 2013 9:56:09 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
{code}
{code:xml|title=log4j2.xml|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<FastRollingFile name="MyFileLog" filename="logs/my.log"
filePattern="logs/my-%d{COMPACT}.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
<Policies>
<SizeBasedTriggeringPolicy size="5MB" />
</Policies>
</FastRollingFile>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</Console>
</appenders>
<loggers>
<logger name="mylogger" level="INFO" additivity="false">
<appender-ref ref="MyFileLog" />
</logger>
<root level="TRACE">
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>
{code}
{code:title=log4j2.xml|borderStyle=solid}
#!/bin/bash
CATALINA_OPTS=-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
{code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
Remko Popma (JIRA)
2014-09-24 10:16:34 UTC
Permalink
[ https://issues.apache.org/jira/browse/LOG4J2-323?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Remko Popma updated LOG4J2-323:
-------------------------------
Fix Version/s: (was: 2.1)
2.2

I've looked at this and I don't think it is possible to clear the ThreadLocals held by AsyncLogger. There is no {{ThreadLocal.clear()}} method that would remove the data held for all threads, only a {{remove}} method that would remove the data held for the current thread.

So basically this issue depends on the fix for LOG4J2-493.

Note that there are two workarounds for this issue (similar to LOG4J2-493):
* Put the log4j2 jar files in WEB-INF/lib of your web application.
* Or: do _not_ use async loggers by setting system property Log4jContextSelector, instead use async loggers by using <AsyncLogger> and <AsyncRoot> in the configuration.

Either of the above workarounds will prevent the memory leak.
Post by Michael Kloster (JIRA)
ThreadLocal-leak on tomcat shutdown when using async logging
------------------------------------------------------------
Key: LOG4J2-323
URL: https://issues.apache.org/jira/browse/LOG4J2-323
Project: Log4j 2
Issue Type: Bug
Affects Versions: 2.0-beta9
Environment: Mac OS X 10.8.4, Tomcat 7.0.42, java version 1.6.0_51
Reporter: Michael Kloster
Assignee: Remko Popma
Priority: Minor
Labels: Async
Fix For: 2.2
{code}
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:55:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:55:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 841 ms
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jul 28, 2013 9:56:09 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Jul 28, 2013 9:56:09 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
{code}
{code:xml|title=log4j2.xml|borderStyle=solid}
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
<appenders>
<FastRollingFile name="MyFileLog" filename="logs/my.log"
filePattern="logs/my-%d{COMPACT}.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
<Policies>
<SizeBasedTriggeringPolicy size="5MB" />
</Policies>
</FastRollingFile>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</Console>
</appenders>
<loggers>
<logger name="mylogger" level="INFO" additivity="false">
<appender-ref ref="MyFileLog" />
</logger>
<root level="TRACE">
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>
{code}
{code:title=log4j2.xml|borderStyle=solid}
#!/bin/bash
CATALINA_OPTS=-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
{code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Loading...