Uploaded image for project: 'Confluence Data Center'
  1. Confluence Data Center
  2. CONFSERVER-22879

Reduce errors logged when shutting down Confluence

XMLWordPrintable

    • 5
    • 2
    • We collect Confluence feedback from various sources, and we evaluate what we've collected when planning our product roadmap. To understand how this piece of feedback will be reviewed, see our Implementation of New Features Policy.

      NOTE: This suggestion is for Confluence Server. Using Confluence Cloud? See the corresponding suggestion.

      In Tomcat 6.0.32, I get the following errors when shutting down Confluence, even after CONF-21385 is resolved:

      Jul 12, 2011 10:37:59 AM org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
      SEVERE: The web application [/confluence] registered the JDBC driver [org.hsqldb.jdbc.JDBCDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
      Jul 12, 2011 10:37:59 AM org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
      SEVERE: The web application [/confluence] registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
      Jul 12, 2011 10:37:59 AM org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
      SEVERE: The web application [/confluence] registered the JDBC driver [org.postgresql.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
      2011-07-12 10:37:59,842 INFO [main] [com.atlassian.confluence.lifecycle] contextDestroyed Stopping Confluence
      Jul 12, 2011 10:37:59 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
      SEVERE: The web application [/confluence] appears to have started a thread named [com.google.common.base.internal.Finalizer] but has failed to stop it. This is very likely to create a memory leak.
      Jul 12, 2011 10:37:59 AM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
      SEVERE: The web application [/confluence] created a ThreadLocal with key of type [com.atlassian.core.logging.ThreadLocalErrorCollection$2] (value [com.atlassian.core.logging.ThreadLocalErrorCollection$2@2dc4df0b]) and a value of type [java.lang.Boolean] (value [false]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
      Jul 12, 2011 10:37:59 AM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
      SEVERE: The web application [/confluence] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@580f62a6]) and a value of type [org.dom4j.DocumentFactory] (value [org.dom4j.DocumentFactory@5a15ad74]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
      Jul 12, 2011 10:37:59 AM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
      SEVERE: The web application [/confluence] created a ThreadLocal with key of type [com.atlassian.confluence.concurrent.ThreadLocalMap] (value [com.atlassian.confluence.concurrent.ThreadLocalMap@452ec8e0]) and a value of type [java.util.HashMap] (value [{}]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
      log4j:ERROR LogMananger.repositorySelector was null likely due to error in class reloading, using NOPLoggerRepository.
      Jul 12, 2011 10:38:00 AM org.apache.coyote.http11.Http11Protocol destroy
      INFO: Stopping Coyote HTTP/1.1 on http-8080
      Disconnected from server
      

      Those "SEVERE" and "ERROR" lines ideally wouldn't be there. It's Tomcat pointing out how some of our code and some of our library code doesn't clean up resources properly.

      There's also a race condition in C3P0 that leads to error messages like this at shutdown:

      Exception in thread "Timer-0" java.lang.NullPointerException
      at com.mchange.v2.log.log4j.Log4jMLog$Log4jMLogger.isLoggable(Log4jMLog.java:257)
      at com.mchange.v2.resourcepool.BasicResourcePool$CheckIdleResourcesTask.run(BasicResourcePool.java:1961)
      at java.util.TimerThread.mainLoop(Unknown Source)
      at java.util.TimerThread.run(Unknown Source)
      

            Unassigned Unassigned
            matt@atlassian.com Matt Ryall
            Votes:
            30 Vote for this issue
            Watchers:
            34 Start watching this issue

              Created:
              Updated: