
[ http://jira.qos.ch/browse/LBCLASSIC-183?page=com.atlassian.jira.plugin.syste... ] Carey Evans commented on LBCLASSIC-183: --------------------------------------- A fix for this warning is to change guard.set(false) on line 98 of UnsynchronizedAppenderBase.java to guard.remove(). However, this may make things slower since (on Java 6) it causes rehashing of the ThreadLocalMap twice every time doAppend() is called. A better solution may be to not override ThreadLocal.initialValue(), so that the ThreadLocalMap keys don't refer indirectly to the web application's ClassLoader, checking whether guard.get() returns null on line 70 instead: Boolean.TRUE.equals(guard.get()). Since Boolean comes from the system ClassLoader, the ThreadLocalMap values never refer to the web application's ClassLoader.
Tomcat reports SEVERE ThreadLocal issues upon shutdown ------------------------------------------------------
Key: LBCLASSIC-183 URL: http://jira.qos.ch/browse/LBCLASSIC-183 Project: logback-classic Issue Type: Bug Affects Versions: 0.9.18 Environment: Tomcat 6.0.24, JDK 6, Windows or Solaris Reporter: Anthony Whitford Assignee: Ceki Gulcu
I have a webapp that uses Logback, deployed on a Tomcat instance. Upon shutdown, Tomcat reports this and doesn't completely shut down: SEVERE: A web application created a ThreadLocal with key of type [org.slf4j.impl.CopyOnInheritThreadLocal] (value [org.slf4j.impl.CopyOnInheritThreadLocal@1bb35 b]) and a value of type [null] (value [null]) but failed to remove it when the web application was stopped. To prevent a memory leak, the ThreadLocal has been forcibly removed. Feb 3, 2010 10:49:22 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap SEVERE: A web application created a ThreadLocal with key of type [null] (value [ch.qos.logback.core.UnsynchronizedAppenderBase$1@10e2558]) and a value of type [java.lang.Boolean] (value [false]) but failed to remove it when the web application was stopped. To prevent a memory leak, the ThreadLocal has been forcibly removed. Is LogBack leaking resources?
-- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.qos.ch/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira