Uploaded image for project: 'Confluence Cloud'
  1. Confluence Cloud
  2. CONFCLOUD-22879

Reduce errors logged when shutting down Confluence

XMLWordPrintable

    • 1
    • 20
    • Our product teams collect and evaluate feedback from a number of different sources. To learn more about how we use customer feedback in the planning process, check out our new feature policy.

      NOTE: This suggestion is for Confluence Cloud. Using Confluence Server? 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:
              28 Vote for this issue
              Watchers:
              30 Start watching this issue

                Created:
                Updated: