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

Details

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

    Description

      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

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: