Re: Stop Tomcat8 Service Gracefully on Windows

2014-07-01 Thread Igal @ getRailo.org

Hi Mark -- Thank you for replying.

Here is a thread dump from about 30 seconds after I request to stop the 
service.  Can you tell which thread is preventing the JVM from exiting?  
Thanks again!



2014-07-01 09:09:00
Full thread dump Java HotSpot(TM) 64-Bit Server VM (24.51-b03 mixed mode):

DestroyJavaVM - Thread t@78
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
- None

Thread-24 - Thread t@61
   java.lang.Thread.State: RUNNABLE
at sun.net.dns.ResolverConfigurationImpl.notifyAddrChange0(Native 
Method)
at 
sun.net.dns.ResolverConfigurationImpl$AddressChangeListener.run(Unknown 
Source)


   Locked ownable synchronizers:
- None

RMI TCP Connection(4)-192.168.0.7 - Thread t@48
   java.lang.Thread.State: RUNNABLE
at sun.management.ThreadImpl.dumpThreads0(Native Method)
at sun.management.ThreadImpl.dumpAllThreads(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at sun.reflect.misc.Trampoline.invoke(Unknown Source)
at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at sun.reflect.misc.MethodUtil.invoke(Unknown Source)
at 
com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(Unknown 
Source)
at 
com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(Unknown 
Source)

at com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(Unknown Source)
at com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(Unknown Source)
at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(Unknown Source)
at com.sun.jmx.mbeanserver.PerInterface.invoke(Unknown Source)
at com.sun.jmx.mbeanserver.MBeanSupport.invoke(Unknown Source)
at javax.management.StandardMBean.invoke(Unknown Source)
at 
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(Unknown Source)

at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(Unknown Source)
at 
javax.management.remote.rmi.RMIConnectionImpl.doOperation(Unknown Source)
at javax.management.remote.rmi.RMIConnectionImpl.access$300(Unknown 
Source)
at 
javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(Unknown 
Source)
at 
javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(Unknown 
Source)

at javax.management.remote.rmi.RMIConnectionImpl.invoke(Unknown Source)
at sun.reflect.GeneratedMethodAccessor72.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
at sun.rmi.transport.Transport$1.run(Unknown Source)
at sun.rmi.transport.Transport$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
at 
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown 
Source)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

   Locked ownable synchronizers:
- locked 6cb0e9eb (a java.util.concurrent.ThreadPoolExecutor$Worker)

RMI TCP Connection(3)-192.168.0.7 - Thread t@47
   java.lang.Thread.State: TIMED_WAITING
at java.lang.Object.wait(Native Method)
- waiting on 18e5eaed (a 
com.sun.jmx.remote.internal.ArrayNotificationBuffer)
at 
com.sun.jmx.remote.internal.ArrayNotificationBuffer.fetchNotifications(Unknown 
Source)
at 
com.sun.jmx.remote.internal.ArrayNotificationBuffer$ShareBuffer.fetchNotifications(Unknown 
Source)
at 
com.sun.jmx.remote.internal.ServerNotifForwarder.fetchNotifs(Unknown Source)

at javax.management.remote.rmi.RMIConnectionImpl$3.run(Unknown Source)
at javax.management.remote.rmi.RMIConnectionImpl$3.run(Unknown Source)
at 
javax.management.remote.rmi.RMIConnectionImpl.fetchNotifications(Unknown 
Source)

at sun.reflect.GeneratedMethodAccessor98.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
at sun.rmi.transport.Transport$1.run(Unknown Source)
at sun.rmi.transport.Transport$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)

Re: Stop Tomcat8 Service Gracefully on Windows

2014-07-01 Thread Mark Thomas
On 01/07/2014 17:13, Igal @ getRailo.org wrote:
 Hi Mark -- Thank you for replying.
 
 Here is a thread dump from about 30 seconds after I request to stop the
 service.  Can you tell which thread is preventing the JVM from exiting?

No, because the thread dump doesn't show whether a thread is a daemon
thread or not (which is odd - I thought the standard thread dump did
show that). My guess would be the timer threads. Use one of the many
tools that come with the JDK (or a profiler) to look at the threads and
see which non-daemon threads are still running.

Mark

 Thanks again!
 
 
 2014-07-01 09:09:00
 Full thread dump Java HotSpot(TM) 64-Bit Server VM (24.51-b03 mixed mode):
 
 DestroyJavaVM - Thread t@78
java.lang.Thread.State: RUNNABLE
 
Locked ownable synchronizers:
 - None
 
 Thread-24 - Thread t@61
java.lang.Thread.State: RUNNABLE
 at sun.net.dns.ResolverConfigurationImpl.notifyAddrChange0(Native
 Method)
 at
 sun.net.dns.ResolverConfigurationImpl$AddressChangeListener.run(Unknown
 Source)
 
Locked ownable synchronizers:
 - None
 
 RMI TCP Connection(4)-192.168.0.7 - Thread t@48
java.lang.Thread.State: RUNNABLE
 at sun.management.ThreadImpl.dumpThreads0(Native Method)
 at sun.management.ThreadImpl.dumpAllThreads(Unknown Source)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
 at java.lang.reflect.Method.invoke(Unknown Source)
 at sun.reflect.misc.Trampoline.invoke(Unknown Source)
 at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
 at java.lang.reflect.Method.invoke(Unknown Source)
 at sun.reflect.misc.MethodUtil.invoke(Unknown Source)
 at
 com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(Unknown
 Source)
 at
 com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(Unknown
 Source)
 at com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(Unknown Source)
 at com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(Unknown Source)
 at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(Unknown Source)
 at com.sun.jmx.mbeanserver.PerInterface.invoke(Unknown Source)
 at com.sun.jmx.mbeanserver.MBeanSupport.invoke(Unknown Source)
 at javax.management.StandardMBean.invoke(Unknown Source)
 at
 com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(Unknown
 Source)
 at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(Unknown Source)
 at javax.management.remote.rmi.RMIConnectionImpl.doOperation(Unknown
 Source)
 at javax.management.remote.rmi.RMIConnectionImpl.access$300(Unknown
 Source)
 at
 javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(Unknown
 Source)
 at
 javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(Unknown
 Source)
 at javax.management.remote.rmi.RMIConnectionImpl.invoke(Unknown Source)
 at sun.reflect.GeneratedMethodAccessor72.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
 at java.lang.reflect.Method.invoke(Unknown Source)
 at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
 at sun.rmi.transport.Transport$1.run(Unknown Source)
 at sun.rmi.transport.Transport$1.run(Unknown Source)
 at java.security.AccessController.doPrivileged(Native Method)
 at sun.rmi.transport.Transport.serviceCall(Unknown Source)
 at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
 at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown
 Source)
 at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown
 Source)
 at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
 at java.lang.Thread.run(Unknown Source)
 
Locked ownable synchronizers:
 - locked 6cb0e9eb (a java.util.concurrent.ThreadPoolExecutor$Worker)
 
 RMI TCP Connection(3)-192.168.0.7 - Thread t@47
java.lang.Thread.State: TIMED_WAITING
 at java.lang.Object.wait(Native Method)
 - waiting on 18e5eaed (a
 com.sun.jmx.remote.internal.ArrayNotificationBuffer)
 at
 com.sun.jmx.remote.internal.ArrayNotificationBuffer.fetchNotifications(Unknown
 Source)
 at
 com.sun.jmx.remote.internal.ArrayNotificationBuffer$ShareBuffer.fetchNotifications(Unknown
 Source)
 at
 com.sun.jmx.remote.internal.ServerNotifForwarder.fetchNotifs(Unknown
 Source)
 at javax.management.remote.rmi.RMIConnectionImpl$3.run(Unknown Source)
 at javax.management.remote.rmi.RMIConnectionImpl$3.run(Unknown Source)
 at
 javax.management.remote.rmi.RMIConnectionImpl.fetchNotifications(Unknown
 Source)
 at sun.reflect.GeneratedMethodAccessor98.invoke(Unknown Source)
 at 

Re: Stop Tomcat8 Service Gracefully on Windows

2014-07-01 Thread Igal Sapir
I generated this with VisualVM.

I will try to generate in a different way, or to inspect the threads within
the 60 seconds window as you suggested.

Thank you,

Igal
On Jul 1, 2014 9:42 AM, Mark Thomas ma...@apache.org wrote:

 On 01/07/2014 17:13, Igal @ getRailo.org wrote:
  Hi Mark -- Thank you for replying.
 
  Here is a thread dump from about 30 seconds after I request to stop the
  service.  Can you tell which thread is preventing the JVM from exiting?

 No, because the thread dump doesn't show whether a thread is a daemon
 thread or not (which is odd - I thought the standard thread dump did
 show that). My guess would be the timer threads. Use one of the many
 tools that come with the JDK (or a profiler) to look at the threads and
 see which non-daemon threads are still running.

 Mark

  Thanks again!
 
 
  2014-07-01 09:09:00
  Full thread dump Java HotSpot(TM) 64-Bit Server VM (24.51-b03 mixed
 mode):
 
  DestroyJavaVM - Thread t@78
 java.lang.Thread.State: RUNNABLE
 
 Locked ownable synchronizers:
  - None
 
  Thread-24 - Thread t@61
 java.lang.Thread.State: RUNNABLE
  at sun.net.dns.ResolverConfigurationImpl.notifyAddrChange0(Native
  Method)
  at
  sun.net.dns.ResolverConfigurationImpl$AddressChangeListener.run(Unknown
  Source)
 
 Locked ownable synchronizers:
  - None
 
  RMI TCP Connection(4)-192.168.0.7 - Thread t@48
 java.lang.Thread.State: RUNNABLE
  at sun.management.ThreadImpl.dumpThreads0(Native Method)
  at sun.management.ThreadImpl.dumpAllThreads(Unknown Source)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
  at java.lang.reflect.Method.invoke(Unknown Source)
  at sun.reflect.misc.Trampoline.invoke(Unknown Source)
  at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
  at java.lang.reflect.Method.invoke(Unknown Source)
  at sun.reflect.misc.MethodUtil.invoke(Unknown Source)
  at
  com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(Unknown
  Source)
  at
  com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(Unknown
  Source)
  at com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(Unknown
 Source)
  at com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(Unknown
 Source)
  at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(Unknown Source)
  at com.sun.jmx.mbeanserver.PerInterface.invoke(Unknown Source)
  at com.sun.jmx.mbeanserver.MBeanSupport.invoke(Unknown Source)
  at javax.management.StandardMBean.invoke(Unknown Source)
  at
  com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(Unknown
  Source)
  at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(Unknown Source)
  at javax.management.remote.rmi.RMIConnectionImpl.doOperation(Unknown
  Source)
  at javax.management.remote.rmi.RMIConnectionImpl.access$300(Unknown
  Source)
  at
 
 javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(Unknown
  Source)
  at
 
 javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(Unknown
  Source)
  at javax.management.remote.rmi.RMIConnectionImpl.invoke(Unknown
 Source)
  at sun.reflect.GeneratedMethodAccessor72.invoke(Unknown Source)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
  at java.lang.reflect.Method.invoke(Unknown Source)
  at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
  at sun.rmi.transport.Transport$1.run(Unknown Source)
  at sun.rmi.transport.Transport$1.run(Unknown Source)
  at java.security.AccessController.doPrivileged(Native Method)
  at sun.rmi.transport.Transport.serviceCall(Unknown Source)
  at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
  at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown
  Source)
  at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown
  Source)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
  at java.lang.Thread.run(Unknown Source)
 
 Locked ownable synchronizers:
  - locked 6cb0e9eb (a
 java.util.concurrent.ThreadPoolExecutor$Worker)
 
  RMI TCP Connection(3)-192.168.0.7 - Thread t@47
 java.lang.Thread.State: TIMED_WAITING
  at java.lang.Object.wait(Native Method)
  - waiting on 18e5eaed (a
  com.sun.jmx.remote.internal.ArrayNotificationBuffer)
  at
 
 com.sun.jmx.remote.internal.ArrayNotificationBuffer.fetchNotifications(Unknown
  Source)
  at
 
 com.sun.jmx.remote.internal.ArrayNotificationBuffer$ShareBuffer.fetchNotifications(Unknown
  Source)
  at
  com.sun.jmx.remote.internal.ServerNotifForwarder.fetchNotifs(Unknown
  Source)
  at 

Re: Stop Tomcat8 Service Gracefully on Windows

2014-07-01 Thread Igal @ getRailo.org

The offending thread was:  ehcache.data

Thank you for your help and insight,


Igal

On 7/1/2014 9:46 AM, Igal Sapir wrote:


I generated this with VisualVM.

I will try to generate in a different way, or to inspect the threads 
within the 60 seconds window as you suggested.


Thank you,

Igal

On Jul 1, 2014 9:42 AM, Mark Thomas ma...@apache.org 
mailto:ma...@apache.org wrote:


On 01/07/2014 17:13, Igal @ getRailo.org wrote:
 Hi Mark -- Thank you for replying.

 Here is a thread dump from about 30 seconds after I request to
stop the
 service.  Can you tell which thread is preventing the JVM from
exiting?

No, because the thread dump doesn't show whether a thread is a daemon
thread or not (which is odd - I thought the standard thread dump did
show that). My guess would be the timer threads. Use one of the many
tools that come with the JDK (or a profiler) to look at the
threads and
see which non-daemon threads are still running.

Mark

 Thanks again!


 2014-07-01 09:09:00
 Full thread dump Java HotSpot(TM) 64-Bit Server VM (24.51-b03
mixed mode):

 DestroyJavaVM - Thread t@78
java.lang.Thread.State: RUNNABLE

Locked ownable synchronizers:
 - None

 Thread-24 - Thread t@61
java.lang.Thread.State: RUNNABLE
 at
sun.net.dns.ResolverConfigurationImpl.notifyAddrChange0(Native
 Method)
 at

sun.net.dns.ResolverConfigurationImpl$AddressChangeListener.run(Unknown
 Source)

Locked ownable synchronizers:
 - None

 RMI TCP Connection(4)-192.168.0.7 - Thread t@48
java.lang.Thread.State: RUNNABLE
 at sun.management.ThreadImpl.dumpThreads0(Native Method)
 at sun.management.ThreadImpl.dumpAllThreads(Unknown Source)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
Source)
 at java.lang.reflect.Method.invoke(Unknown Source)
 at sun.reflect.misc.Trampoline.invoke(Unknown Source)
 at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
Source)
 at java.lang.reflect.Method.invoke(Unknown Source)
 at sun.reflect.misc.MethodUtil.invoke(Unknown Source)
 at

com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(Unknown
 Source)
 at

com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(Unknown
 Source)
 at
com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(Unknown Source)
 at
com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(Unknown Source)
 at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(Unknown
Source)
 at com.sun.jmx.mbeanserver.PerInterface.invoke(Unknown Source)
 at com.sun.jmx.mbeanserver.MBeanSupport.invoke(Unknown Source)
 at javax.management.StandardMBean.invoke(Unknown Source)
 at
 com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(Unknown
 Source)
 at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(Unknown Source)
 at
javax.management.remote.rmi.RMIConnectionImpl.doOperation(Unknown
 Source)
 at
javax.management.remote.rmi.RMIConnectionImpl.access$300(Unknown
 Source)
 at


javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(Unknown
 Source)
 at

javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(Unknown
 Source)
 at
javax.management.remote.rmi.RMIConnectionImpl.invoke(Unknown Source)
 at sun.reflect.GeneratedMethodAccessor72.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
Source)
 at java.lang.reflect.Method.invoke(Unknown Source)
 at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
 at sun.rmi.transport.Transport$1.run(Unknown Source)
 at sun.rmi.transport.Transport$1.run(Unknown Source)
 at java.security.AccessController.doPrivileged(Native Method)
 at sun.rmi.transport.Transport.serviceCall(Unknown Source)
 at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown
Source)
 at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown
 Source)
 at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown
 Source)
 at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown
Source)
 at
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
 at java.lang.Thread.run(Unknown Source)

Locked ownable synchronizers:
 - locked 6cb0e9eb (a
java.util.concurrent.ThreadPoolExecutor$Worker)

 RMI TCP 

Re: Stop Tomcat8 Service Gracefully on Windows

2014-06-30 Thread Igal @ getRailo.org

Does anyone know why Tomcat takes a full minute to stop?

Is there a paid support for Tomcat?



On 6/27/2014 8:29 PM, Igal @ getRailo.org wrote:
And again there is a full minute between Service stop thread 
completed. and Run service finished., which doesn't look like a 
coincidence.


[2014-06-27 20:24:14] [info]  [ 3156] Stopping service...
[2014-06-27 20:24:15] [info]  [ 3156] Service stop thread completed.
[2014-06-27 20:25:15] [info]  [ 2520] Run service finished.
[2014-06-27 20:25:15] [info]  [ 2520] Commons Daemon procrun finished
Can anyone shed some light on this?


Igal

On 6/27/2014 2:08 PM, Igal @ getRailo.org wrote:

I installed Tomcat 8.09 on Windows 2008R2

When trying to stop the service it takes a long time, and usually I 
get a prompt on the screen saying that there was an error.


Windows Event Log did not show anything about this, but 
commons-daemon log shows:


[2014-06-27 13:59:53] [info]  [ 5504] Commons Daemon procrun (1.0.15.0 64-bit) 
started
[2014-06-27 13:59:53] [info]  [ 5504] Running 'Tomcat8' Service...
[2014-06-27 13:59:53] [info]  [ 5176] Starting service...
[2014-06-27 13:59:54] [info]  [ 5176] Service started in 1185 ms.
*[2014-06-27 14:00:08] [info]  [ 3472] Stopping service...
[2014-06-27 14:00:09] [info]  [ 3472] Service stop thread completed.
[2014-06-27 14:01:09] [info]  [ 5504] Run service finished.
[2014-06-27 14:01:09] [info]  [ 5504] Commons Daemon procrun finished*
Why does it take a full minute from Service stop thread completed. 
where the stop command has yet to return, until Run service 
finished. when it actually does stop the service?


Is there any way to speed that up?

TIA


--
Igal Sapir
Railo Core Developer
http://getRailo.org/


--
Igal Sapir
Railo Core Developer
http://getRailo.org/


--
Igal Sapir
Railo Core Developer
http://getRailo.org/



Re: Stop Tomcat8 Service Gracefully on Windows

2014-06-30 Thread Mark Thomas
On 30/06/2014 22:40, Igal @ getRailo.org wrote:
 Does anyone know why Tomcat takes a full minute to stop?

Tomcat doesn't. It takes a few seconds to stop. Your application might
well take a full minute to stop. Try taking some thread dumps.

Mark


 
 Is there a paid support for Tomcat?
 
 
 
 On 6/27/2014 8:29 PM, Igal @ getRailo.org wrote:
 And again there is a full minute between Service stop thread
 completed. and Run service finished., which doesn't look like a
 coincidence.

 [2014-06-27 20:24:14] [info]  [ 3156] Stopping service...
 [2014-06-27 20:24:15] [info]  [ 3156] Service stop thread completed.
 [2014-06-27 20:25:15] [info]  [ 2520] Run service finished.
 [2014-06-27 20:25:15] [info]  [ 2520] Commons Daemon procrun finished
 Can anyone shed some light on this?


 Igal

 On 6/27/2014 2:08 PM, Igal @ getRailo.org wrote:
 I installed Tomcat 8.09 on Windows 2008R2

 When trying to stop the service it takes a long time, and usually I
 get a prompt on the screen saying that there was an error.

 Windows Event Log did not show anything about this, but
 commons-daemon log shows:

 [2014-06-27 13:59:53] [info]  [ 5504] Commons Daemon procrun
 (1.0.15.0 64-bit) started
 [2014-06-27 13:59:53] [info]  [ 5504] Running 'Tomcat8' Service...
 [2014-06-27 13:59:53] [info]  [ 5176] Starting service...
 [2014-06-27 13:59:54] [info]  [ 5176] Service started in 1185 ms.
 *[2014-06-27 14:00:08] [info]  [ 3472] Stopping service...
 [2014-06-27 14:00:09] [info]  [ 3472] Service stop thread completed.
 [2014-06-27 14:01:09] [info]  [ 5504] Run service finished.
 [2014-06-27 14:01:09] [info]  [ 5504] Commons Daemon procrun finished*
 Why does it take a full minute from Service stop thread completed.
 where the stop command has yet to return, until Run service
 finished. when it actually does stop the service?

 Is there any way to speed that up?

 TIA


 -- 
 Igal Sapir
 Railo Core Developer
 http://getRailo.org/

 -- 
 Igal Sapir
 Railo Core Developer
 http://getRailo.org/
 


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Stop Tomcat8 Service Gracefully on Windows

2014-06-27 Thread Igal @ getRailo.org

I installed Tomcat 8.09 on Windows 2008R2

When trying to stop the service it takes a long time, and usually I get 
a prompt on the screen saying that there was an error.


Windows Event Log did not show anything about this, but commons-daemon 
log shows:


[2014-06-27 13:59:53] [info]  [ 5504] Commons Daemon procrun (1.0.15.0 64-bit) 
started
[2014-06-27 13:59:53] [info]  [ 5504] Running 'Tomcat8' Service...
[2014-06-27 13:59:53] [info]  [ 5176] Starting service...
[2014-06-27 13:59:54] [info]  [ 5176] Service started in 1185 ms.
*[2014-06-27 14:00:08] [info]  [ 3472] Stopping service...
[2014-06-27 14:00:09] [info]  [ 3472] Service stop thread completed.
[2014-06-27 14:01:09] [info]  [ 5504] Run service finished.
[2014-06-27 14:01:09] [info]  [ 5504] Commons Daemon procrun finished*

Why does it take a full minute from Service stop thread completed. 
where the stop command has yet to return, until Run service finished. 
when it actually does stop the service?


Is there any way to speed that up?

TIA


--
Igal Sapir
Railo Core Developer
http://getRailo.org/



Re: Stop Tomcat8 Service Gracefully on Windows

2014-06-27 Thread Igal @ getRailo.org
And again there is a full minute between Service stop thread 
completed. and Run service finished., which doesn't look like a 
coincidence.


[2014-06-27 20:24:14] [info]  [ 3156] Stopping service...
[2014-06-27 20:24:15] [info]  [ 3156] Service stop thread completed.
[2014-06-27 20:25:15] [info]  [ 2520] Run service finished.
[2014-06-27 20:25:15] [info]  [ 2520] Commons Daemon procrun finished

Can anyone shed some light on this?


Igal

On 6/27/2014 2:08 PM, Igal @ getRailo.org wrote:

I installed Tomcat 8.09 on Windows 2008R2

When trying to stop the service it takes a long time, and usually I 
get a prompt on the screen saying that there was an error.


Windows Event Log did not show anything about this, but commons-daemon 
log shows:


[2014-06-27 13:59:53] [info]  [ 5504] Commons Daemon procrun (1.0.15.0 64-bit) 
started
[2014-06-27 13:59:53] [info]  [ 5504] Running 'Tomcat8' Service...
[2014-06-27 13:59:53] [info]  [ 5176] Starting service...
[2014-06-27 13:59:54] [info]  [ 5176] Service started in 1185 ms.
*[2014-06-27 14:00:08] [info]  [ 3472] Stopping service...
[2014-06-27 14:00:09] [info]  [ 3472] Service stop thread completed.
[2014-06-27 14:01:09] [info]  [ 5504] Run service finished.
[2014-06-27 14:01:09] [info]  [ 5504] Commons Daemon procrun finished*
Why does it take a full minute from Service stop thread completed. 
where the stop command has yet to return, until Run service 
finished. when it actually does stop the service?


Is there any way to speed that up?

TIA


--
Igal Sapir
Railo Core Developer
http://getRailo.org/


--
Igal Sapir
Railo Core Developer
http://getRailo.org/