ICEfaces
  1. ICEfaces
  2. ICE-1384

Thread prevents application server shutdown

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Critical Critical
    • Resolution: Fixed
    • Affects Version/s: 1.6DR#2
    • Fix Version/s: 1.6DR#3, 1.6
    • Component/s: Framework
    • Labels:
      None
    • Environment:
      JBoss 4.0.5

      Description


      When attempting to shutdown JBoss after using an ICEfaces application, one or more of the following threads appears to be preventing the shutdown. It is more likely that an Object.wait() prevents shutdown than a Thread.sleep() since Thread.sleep() can be interrupted.

      "ScannerThread" daemon prio=5 tid=0x0051fe70 nid=0x1941c00 in Object.wait() [0xb0d89000..0xb0d8bd10]
              at java.lang.Object.wait(Native Method)
              - waiting on <0x0c6e2728> (a edu.emory.mathcs.backport.java.util.concurrent.LinkedBlockingQueue$SerializableLock)
              at java.lang.Object.wait(Object.java:474)
              at edu.emory.mathcs.backport.java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:315)
              - locked <0x0c6e2728> (a edu.emory.mathcs.backport.java.util.concurrent.LinkedBlockingQueue$SerializableLock)
              at com.icesoft.faces.webapp.http.core.SendUpdatedViews$2.run(SendUpdatedViews.java:33)
              at com.icesoft.faces.webapp.http.core.ViewQueue.put(ViewQueue.java:16)
              at com.icesoft.faces.webapp.http.servlet.ServletView.put(ServletView.java:83)
              at com.icesoft.faces.webapp.http.core.PushServer.shutdown(PushServer.java:45)
              at com.icesoft.faces.webapp.http.servlet.ThreadBlockingAdaptingServlet.shutdown(ThreadBlockingAdaptingServlet.java:24)
              at com.icesoft.faces.webapp.http.servlet.EnvironmentAdaptingServlet.shutdown(EnvironmentAdaptingServlet.java:33)
              at com.icesoft.faces.webapp.http.servlet.PushServlet.shutdown(PushServlet.java:32)
              at com.icesoft.faces.webapp.http.servlet.PathDispatcher$Matcher.shutdown(PathDispatcher.java:49)
              at com.icesoft.faces.webapp.http.servlet.PathDispatcher.shutdown(PathDispatcher.java:57)
              at com.icesoft.faces.webapp.http.servlet.MainSessionBoundServlet.shutdown(MainSessionBoundServlet.java:38)
              at com.icesoft.faces.webapp.http.servlet.SessionDispatcher.shutdown(SessionDispatcher.java:42)
              at com.icesoft.faces.webapp.http.servlet.PathDispatcher$Matcher.shutdown(PathDispatcher.java:49)
              at com.icesoft.faces.webapp.http.servlet.PathDispatcher.shutdown(PathDispatcher.java:57)
              at com.icesoft.faces.webapp.http.servlet.MainServlet.destroy(MainServlet.java:57)
              at org.apache.catalina.core.StandardWrapper.unload(StandardWrapper.java:1326)
              - locked <0x0bea9e28> (a org.apache.catalina.core.StandardWrapper)
              at org.apache.catalina.core.StandardWrapper.stop(StandardWrapper.java:1654)
              at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4345)
              - locked <0x0bdf7630> (a org.apache.catalina.core.StandardContext)
              at org.apache.catalina.core.ContainerBase.destroy(ContainerBase.java:1132)
              at org.apache.catalina.core.StandardContext.destroy(StandardContext.java:4449)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.apache.commons.modeler.BaseModelMBean.invoke(BaseModelMBean.java:503)
              at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164)
              at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
              at org.jboss.web.tomcat.tc5.TomcatDeployer.performUndeployInternal(TomcatDeployer.java:450)
              at org.jboss.web.tomcat.tc5.TomcatDeployer.performUndeploy(TomcatDeployer.java:421)
              at org.jboss.web.AbstractWebDeployer.stop(AbstractWebDeployer.java:418)
              - locked <0x0bd48328> (a org.jboss.web.tomcat.tc5.TomcatDeployer)
              at org.jboss.web.WebModule.stopModule(WebModule.java:100)
              - locked <0x0bd4f530> (a org.jboss.web.WebModule)
              at org.jboss.web.WebModule.stopService(WebModule.java:66)
              at org.jboss.system.ServiceMBeanSupport.jbossInternalStop(ServiceMBeanSupport.java:315)
              at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:247)
              at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
              at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
              at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
              at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
              at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
              at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
              at $Proxy0.stop(Unknown Source)
              at org.jboss.system.ServiceController.stop(ServiceController.java:508)
              at sun.reflect.GeneratedMethodAccessor380.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
              at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
              at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
              at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
              at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
              at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
              at $Proxy104.stop(Unknown Source)
              at org.jboss.web.AbstractWebContainer.stop(AbstractWebContainer.java:498)
              - locked <0x099e3358> (a org.jboss.web.tomcat.tc5.Tomcat5)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
              at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
              at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
              at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
              at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
              at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:97)
              at org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport.java:238)
              at org.jboss.ws.integration.jboss.DeployerInterceptor.stop(DeployerInterceptor.java:122)
              at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.stop(SubDeployerInterceptorSupport.java:196)
              at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:99)
              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:659)
              at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
              at $Proxy105.stop(Unknown Source)
              at org.jboss.deployment.MainDeployer.stop(MainDeployer.java:667)
              at org.jboss.deployment.MainDeployer.stop(MainDeployer.java:659)
              at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:638)
              at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:632)
              at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:615)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
              at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
              at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
              at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
              at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
              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:659)
              at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
              at $Proxy8.undeploy(Unknown Source)
              at org.jboss.deployment.scanner.URLDeploymentScanner.undeploy(URLDeploymentScanner.java:450)
              at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:604)
              - locked <0x08e937c0> (a org.jboss.deployment.scanner.URLDeploymentScanner)
              at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
              at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:274)
              at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:225)

      "Session Monitor" daemon prio=5 tid=0x005aee30 nid=0x1ba3400 waiting on condition [0xb253a000..0xb253ad10]
              at java.lang.Thread.sleep(Native Method)
              at com.icesoft.faces.webapp.http.servlet.SessionDispatcher$Listener$1.run(SessionDispatcher.java:138)


      "Session Monitor" daemon prio=5 tid=0x00590470 nid=0x1c6d200 in Object.wait() [0xb24b9000..0xb24b9d10]
              at java.lang.Object.wait(Native Method)
              - waiting on <0x0bb86210> (a edu.emory.mathcs.backport.java.util.concurrent.LinkedBlockingQueue$SerializableLock)
              at java.lang.Object.wait(Object.java:474)
              at edu.emory.mathcs.backport.java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:315)
              - locked <0x0bb86210> (a edu.emory.mathcs.backport.java.util.concurrent.LinkedBlockingQueue$SerializableLock)
              at com.icesoft.faces.webapp.http.core.SendUpdatedViews$2.run(SendUpdatedViews.java:33)
              at com.icesoft.faces.webapp.http.core.ViewQueue.put(ViewQueue.java:16)
              at com.icesoft.faces.webapp.http.servlet.ServletView.put(ServletView.java:83)
              at com.icesoft.faces.webapp.http.core.PushServer.shutdown(PushServer.java:45)
              at com.icesoft.faces.webapp.http.servlet.ThreadBlockingAdaptingServlet.shutdown(ThreadBlockingAdaptingServlet.java:24)
              at com.icesoft.faces.webapp.http.servlet.EnvironmentAdaptingServlet.shutdown(EnvironmentAdaptingServlet.java:33)
              at com.icesoft.faces.webapp.http.servlet.PushServlet.shutdown(PushServlet.java:32)
              at com.icesoft.faces.webapp.http.servlet.PathDispatcher$Matcher.shutdown(PathDispatcher.java:49)
              at com.icesoft.faces.webapp.http.servlet.PathDispatcher.shutdown(PathDispatcher.java:57)
              at com.icesoft.faces.webapp.http.servlet.MainSessionBoundServlet.shutdown(MainSessionBoundServlet.java:38)
              at com.icesoft.faces.webapp.http.servlet.SessionDispatcher.sessionShutdown(SessionDispatcher.java:56)
              at com.icesoft.faces.webapp.http.servlet.SessionDispatcher.access$200(SessionDispatcher.java:17)
              at com.icesoft.faces.webapp.http.servlet.SessionDispatcher$Listener.sessionShutdown(SessionDispatcher.java:89)
              at com.icesoft.faces.webapp.http.servlet.SessionDispatcher$Listener$1.run(SessionDispatcher.java:126)

        Issue Links

          Activity

          Ken Fyten made changes -
          Status Resolved [ 5 ] Closed [ 6 ]
          Assignee Priority P1
          Assignee Mircea Toma [ mircea.toma ]
          Ken Fyten made changes -
          Fix Version/s 1.6 [ 10031 ]
          Mircea Toma made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          Hide
          Mircea Toma added a comment -

          Drain updated views queue in synchronous mode.

          Show
          Mircea Toma added a comment - Drain updated views queue in synchronous mode.
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #13463 Wed Apr 04 15:03:33 MDT 2007 mircea.toma Drain updated views queue in synchronous mode-- ICE-1384.
          Files Changed
          Commit graph MODIFY /icefaces/trunk/icefaces/core/src/com/icesoft/faces/webapp/http/core/PushServer.java
          Commit graph MODIFY /icefaces/trunk/icefaces/core/src/com/icesoft/faces/webapp/http/servlet/PushServlet.java
          Mircea Toma made changes -
          Link This issue depends on ICE-1375 [ ICE-1375 ]
          Hide
          Ted Goddard added a comment -

          Mircea has observed that this shutdown problem only occurs with ICEfaces synchronous mode.

          Show
          Ted Goddard added a comment - Mircea has observed that this shutdown problem only occurs with ICEfaces synchronous mode.
          Ken Fyten made changes -
          Field Original Value New Value
          Fix Version/s 1.6DR#3 [ 10050 ]
          Assignee Priority P1
          Assignee Mircea Toma [ mircea.toma ]
          Priority Major [ 3 ] Critical [ 2 ]
          Ted Goddard created issue -

            People

            • Assignee:
              Unassigned
              Reporter:
              Ted Goddard
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: