JBoss shutdown stalls at org.jboss.web.tomcat.service.session.JBossCacheManager.stop() in EAP 5
Issue
When JBoss session replication is enabled, JBoss shutdown stalls at the application undeployment due to wait all web request processing is completed. The thread dump shows shutdown hang at org.jboss.web.tomcat.service.session.JBossCacheManager.stop()
:
"JBoss Shutdown Hook" daemon prio=10 tid=0x00007f8ca8008000 nid=0x7283 waiting on condition [0x00007f8c71a04000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000f253f5b8> (a java.util.concurrent.Semaphore$FairSync)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:811)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:969)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1281)
at java.util.concurrent.Semaphore.acquire(Semaphore.java:441)
at org.jboss.web.tomcat.service.session.JBossCacheManager.stop(JBossCacheManager.java:861)
at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4574)
- locked <0x00000000f24f9848> (a org.apache.catalina.core.StandardContext)
at org.apache.catalina.core.ContainerBase.destroy(ContainerBase.java:1175)
at org.apache.catalina.core.StandardContext.destroy(StandardContext.java:4668)
at sun.reflect.GeneratedMethodAccessor403.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:297)
at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performUndeployInternal(TomcatDeployment.java:599)
at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performUndeploy(TomcatDeployment.java:573)
at org.jboss.web.deployers.AbstractWarDeployment.stop(AbstractWarDeployment.java:480)
- locked <0x00000000f24ed898> (a org.jboss.web.tomcat.service.deployers.TomcatDeployment)
at org.jboss.web.deployers.WebModule.stopModule(WebModule.java:137)
- locked <0x00000000f24ed878> (a org.jboss.web.deployers.WebModule)
at org.jboss.web.deployers.WebModule.stop(WebModule.java:102)
at sun.reflect.GeneratedMethodAccessor401.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
at org.jboss.system.microcontainer.ServiceProxy.invoke(ServiceProxy.java:206)
at $Proxy38.stop(Unknown Source)
at org.jboss.system.microcontainer.StartStopLifecycleAction.uninstallAction(StartStopLifecycleAction.java:56)
at org.jboss.system.microcontainer.StartStopLifecycleAction.uninstallAction(StartStopLifecycleAction.java:37)
at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleUninstallAction(SimpleControllerContextAction.java:79)
at org.jboss.dependency.plugins.action.AccessControllerContextAction.uninstall(AccessControllerContextAction.java:131)
at org.jboss.dependency.plugins.AbstractControllerContextActions.uninstall(AbstractControllerContextActions.java:58)
at org.jboss.dependency.plugins.AbstractControllerContext.uninstall(AbstractControllerContext.java:354)
at org.jboss.dependency.plugins.AbstractController.uninstall(AbstractController.java:1685)
at org.jboss.dependency.plugins.AbstractController.uninstallContext(AbstractController.java:1295)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:831)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:556)
at org.jboss.system.ServiceController.doChange(ServiceController.java:688)
at org.jboss.system.ServiceController.stop(ServiceController.java:510)
at org.jboss.system.deployers.ServiceDeployer.stop(ServiceDeployer.java:170)
at org.jboss.system.deployers.ServiceDeployer.undeploy(ServiceDeployer.java:150)
at org.jboss.system.deployers.ServiceDeployer.undeploy(ServiceDeployer.java:46)
at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalUndeploy(AbstractSimpleRealDeployer.java:69)
at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.undeploy(AbstractRealDeployer.java:117)
at org.jboss.deployers.plugins.deployers.DeployerWrapper.undeploy(DeployerWrapper.java:204)
at org.jboss.deployers.plugins.deployers.DeployersImpl.doUndeploy(DeployersImpl.java:1484)
at org.jboss.deployers.plugins.deployers.DeployersImpl.doUninstallParentLast(DeployersImpl.java:1391)
at org.jboss.deployers.plugins.deployers.DeployersImpl.doUninstallParentLast(DeployersImpl.java:1384)
at org.jboss.deployers.plugins.deployers.DeployersImpl.uninstall(DeployersImpl.java:1346)
at org.jboss.dependency.plugins.AbstractControllerContext.uninstall(AbstractControllerContext.java:354)
at org.jboss.dependency.plugins.AbstractController.uninstall(AbstractController.java:1685)
at org.jboss.dependency.plugins.AbstractController.uninstallContext(AbstractController.java:1295)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:831)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:556)
at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:702)
at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:676)
at org.jboss.system.server.profileservice.repository.MainDeployerAdapter.process(MainDeployerAdapter.java:117)
at org.jboss.system.server.profileservice.repository.ProfileDeployAction.uninstall(ProfileDeployAction.java:95)
at org.jboss.system.server.profileservice.repository.AbstractProfileAction.uninstall(AbstractProfileAction.java:70)
at org.jboss.system.server.profileservice.repository.AbstractProfileService.uninstall(AbstractProfileService.java:417)
at org.jboss.dependency.plugins.AbstractControllerContext.uninstall(AbstractControllerContext.java:354)
at org.jboss.dependency.plugins.AbstractController.uninstall(AbstractController.java:1685)
at org.jboss.dependency.plugins.AbstractController.uninstallContext(AbstractController.java:1295)
at org.jboss.dependency.plugins.AbstractController.uninstallContext(AbstractController.java:1198)
at org.jboss.dependency.plugins.AbstractController.uninstallContext(AbstractController.java:1254)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:831)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:556)
at org.jboss.system.server.profileservice.repository.AbstractProfileService.deactivateProfile(AbstractProfileService.java:448)
at org.jboss.system.server.profileservice.ProfileServiceBootstrap.deactivateProfiles(ProfileServiceBootstrap.java:381)
at org.jboss.system.server.profileservice.ProfileServiceBootstrap.shutdown(ProfileServiceBootstrap.java:339)
at org.jboss.bootstrap.AbstractServerImpl.shutdownServer(AbstractServerImpl.java:571)
at org.jboss.bootstrap.AbstractServerImpl$ShutdownHook.run(AbstractServerImpl.java:909)
Environment
- JBoss Enterprise Application Platform (EAP) 5
- JBoss Clustering (Session replication) enabled
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.