Hi I noticed tomcat is no shutting down properly when a user is logged in.
I tried following tests: 1. startup tomcat 2. shutdown tomcat results: tomcat shutted down 3. startup tomcat 4. login user 5. shutdown tomcat results: tomcat does not shutdown I removed log4j reference from catalina.properties as suggested in https://apereo.github.io/cas/5.0.x/installation/Logging.html. Is there any workaround for this problem? This is te jstack for the tomcat which is remaining alive: 2017-11-07 21:01:21 Full thread dump OpenJDK 64-Bit Server VM (25.131-b11 mixed mode): "Attach Listener" #87 daemon prio=9 os_prio=0 tid=0x00007f39b8001000 nid=0x453a waiting on condition [0x0000000000000000] java.lang.Thread.State: RUNNABLE "DestroyJavaVM" #86 prio=5 os_prio=0 tid=0x00007f3a04168000 nid=0x4467 waiting on condition [0x0000000000000000] java.lang.Thread.State: RUNNABLE "pool-4-thread-1" #79 prio=5 os_prio=0 tid=0x00007f39500f4800 nid=0x44bf waiting on condition [0x00007f3925fe6000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000000fda6ceb0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ ConditionObject.await(AbstractQueuedSynchronizer.java:2039) at java.util.concurrent.LinkedBlockingQueue.take( LinkedBlockingQueue.java:442) at java.util.concurrent.ThreadPoolExecutor.getTask( ThreadPoolExecutor.java:1074) at java.util.concurrent.ThreadPoolExecutor.runWorker( ThreadPoolExecutor.java:1134) at java.util.concurrent.ThreadPoolExecutor$Worker.run( ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) "HikariPool-4 housekeeper" #77 daemon prio=5 os_prio=0 tid=0x00007f3950093800 nid=0x44bd waiting on condition [0x00007f39261e8000] java.lang.Thread.State: TIMED_WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000000de3c3f78> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.parkNanos( LockSupport.java:215) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078) at java.util.concurrent.ScheduledThreadPoolExecutor$ DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093) at java.util.concurrent.ScheduledThreadPoolExecutor$ DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809) at java.util.concurrent.ThreadPoolExecutor.getTask( ThreadPoolExecutor.java:1074) at java.util.concurrent.ThreadPoolExecutor.runWorker( ThreadPoolExecutor.java:1134) at java.util.concurrent.ThreadPoolExecutor$Worker.run( ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) "HikariPool-3 housekeeper" #75 daemon prio=5 os_prio=0 tid=0x00007f3950054800 nid=0x44bb waiting on condition [0x00007f39263ea000] java.lang.Thread.State: TIMED_WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000000ddbeec40> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.parkNanos( LockSupport.java:215) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078) at java.util.concurrent.ScheduledThreadPoolExecutor$ DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093) at java.util.concurrent.ScheduledThreadPoolExecutor$ DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809) at java.util.concurrent.ThreadPoolExecutor.getTask( ThreadPoolExecutor.java:1074) at java.util.concurrent.ThreadPoolExecutor.runWorker( ThreadPoolExecutor.java:1134) at java.util.concurrent.ThreadPoolExecutor$Worker.run( ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) "Abandoned connection cleanup thread" #34 daemon prio=5 os_prio=0 tid=0x00007f398e2ea000 nid=0x4490 in Object.wait() [0x00007f399cdfd000] java.lang.Thread.State: TIMED_WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143) - locked <0x000000008debae60> (a java.lang.ref.ReferenceQueue$Lock) at com.mysql.cj.jdbc.AbandonedConnectionCleanupThread.run( AbandonedConnectionCleanupThread.java:43) "GC Daemon" #13 daemon prio=2 os_prio=0 tid=0x00007f3a044a1000 nid=0x447b in Object.wait() [0x00007f39d54d9000] java.lang.Thread.State: TIMED_WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x000000008ba26410> (a sun.misc.GC$LatencyLock) at sun.misc.GC$Daemon.run(GC.java:117) - locked <0x000000008ba26410> (a sun.misc.GC$LatencyLock) "AsyncFileHandlerWriter-746292446" #12 daemon prio=5 os_prio=0 tid=0x00007f3a041da000 nid=0x447a waiting on condition [0x00007f39d6c3c000] java.lang.Thread.State: TIMED_WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x000000008be3ba78> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.parkNanos( LockSupport.java:215) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078) at java.util.concurrent.LinkedBlockingDeque.pollFirst( LinkedBlockingDeque.java:522) at java.util.concurrent.LinkedBlockingDeque.poll( LinkedBlockingDeque.java:684) at org.apache.juli.AsyncFileHandler$LoggerThread. run(AsyncFileHandler.java:160) "Service Thread" #9 daemon prio=9 os_prio=0 tid=0x00007f3a040cb800 nid=0x4478 runnable [0x0000000000000000] java.lang.Thread.State: RUNNABLE "C1 CompilerThread3" #8 daemon prio=9 os_prio=0 tid=0x00007f3a040be800 nid=0x4477 waiting on condition [0x0000000000000000] java.lang.Thread.State: RUNNABLE "C2 CompilerThread2" #7 daemon prio=9 os_prio=0 tid=0x00007f3a040ba000 nid=0x4476 waiting on condition [0x0000000000000000] java.lang.Thread.State: RUNNABLE "C2 CompilerThread1" #6 daemon prio=9 os_prio=0 tid=0x00007f3a040b8800 nid=0x4475 waiting on condition [0x0000000000000000] java.lang.Thread.State: RUNNABLE "C2 CompilerThread0" #5 daemon prio=9 os_prio=0 tid=0x00007f3a040b5800 nid=0x4474 waiting on condition [0x0000000000000000] java.lang.Thread.State: RUNNABLE "Signal Dispatcher" #4 daemon prio=9 os_prio=0 tid=0x00007f3a040b3800 nid=0x4473 runnable [0x0000000000000000] java.lang.Thread.State: RUNNABLE "Finalizer" #3 daemon prio=8 os_prio=0 tid=0x00007f3a0408c000 nid=0x4472 in Object.wait() [0x00007f39d79f8000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143) - locked <0x000000008bd65b40> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164) at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209) "Reference Handler" #2 daemon prio=10 os_prio=0 tid=0x00007f3a04087800 nid=0x4471 in Object.wait() [0x00007f39d7af9000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:502) at java.lang.ref.Reference.tryHandlePending(Reference.java:191) - locked <0x000000008bed9740> (a java.lang.ref.Reference$Lock) at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:153) "VM Thread" os_prio=0 tid=0x00007f3a04080000 nid=0x4470 runnable "GC task thread#0 (ParallelGC)" os_prio=0 tid=0x00007f3a0401f800 nid=0x4468 runnable "GC task thread#1 (ParallelGC)" os_prio=0 tid=0x00007f3a04021000 nid=0x4469 runnable "GC task thread#2 (ParallelGC)" os_prio=0 tid=0x00007f3a04023000 nid=0x446a runnable "GC task thread#3 (ParallelGC)" os_prio=0 tid=0x00007f3a04024800 nid=0x446b runnable "GC task thread#4 (ParallelGC)" os_prio=0 tid=0x00007f3a04026800 nid=0x446c runnable "GC task thread#5 (ParallelGC)" os_prio=0 tid=0x00007f3a04028000 nid=0x446d runnable "GC task thread#6 (ParallelGC)" os_prio=0 tid=0x00007f3a0402a000 nid=0x446e runnable "GC task thread#7 (ParallelGC)" os_prio=0 tid=0x00007f3a0402b800 nid=0x446f runnable "VM Periodic Task Thread" os_prio=0 tid=0x00007f3a040ce000 nid=0x4479 waiting on condition JNI global references: 575 This is tomcat start log: / / / ___| / \ / ___| \ \ | | | | / _ \ \___ \ | | | | | |___ / ___ \ ___) | | | | | \____|/_/ \_\|____/ | | \_\ /_/ CAS Version: 5.0.10 Apache Tomcat Version: Apache Tomcat/8.5.23 Build Date/Time: 2017-11-01T22:56:14Z System Temp Directory: /usr/local/tomcat/temp Java Home: /usr/lib/jvm/java-8-openjdk-amd64/jre Java Vendor: Oracle Corporation Java Version: 1.8.0_131 JCE Installed: yes OS Architecture: amd64 OS Name: Linux OS Version: 4.10.0-38-generic 2017-11-07 21:13:04,731 INFO [org.apereo.cas.web. CasWebApplicationServletInitializer] - <The following profiles are active: native> 2017-11-07 21:13:11,877 INFO [org.apereo.cas.configuration.support.Beans] - <Ticket registry encryption/signing is turned off. This MAY NOT be safe in a clustered production environment. Consider using other choices to handle encryption, signing and verification of ticket registry tickets, and verify the chosen ticket registry does support this behavior.> 2017-11-07 21:13:11,880 WARN [org.apereo.cas.config.CasCoreTicketsConfiguration] - <Runtime memory is used as the persistence storage for retrieving and managing tickets. Tickets that are issued during runtime will be LOST upon container restarts. This MAY impact SSO functionality.> Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary. 2017-11-07 21:13:12,818 WARN [com.zaxxer.hikari.HikariConfig] - <HikariPool-1 - idleTimeout is less than 10000ms, setting to default 600000ms.> 2017-11-07 21:13:12,819 WARN [com.zaxxer.hikari.HikariConfig] - <HikariPool-1 - leakDetectionThreshold is less than 2000ms or more than maxLifetime, disabling it.> 2017-11-07 21:13:12,826 WARN [com.zaxxer.hikari.util.DriverDataSource] - <Registered driver with driverClassName=com.mysql.jdbc.Driver was not found, trying direct instantiation.> 2017-11-07 21:13:14,598 WARN [com.zaxxer.hikari.HikariConfig] - <HikariPool-2 - idleTimeout is less than 10000ms, setting to default 600000ms.> 2017-11-07 21:13:14,598 WARN [com.zaxxer.hikari.HikariConfig] - <HikariPool-2 - leakDetectionThreshold is less than 2000ms or more than maxLifetime, disabling it.> 2017-11-07 21:13:14,598 WARN [com.zaxxer.hikari.util.DriverDataSource] - <Registered driver with driverClassName=com.mysql.jdbc.Driver was not found, trying direct instantiation.> 2017-11-07 21:13:15,510 INFO [org.apereo.cas.services.DefaultServicesManagerImpl] - <Loaded 0 services from JpaServiceRegistryDaoImpl.> 2017-11-07 21:13:21,285 INFO [org.apereo.cas.support.saml.OpenSamlConfigBean] - <Initializing OpenSaml configuration...> 2017-11-07 21:13:26,215 INFO [org.apereo.cas.services.ServiceRegistryInitializer] - <The service registry database will not be initialized from default JSON services. Since the service registry database is empty, CAS will refuse to authenticate services until service definitions are added to the database.> 07-Nov-2017 21:13:26.453 GRAVE [localhost-startStop-1] org.apache.catalina.core.AprLifecycleListener.init Se encuentra instalada una versión incompatible [1.2.6] de la biblioteca nativa APR de Apache Tomcat, mientras que Tomcat necesita la versión [1.2.14] 2017-11-07 21:13:31,211 INFO [org.apereo.cas.configuration.CasConfigurationRebinder] - <Reloaded CAS configuration cas-org.apereo.cas.configuration. CasConfigurationProperties> 2017-11-07 21:13:33,561 WARN [org.apereo.cas.pm.config. PasswordManagementConfiguration] - <No backend is configured to handle the account update operations. Verify your settings> -- - Website: https://apereo.github.io/cas - Gitter Chatroom: https://gitter.im/apereo/cas - List Guidelines: https://goo.gl/1VRrw7 - Contributions: https://goo.gl/mh7qDG --- You received this message because you are subscribed to the Google Groups "CAS Community" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/a/apereo.org/d/msgid/cas-user/CAMY5midY0hii61Gzk1PCaDMg4_XTxDqTGDECsfja%2BrAPGztMzQ%40mail.gmail.com.
