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

Shutdown in Confluence 3.3+ causes CacheManager to throw Stacktrace

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: Low Low
    • None
    • 3.3
    • None

      Observed in at lease 3.3+. Could extend further back.

      Conditions to reproduce:
      Start Confluence.

      Stop Confluence using shutdown.sh. Observe atlassian-confluence.log

      Heart of stacktrace:

      2010-11-18 09:25:02,807 ERROR [Timer-4] [osgi.container.felix.FelixOsgiContainerManager] doLog EventDispatcher: Error during dispatch.
      com.atlassian.plugin.event.NotificationException: java.lang.RuntimeException: The CacheManager has been shut down. It can no longer be used.
      	at com.atlassian.plugin.event.impl.DefaultPluginEventManager.broadcast(DefaultPluginEventManager.java:92)
      	at com.atlassian.plugin.osgi.factory.UnrecognizedModuleDescriptorServiceTrackerCustomizer.removedService(UnrecognizedModuleDescriptorServiceTrackerCustomizer.java:138)
      	at org.osgi.util.tracker.ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:922)
      	at org.osgi.util.tracker.AbstractTracked.untrack(AbstractTracked.java:351)
      	at org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:865)
      	at org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:864)
      	at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:732)
      	at org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:662)
      	at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:3619)
      	at org.apache.felix.framework.Felix.access$000(Felix.java:39)
      	at org.apache.felix.framework.Felix$2.serviceChanged(Felix.java:667)
      	at org.apache.felix.framework.ServiceRegistry.unregisterService(ServiceRegistry.java:111)
      	at org.apache.felix.framework.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:129)
      	at org.springframework.osgi.service.exporter.support.internal.support.ServiceRegistrationDecorator.unregister(ServiceRegistrationDecorator.java:65)
      	at org.springframework.osgi.util.OsgiServiceUtils.unregisterService(OsgiServiceUtils.java:41)
      	at org.springframework.osgi.service.exporter.support.OsgiServiceFactoryBean.unregisterService(OsgiServiceFactoryBean.java:372)
      	at org.springframework.osgi.service.exporter.support.OsgiServiceFactoryBean.unregisterService(OsgiServiceFactoryBean.java:362)
      	at org.springframework.osgi.service.exporter.support.AbstractOsgiServiceExporter.destroy(AbstractOsgiServiceExporter.java:84)
      	at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:151)
      	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:487)
      	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:462)
      	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:430)
      	at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:853)
      	at org.springframework.osgi.context.support.AbstractOsgiBundleApplicationContext.destroyBeans(AbstractOsgiBundleApplicationContext.java:204)
      	at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:831)
      	at org.springframework.osgi.context.support.AbstractOsgiBundleApplicationContext.doClose(AbstractOsgiBundleApplicationContext.java:197)
      	at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.access$501(AbstractDelegatedExecutionApplicationContext.java:69)
      	at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$2.run(AbstractDelegatedExecutionApplicationContext.java:214)
      	at org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85)
      	at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.normalClose(AbstractDelegatedExecutionApplicationContext.java:210)
      	at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.close(DependencyWaiterApplicationContextExecutor.java:374)
      	at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.doClose(AbstractDelegatedExecutionApplicationContext.java:236)
      	at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:794)
      	at org.springframework.osgi.extender.internal.activator.ContextLoaderListener$1.run(ContextLoaderListener.java:522)
      	at org.springframework.osgi.extender.internal.util.concurrent.RunnableTimedExecution$MonitoredRunnable.run(RunnableTimedExecution.java:60)
      	at org.springframework.scheduling.timer.DelegatingTimerTask.run(DelegatingTimerTask.java:66)
      	at java.util.TimerThread.mainLoop(Timer.java:512)
      	at java.util.TimerThread.run(Timer.java:462)
      Caused by: java.lang.RuntimeException: The CacheManager has been shut down. It can no longer be used.
      	at com.atlassian.plugin.event.impl.MethodSelectorListenerHandler$1$1.invoke(MethodSelectorListenerHandler.java:67)
      	at com.atlassian.event.internal.AsynchronousAbleEventDispatcher$2.run(AsynchronousAbleEventDispatcher.java:60)
      	at com.atlassian.event.internal.AsynchronousAbleEventDispatcher$1.execute(AsynchronousAbleEventDispatcher.java:28)
      	at com.atlassian.event.internal.AsynchronousAbleEventDispatcher.dispatch(AsynchronousAbleEventDispatcher.java:56)
      	at com.atlassian.event.internal.EventPublisherImpl.invokeListeners(EventPublisherImpl.java:145)
      	at com.atlassian.event.internal.EventPublisherImpl.publish(EventPublisherImpl.java:67)
      	at com.atlassian.plugin.event.impl.DefaultPluginEventManager.broadcast(DefaultPluginEventManager.java:88)
      	... 37 more
      Caused by: java.lang.reflect.InvocationTargetException
      	at sun.reflect.GeneratedMethodAccessor263.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      	at java.lang.reflect.Method.invoke(Method.java:597)
      	at com.atlassian.plugin.event.impl.MethodSelectorListenerHandler$1$1.invoke(MethodSelectorListenerHandler.java:49)
      	... 43 more
      Caused by: java.lang.IllegalStateException: The CacheManager has been shut down. It can no longer be used.
      	at net.sf.ehcache.CacheManager.checkStatus(CacheManager.java:827)
      	at net.sf.ehcache.CacheManager.getCache(CacheManager.java:536)
      	at com.atlassian.confluence.cache.ehcache.EhCacheManager.getCache(EhCacheManager.java:68)
      	at com.atlassian.confluence.cache.TransactionalCacheFactory.getCache(TransactionalCacheFactory.java:63)
      	at com.atlassian.confluence.setup.bandana.ConfluenceCachingBandanaPersister.getCache(ConfluenceCachingBandanaPersister.java:41)
      	at com.atlassian.confluence.setup.bandana.ConfluenceCachingBandanaPersister.retrieve(ConfluenceCachingBandanaPersister.java:54)
      	at com.atlassian.bandana.DefaultBandanaManager.getValue(DefaultBandanaManager.java:32)
      	at com.atlassian.bandana.DefaultBandanaManager.getValue(DefaultBandanaManager.java:24)
      	at com.atlassian.confluence.plugin.BandanaPluginStateStore.load(BandanaPluginStateStore.java:30)
      	at com.atlassian.plugin.manager.DefaultPluginManager.getBuilder(DefaultPluginManager.java:1475)
      	at com.atlassian.plugin.manager.DefaultPluginManager.disablePluginModuleState(DefaultPluginManager.java:1309)
      	at com.atlassian.confluence.plugin.ConfluencePluginManager.notifyModuleDisabled(ConfluencePluginManager.java:112)
      	at com.atlassian.plugin.manager.DefaultPluginManager.onPluginModuleUnavailable(DefaultPluginManager.java:234)
      	... 47 more
      2010-11-18 09:25:06,221 INFO [Thread-29] [com.atlassian.confluence.lifecycle] contextDestroyed Stopping Confluence        
      

      As far as I can tell, this doesn't actually cause things to go nuts, but it is filling up logs with huge stack traces, which is alarming to customers and makes logs overall harder to read.

      Originally posted by twong in https://studio.atlassian.com/browse/PLUG-689

            Unassigned Unassigned
            dbrown@atlassian.com Don Brown (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: