Re: How to shutdown tomcat

2020-04-20 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

Olaf and Blake,

On 4/17/20 11:51, Olaf Kock wrote:
>
> On 17.04.20 16:55, Blake McBride wrote:
>> I suppose, never mind.  I created a startup listener that just
>> does a System.exit(0) on contextDestroyed which is what I want -
>> exit.
>>
>> Thanks.
>>
>> Blake
>>
>>
>> On Fri, Apr 17, 2020 at 8:53 AM Blake McBride
>>  wrote:
>>
>>> Greetings,
>>>
>>> I am running vanilla tomcat 9.0.34 on a 64 bit Linux box.
>>> Short of killall, I can't stop tomcat.  I am trying
>>> bin/shutdown.sh.  Sure appreciate some help.
>
> The proper solution is in your log:
>
> "The web application [Kiss] appears to have started a thread named
> [Thread-5] but has failed to stop it."
>
> If that's not a daemon thread, the JVM, by design, can't stop.
>
> Instead of calling System.exit(), do the right thing and implement
> proper shutdown for all threads that the application starts on its
> own.

+1

> By the way: This behavior will keep the application from proper
> redeployment. My recommendation: Correct your implementation rather
> than nuking it from orbit.

+1

Calling System.exit() will cause your (Blake's) application to
take-down the JVM every time it stops. Maybe that's okay for the time
being, but being able to deploy an updated version of your application
without any downtime might be a desirable feature.

- -chris

>>> 17-Apr-2020 08:44:41.745 WARNING [main]
>>> org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThre
ads
>>> The web application [Kiss] appears to have started a thread
>>> named [Thread-5] but has failed to stop it. This is very likely
>>> to create a memory leak. Stack trace of thread:
>>> sun.misc.Unsafe.park(Native Method)
>>> java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
>>>
>>>
>>>
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.aw
ait(AbstractQueuedSynchronizer.java:2044)
>>>
>>> java.util.concurrent.LinkedBlockingDeque.takeFirst(LinkedBlockingDeq
ue.java:492)
>>>
>>>
org.kissweb.rest.QueueManager$Dispatcher.run(QueueManager.java:61)
>>> java.lang.Thread.run(Thread.java:748) 17-Apr-2020 08:44:41.745
>>> WARNING [main]
>>> org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThre
ads
>>> The web application [Kiss] appears to have started a thread
>>> named [pool-1-thread-1] but has failed to stop it. This is very
>>> likely to create a memory leak. Stack trace of thread:
>>> sun.misc.Unsafe.park(Native Method)
>>> java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
>>>
>>>
>>>
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.aw
ait(AbstractQueuedSynchronizer.java:2044)
>>>
>>> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.ja
va:442)
>>>
>>>
>>>
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:
1074)
>>>
>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor
.java:1134)
>>>
>>>
>>>
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.ja
va:624)
>>> java.lang.Thread.run(Thread.java:748) 17-Apr-2020 08:44:41.749
>>> INFO [main] org.apache.coyote.AbstractProtocol.stop Stopping
>>> ProtocolHandler ["http-nio-8080"] 17-Apr-2020 08:44:41.750 INFO
>>> [main] org.apache.coyote.AbstractProtocol.destroy Destroying
>>> ProtocolHandler ["http-nio-8080"]
>>> blake@i9-tower:~/intellijProjects/Kiss/tomcat/logs$
>>>
>
> -
>
>
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org
>
-BEGIN PGP SIGNATURE-
Comment: Using GnuPG with Thunderbird - https://www.enigmail.net/

iQIzBAEBCAAdFiEEMmKgYcQvxMe7tcJcHPApP6U8pFgFAl6dxxMACgkQHPApP6U8
pFjMwBAAl0Xh2yGJ5x+zpIXFUGhKY/laHdWq7mTXQiioPSpPwAuBKlScujtwWRBn
7eD/mdldJI/G+whyzmSSkxpo/oBpuxq9RL/SbtYrVk5u9XBgqB0ylQLUW/VnNo/0
D/jEKMrTtorn3hHEUeKqDPpmFdlbYOPTBkM/+Kl9DPZLGyLZCdhc9z7Bqcgrbf+V
dghRxMC1PW2gZRT0xMrLKGdESf8hoN31x91uBEWeEtpNZEKy5pE37OaEZRjZIEg8
WbDJDTNQ+AhcPIWUsEyCPPD05SMoq5nk7QUb91nZzvvoA/EQ3kUutfOyWKf+Oq8V
lSFOJyjcF9/d24/iMviZw1ILXuft/yvZObvkETCg0OnEmlCpBKAD3y+WCjbJi2fI
5Uff1T+w2zr2/Ml9f1WR3KLJKnA3rBK+SdmoDk/5ld2C++Dq31drCj4sVFcHQ4Pr
WU8sbAbSZW99r6qKTJEfALu/DYYzRtQBWVD+ZOwCv00VS50Elf//N2Jx/5Xnoomx
UwMpX83NbFT1AuTQfz99jSup8JSoKeYv78z9T0Fajn6Pjw3NLQpoyegI6l9NEKib
zWV+BOCVgIZKdneBTd/+cTc2fW4Cg+SrxtXUrnCDtOyMKTGHrzoSuMb0UhcRD/D1
zz6aVNHVn4xRFwPf/oX+c67ZDIQRuweMAqxsYMLqGEvDLsPzqh8=
=2Fvb
-END PGP SIGNATURE-

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



Re: How to shutdown tomcat

2020-04-17 Thread Olaf Kock


On 17.04.20 16:55, Blake McBride wrote:
> I suppose, never mind.  I created a startup listener that just does a
> System.exit(0) on contextDestroyed which is what I want - exit.
>
> Thanks.
>
> Blake
>
>
> On Fri, Apr 17, 2020 at 8:53 AM Blake McBride  wrote:
>
>> Greetings,
>>
>> I am running vanilla tomcat 9.0.34 on a 64 bit Linux box.  Short of
>> killall, I can't stop tomcat.  I am trying bin/shutdown.sh.  Sure
>> appreciate some help.

The proper solution is in your log:

"The web application [Kiss] appears to have started a thread named
[Thread-5] but has failed to stop it."

If that's not a daemon thread, the JVM, by design, can't stop.

Instead of calling System.exit(), do the right thing and implement
proper shutdown for all threads that the application starts on its own.
Or, if you don't care about interrupting them at inopportune time (as
you demonstrate with System.exit), simply set their daemon flag and
leave their buggy implementation in place.

By the way: This behavior will keep the application from proper
redeployment. My recommendation: Correct your implementation rather than
nuking it from orbit.

Olaf

>> 17-Apr-2020 08:44:41.745 WARNING [main]
>>  org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The
>> web application [Kiss] appears to have started a thread named [Thread-5]
>> but has failed to stop it. This is very likely to create a memory leak.
>> Stack trace of thread:
>>  sun.misc.Unsafe.park(Native Method)
>>  java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
>>
>>  
>> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2044)
>>
>>  
>> java.util.concurrent.LinkedBlockingDeque.takeFirst(LinkedBlockingDeque.java:492)
>>  org.kissweb.rest.QueueManager$Dispatcher.run(QueueManager.java:61)
>>  java.lang.Thread.run(Thread.java:748)
>> 17-Apr-2020 08:44:41.745 WARNING [main]
>> org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The
>> web application [Kiss] appears to have started a thread named
>> [pool-1-thread-1] but has failed to stop it. This is very likely to create
>> a memory leak. Stack trace of thread:
>>  sun.misc.Unsafe.park(Native Method)
>>  java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
>>
>>  
>> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2044)
>>
>>  java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
>>
>>  
>> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
>>
>>  
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
>>
>>  
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>>  java.lang.Thread.run(Thread.java:748)
>> 17-Apr-2020 08:44:41.749 INFO [main]
>> org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler
>> ["http-nio-8080"]
>> 17-Apr-2020 08:44:41.750 INFO [main]
>> org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler
>> ["http-nio-8080"]
>> blake@i9-tower:~/intellijProjects/Kiss/tomcat/logs$
>>

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



Re: How to shutdown tomcat

2020-04-17 Thread Blake McBride
I suppose, never mind.  I created a startup listener that just does a
System.exit(0) on contextDestroyed which is what I want - exit.

Thanks.

Blake


On Fri, Apr 17, 2020 at 8:53 AM Blake McBride  wrote:

> Greetings,
>
> I am running vanilla tomcat 9.0.34 on a 64 bit Linux box.  Short of
> killall, I can't stop tomcat.  I am trying bin/shutdown.sh.  Sure
> appreciate some help.
>
> Thanks!
>
> Blake
>
> --
>
> Here is catalina.log:
>
> Listening for transport dt_socket at address: 9000
> 17-Apr-2020 08:43:12.798 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log Server version name:
>   Apache Tomcat/9.0.34
> 17-Apr-2020 08:43:12.799 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log Server built:
>  Apr 3 2020 12:02:52 UTC
> 17-Apr-2020 08:43:12.799 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log Server version
> number: 9.0.34.0
> 17-Apr-2020 08:43:12.799 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log OS Name:
>   Linux
> 17-Apr-2020 08:43:12.799 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log OS Version:
>  5.3.0-46-generic
> 17-Apr-2020 08:43:12.799 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log Architecture:
>  amd64
> 17-Apr-2020 08:43:12.799 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log Java Home:
>   /usr/lib/jvm/zulu-8-amd64/jre
> 17-Apr-2020 08:43:12.799 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log JVM Version:
>   1.8.0_252-b14
> 17-Apr-2020 08:43:12.799 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor:
>  Azul Systems, Inc.
> 17-Apr-2020 08:43:12.799 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:
>   /home/blake/intellijProjects/Kiss/tomcat
> 17-Apr-2020 08:43:12.799 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:
>   /home/blake/intellijProjects/Kiss/tomcat
> 17-Apr-2020 08:43:12.800 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log Command line
> argument:
> -Djava.util.logging.config.file=/home/blake/intellijProjects/Kiss/tomcat/conf/logging.properties
> 17-Apr-2020 08:43:12.800 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log Command line
> argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
> 17-Apr-2020 08:43:12.800 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log Command line
> argument: -Djdk.tls.ephemeralDHKeySize=2048
> 17-Apr-2020 08:43:12.800 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log Command line
> argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
> 17-Apr-2020 08:43:12.800 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log Command line
> argument: -Dorg.apache.catalina.security.SecurityListener.UMASK=0027
> 17-Apr-2020 08:43:12.800 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log Command line
> argument: -agentlib:jdwp=transport=dt_socket,address=9000,server=y,suspend=n
> 17-Apr-2020 08:43:12.800 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log Command line
> argument: -Dignore.endorsed.dirs=
> 17-Apr-2020 08:43:12.800 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log Command line
> argument: -Dcatalina.base=/home/blake/intellijProjects/Kiss/tomcat
> 17-Apr-2020 08:43:12.800 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log Command line
> argument: -Dcatalina.home=/home/blake/intellijProjects/Kiss/tomcat
> 17-Apr-2020 08:43:12.800 INFO [main]
> org.apache.catalina.startup.VersionLoggerListener.log Command line
> argument: -Djava.io.tmpdir=/home/blake/intellijProjects/Kiss/tomcat/temp
> 17-Apr-2020 08:43:12.800 INFO [main]
> org.apache.catalina.core.AprLifecycleListener.lifecycleEvent The APR based
> Apache Tomcat Native library which allows optimal performance in production
> environments was not found on the java.library.path:
> [/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib]
> 17-Apr-2020 08:43:12.919 INFO [main]
> org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler
> ["http-nio-8080"]
> 17-Apr-2020 08:43:12.951 INFO [main]
> org.apache.catalina.startup.Catalina.load Server initialization in [240]
> milliseconds
> 17-Apr-2020 08:43:12.965 INFO [main]
> org.apache.catalina.core.StandardService.startInternal Starting service
> [Catalina]
> 17-Apr-2020 08:43:12.965 INFO [main]
> org.apache.catalina.core.StandardEngine.startInternal Starting Servlet
> engine: [Apache Tomcat/9.0.34]
> 17-Apr-2020 08:43:12.979 INFO [main]
> org.apache.catalina.startup.HostConfig.deployWAR Deploying web application
> archive [/home/blake/intellijProjects/Kiss/tomcat/webapps/Kiss.war]
> 17-Apr-2020 08:43:13.746 INFO [main]
> org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned
> for TLDs yet contained no TLDs. Enable debug logging for this logger for a
> complete list of 

How to shutdown tomcat

2020-04-17 Thread Blake McBride
Greetings,

I am running vanilla tomcat 9.0.34 on a 64 bit Linux box.  Short of
killall, I can't stop tomcat.  I am trying bin/shutdown.sh.  Sure
appreciate some help.

Thanks!

Blake

--

Here is catalina.log:

Listening for transport dt_socket at address: 9000
17-Apr-2020 08:43:12.798 INFO [main]
org.apache.catalina.startup.VersionLoggerListener.log Server version name:
  Apache Tomcat/9.0.34
17-Apr-2020 08:43:12.799 INFO [main]
org.apache.catalina.startup.VersionLoggerListener.log Server built:
 Apr 3 2020 12:02:52 UTC
17-Apr-2020 08:43:12.799 INFO [main]
org.apache.catalina.startup.VersionLoggerListener.log Server version
number: 9.0.34.0
17-Apr-2020 08:43:12.799 INFO [main]
org.apache.catalina.startup.VersionLoggerListener.log OS Name:
  Linux
17-Apr-2020 08:43:12.799 INFO [main]
org.apache.catalina.startup.VersionLoggerListener.log OS Version:
 5.3.0-46-generic
17-Apr-2020 08:43:12.799 INFO [main]
org.apache.catalina.startup.VersionLoggerListener.log Architecture:
 amd64
17-Apr-2020 08:43:12.799 INFO [main]
org.apache.catalina.startup.VersionLoggerListener.log Java Home:
  /usr/lib/jvm/zulu-8-amd64/jre
17-Apr-2020 08:43:12.799 INFO [main]
org.apache.catalina.startup.VersionLoggerListener.log JVM Version:
  1.8.0_252-b14
17-Apr-2020 08:43:12.799 INFO [main]
org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor:
 Azul Systems, Inc.
17-Apr-2020 08:43:12.799 INFO [main]
org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:
  /home/blake/intellijProjects/Kiss/tomcat
17-Apr-2020 08:43:12.799 INFO [main]
org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:
  /home/blake/intellijProjects/Kiss/tomcat
17-Apr-2020 08:43:12.800 INFO [main]
org.apache.catalina.startup.VersionLoggerListener.log Command line
argument:
-Djava.util.logging.config.file=/home/blake/intellijProjects/Kiss/tomcat/conf/logging.properties
17-Apr-2020 08:43:12.800 INFO [main]
org.apache.catalina.startup.VersionLoggerListener.log Command line
argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
17-Apr-2020 08:43:12.800 INFO [main]
org.apache.catalina.startup.VersionLoggerListener.log Command line
argument: -Djdk.tls.ephemeralDHKeySize=2048
17-Apr-2020 08:43:12.800 INFO [main]
org.apache.catalina.startup.VersionLoggerListener.log Command line
argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
17-Apr-2020 08:43:12.800 INFO [main]
org.apache.catalina.startup.VersionLoggerListener.log Command line
argument: -Dorg.apache.catalina.security.SecurityListener.UMASK=0027
17-Apr-2020 08:43:12.800 INFO [main]
org.apache.catalina.startup.VersionLoggerListener.log Command line
argument: -agentlib:jdwp=transport=dt_socket,address=9000,server=y,suspend=n
17-Apr-2020 08:43:12.800 INFO [main]
org.apache.catalina.startup.VersionLoggerListener.log Command line
argument: -Dignore.endorsed.dirs=
17-Apr-2020 08:43:12.800 INFO [main]
org.apache.catalina.startup.VersionLoggerListener.log Command line
argument: -Dcatalina.base=/home/blake/intellijProjects/Kiss/tomcat
17-Apr-2020 08:43:12.800 INFO [main]
org.apache.catalina.startup.VersionLoggerListener.log Command line
argument: -Dcatalina.home=/home/blake/intellijProjects/Kiss/tomcat
17-Apr-2020 08:43:12.800 INFO [main]
org.apache.catalina.startup.VersionLoggerListener.log Command line
argument: -Djava.io.tmpdir=/home/blake/intellijProjects/Kiss/tomcat/temp
17-Apr-2020 08:43:12.800 INFO [main]
org.apache.catalina.core.AprLifecycleListener.lifecycleEvent The APR based
Apache Tomcat Native library which allows optimal performance in production
environments was not found on the java.library.path:
[/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib]
17-Apr-2020 08:43:12.919 INFO [main]
org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler
["http-nio-8080"]
17-Apr-2020 08:43:12.951 INFO [main]
org.apache.catalina.startup.Catalina.load Server initialization in [240]
milliseconds
17-Apr-2020 08:43:12.965 INFO [main]
org.apache.catalina.core.StandardService.startInternal Starting service
[Catalina]
17-Apr-2020 08:43:12.965 INFO [main]
org.apache.catalina.core.StandardEngine.startInternal Starting Servlet
engine: [Apache Tomcat/9.0.34]
17-Apr-2020 08:43:12.979 INFO [main]
org.apache.catalina.startup.HostConfig.deployWAR Deploying web application
archive [/home/blake/intellijProjects/Kiss/tomcat/webapps/Kiss.war]
17-Apr-2020 08:43:13.746 INFO [main]
org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned
for TLDs yet contained no TLDs. Enable debug logging for this logger for a
complete list of JARs that were scanned but no TLDs were found in them.
Skipping unneeded JARs during scanning can improve startup time and JSP
compilation time.
17-Apr-2020 08:43:13.767 INFO [main]
org.apache.catalina.startup.HostConfig.deployWAR Deployment of web
application archive
[/home/blake/intellijProjects/Kiss/tomcat/webapps/Kiss.war] has finished in
[789] ms
17-Apr-2020 08:43:13.768 INFO [main]