Cas 5.0.10 tomcats bin/shutdown.sh doesnt shut down tomcat when user is logged in.

143 views
Skip to first unread message

Man H

unread,
Nov 17, 2017, 4:06:45 PM11/17/17
to cas-...@apereo.org

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>

Reply all
Reply to author
Forward
0 new messages