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.

Reply via email to