Re: How to shutdown tomcat
-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
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
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
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]