PicoContainer
  1. PicoContainer
  2. PICO-373

Logging about memory leaks and ThreadLocals when redeploying a picocontainer-using app on Tomcat 6.0

    Details

    • Type: Bug Bug
    • Status: Resolved Resolved
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 1.3
    • Fix Version/s: 3.0
    • Component/s: PicoContainer (Java)
    • Labels:
      None
    • Environment:
      Linux (Fedora Core 12)
    • Number of attachments :
      3

      Description

      Deploy the attached sample application onto Apache Tomcat v6 (included are a pre-built WAR exported from eclipse, a context file for tomcat, and the eclipse project containing the source code).

      Now re-deploy by touching the war file.

      Observe the following line in the catalina.out log file:

      14-Jul-2010 10:52:02 org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
      SEVERE: A web application created a ThreadLocal with key of type [org.picocontainer.defaults.ConstructorInjectionComponentAdapter$1] (value [org.picocontainer.defaults.ConstructorInjectionComponentAdapter$1@f91da9]) 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 there some destroy/dispose/shutdown call on picocontainer that I am omitting, or is this a bug?

      The following thread discusses the problem with Tomcat and ThreadLocals and makes a few suggestions for how to avoid it:
      http://echo.nextapp.com/site/node/6254

      I've marked this bug as minor since leaking Booleans isn't a serious memory leak, so it's really just the log spam that's upsetting.

        People

        • Assignee:
          Paul Hammant
          Reporter:
          David North
        • Votes:
          1 Vote for this issue
          Watchers:
          1 Start watching this issue

          Dates

          • Created:
            Updated:
            Resolved: