[cas-user] Tomcat warning about many potential memory leaks on shutdown

188 views
Skip to first unread message

Sam Erie

unread,
Jun 4, 2018, 5:15:50 PM6/4/18
to cas-...@apereo.org
So I have configured the cas-server and cas-management webapps mostly inline with David Curry's amazing deployment guide at https://dacurry-tns.github.io/deploying-apereo-cas/introduction_overview.html

The webapps are working fine, but in the Tomcat logs I am getting some startup and shutdown errors pertaining to potential memory leaks. From what I have read online it sounds like Tomcat is handling these, but I would like to have everything set up correctly, as I was not getting the same messages when running with the embedded Tomcat. 

My theory is that it is how I have the Tomcat context set up. I am just placing the .war files in the webapps folder of the server machines Tomcat 8.5 installation. The one difference in this between David Curry's suggested deployment is that I needed to leave unpackWARS set to true. If I do not do this then the cas-server webapp will fail to deploy. The error is that it cannot make a LoggerContext due to null configuration file. I tried putting the cas config folder in the tomcat classpath, and a few other suggestions found online, to no prevail. 

      <Host name="localhost"  appBase="webapps"

            unpackWARs="true" autoDeploy="false">


When Tomcat unpacks the wars everything works, but I get the leaks, which seem to be centered around jdbc drivers unable to unregister, however the cas app has more threads, and may be related to me not having the context pointing at the correct configuration files. 


I have found some potential solutions to the jdbc drivers, but I am assuming I have something set up wrong with Tomcat, or I am not configuring my maven build correctly (I am making the app.server variable blank as documented to build just the webapp, and I have added dependencies).


I will share the mess of tomcat logs with the warnings below - I am sure this will not be enough info to solve my problem, unless it is something simple about unpacking the WARs (fingers crossed), but any suggestions or hints of what to look into would be greatly appreciated.


Error that happens sometimes on startup for both webapps:

2018-06-04 12:23:32,836 INFO [org.apereo.cas.configuration.config.CasCoreBootstrapStandaloneConfiguration] - <Configuration files found at [/etc/cas/config] are [[/etc/cas/config/application.yml, /etc/cas/config/cas.properties]]>

2018-06-04 12:23:32,862 INFO [org.apereo.cas.configuration.config.CasCoreBootstrapStandaloneConfiguration] - <Found and loaded [68] setting(s) from [/etc/cas/config]>

2018-06-04 12:23:32,863 INFO [org.springframework.cloud.bootstrap.config.PropertySourceBootstrapConfiguration] - <Located property source: PropertiesPropertySource {name='standaloneCasConfigService'}>

2018-06-04 12:23:46,502 WARN [com.zaxxer.hikari.pool.ProxyLeakTask] - <Connection leak detection triggered for oracle.jdbc.driver.T4CConnection@63d6efff on thread localhost-startStop-1, stack trace follows>

java.lang.Exception: Apparent connection leak detected

at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:125) ~[HikariCP-2.7.7.jar:?]

at com.zaxxer.hikari.HikariDataSource$$FastClassBySpringCGLIB$$eeb1ae86.invoke(<generated>) ~[HikariCP-2.7.7.jar:?]

at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) ~[spring-core-4.3.16.RELEASE.jar:4.3.16.RELEASE]

at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:738) ~[spring-aop-4.3.16.RELEASE.jar:4.3.16.RELEASE]

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) ~[spring-aop-4.3.16.RELEASE.jar:4.3.16.RELEASE]

at org.springframework.cloud.context.config.StandardBeanLifecycleDecorator$2.invoke(StandardBeanLifecycleDecorator.java:85) ~[spring-cloud-context-1.2.4.RELEASE.jar:1.2.4.RELEASE]

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-4.3.16.RELEASE.jar:4.3.16.RELEASE]

at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:673) ~[spring-aop-4.3.16.RELEASE.jar:4.3.16.RELEASE]

at com.zaxxer.hikari.HikariDataSource$$EnhancerBySpringCGLIB$$2b766a68.getConnection(<generated>) ~[HikariCP-2.7.7.jar:?]

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_91]

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_91]

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_91]

at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_91]

at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333) ~[spring-aop-4.3.16.RELEASE.jar:4.3.16.RELEASE]

at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190) ~[spring-aop-4.3.16.RELEASE.jar:4.3.16.RELEASE]

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) ~[spring-aop-4.3.16.RELEASE.jar:4.3.16.RELEASE]

at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133) ~[spring-aop-4.3.16.RELEASE.jar:4.3.16.RELEASE]

at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121) ~[spring-aop-4.3.16.RELEASE.jar:4.3.16.RELEASE]

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-4.3.16.RELEASE.jar:4.3.16.RELEASE]

at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213) ~[spring-aop-4.3.16.RELEASE.jar:4.3.16.RELEASE]

at com.sun.proxy.$Proxy265.getConnection(Unknown Source) ~[?:?]

at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122) ~[hibernate-core-5.2.13.Final.jar:5.2.13.Final]

at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:180) ~[hibernate-core-5.2.13.Final.jar:5.2.13.Final]

at org.hibernate.resource.transaction.backend.jdbc.internal.DdlTransactionIsolatorNonJtaImpl.getIsolatedConnection(DdlTransactionIsolatorNonJtaImpl.java:43) ~[hibernate-core-5.2.13.Final.jar:5.2.13.Final]

at org.hibernate.tool.schema.internal.exec.ImprovedExtractionContextImpl.getJdbcConnection(ImprovedExtractionContextImpl.java:60) ~[hibernate-core-5.2.13.Final.jar:5.2.13.Final]

at org.hibernate.tool.schema.extract.internal.SequenceInformationExtractorLegacyImpl.extractMetadata(SequenceInformationExtractorLegacyImpl.java:40) ~[hibernate-core-5.2.13.Final.jar:5.2.13.Final]

at org.hibernate.tool.schema.extract.internal.DatabaseInformationImpl.initializeSequences(DatabaseInformationImpl.java:65) ~[hibernate-core-5.2.13.Final.jar:5.2.13.Final]

at org.hibernate.tool.schema.extract.internal.DatabaseInformationImpl.<init>(DatabaseInformationImpl.java:59) ~[hibernate-core-5.2.13.Final.jar:5.2.13.Final]

at org.hibernate.tool.schema.internal.Helper.buildDatabaseInformation(Helper.java:132) ~[hibernate-core-5.2.13.Final.jar:5.2.13.Final]

at org.hibernate.tool.schema.internal.AbstractSchemaMigrator.doMigration(AbstractSchemaMigrator.java:96) ~[hibernate-core-5.2.13.Final.jar:5.2.13.Final]

at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction(SchemaManagementToolCoordinator.java:183) ~[hibernate-core-5.2.13.Final.jar:5.2.13.Final]

at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.process(SchemaManagementToolCoordinator.java:72) ~[hibernate-core-5.2.13.Final.jar:5.2.13.Final]

at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:312) ~[hibernate-core-5.2.13.Final.jar:5.2.13.Final]

at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:460) ~[hibernate-core-5.2.13.Final.jar:5.2.13.Final]

at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:892) ~[hibernate-core-5.2.13.Final.jar:5.2.13.Final]

at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:60) ~[spring-orm-4.3.16.RELEASE.jar:4.3.16.RELEASE]

at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:360) ~[spring-orm-4.3.16.RELEASE.jar:4.3.16.RELEASE]

at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:384) ~[spring-orm-4.3.16.RELEASE.jar:4.3.16.RELEASE]

at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:371) ~[spring-orm-4.3.16.RELEASE.jar:4.3.16.RELEASE]

at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:336) ~[spring-orm-4.3.16.RELEASE.jar:4.3.16.RELEASE]

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1688) ~[spring-beans-4.3.16.RELEASE.jar:4.3.16.RELEASE]

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1626) ~[spring-beans-4.3.16.RELEASE.jar:4.3.16.RELEASE]

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555) ~[spring-beans-4.3.16.RELEASE.jar:4.3.16.RELEASE]

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483) ~[spring-beans-4.3.16.RELEASE.jar:4.3.16.RELEASE]

at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:312) ~[spring-beans-4.3.16.RELEASE.jar:4.3.16.RELEASE]

at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.3.16.RELEASE.jar:4.3.16.RELEASE]

at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:308) ~[spring-beans-4.3.16.RELEASE.jar:4.3.16.RELEASE]

at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) ~[spring-beans-4.3.16.RELEASE.jar:4.3.16.RELEASE]

at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1080) ~[spring-context-4.3.16.RELEASE.jar:4.3.16.RELEASE]

at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:857) ~[spring-context-4.3.16.RELEASE.jar:4.3.16.RELEASE]

at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543) ~[spring-context-4.3.16.RELEASE.jar:4.3.16.RELEASE]

at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122) ~[spring-boot-1.5.12.RELEASE.jar:1.5.12.RELEASE]

at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693) ~[spring-boot-1.5.12.RELEASE.jar:1.5.12.RELEASE]

at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360) ~[spring-boot-1.5.12.RELEASE.jar:1.5.12.RELEASE]

at org.springframework.boot.SpringApplication.run(SpringApplication.java:303) ~[spring-boot-1.5.12.RELEASE.jar:1.5.12.RELEASE]

at org.springframework.boot.web.support.SpringBootServletInitializer.run(SpringBootServletInitializer.java:154) ~[spring-boot-1.5.12.RELEASE.jar:1.5.12.RELEASE]

at org.springframework.boot.web.support.SpringBootServletInitializer.createRootApplicationContext(SpringBootServletInitializer.java:134) ~[spring-boot-1.5.12.RELEASE.jar:1.5.12.RELEASE]

at org.springframework.boot.web.support.SpringBootServletInitializer.onStartup(SpringBootServletInitializer.java:87) ~[spring-boot-1.5.12.RELEASE.jar:1.5.12.RELEASE]

at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:169) ~[spring-web-4.3.16.RELEASE.jar:4.3.16.RELEASE]

at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5245) ~[catalina.jar:8.5.31]

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ~[catalina.jar:8.5.31]

at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:754) ~[catalina.jar:8.5.31]

at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:730) ~[catalina.jar:8.5.31]

at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734) ~[catalina.jar:8.5.31]

at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:985) ~[catalina.jar:8.5.31]

at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1857) ~[catalina.jar:8.5.31]

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_91]

at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_91]

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[?:1.8.0_91]

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ~[?:1.8.0_91]

at java.lang.Thread.run(Thread.java:745) [?:1.8.0_91]

2018-06-04 12:24:19,312 WARN [org.apereo.cas.config.CasCoreServicesConfiguration] - <Runtime memory is used as the persistence storage for retrieving and persisting service definitions. Changes that are made to service definitions during runtime WILL be LOST upon container restarts. Ideally for production, you need to choose a storage option (JDBC, etc) to store and track service definitions.>

04-Jun-2018 12:24:20.494 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive [/usr/local/etc/tomcat8/webapps/cas.war] has finished in [57,686] ms

04-Jun-2018 12:24:20.503 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]

04-Jun-2018 12:24:20.511 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["https-jsse-nio-8443"]

04-Jun-2018 12:24:20.515 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"]

04-Jun-2018 12:24:20.517 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 132755 ms

2018-06-04 12:24:32,959 INFO [org.apereo.cas.web.flow.InitialFlowSetupAction] - <Setting path for cookies for warn cookie generator to: [/cas/] >

2018-06-04 12:24:33,000 INFO [org.apereo.inspektr.audit.support.Slf4jLoggingAuditTrailManager] - <Audit trail record BEGIN

And shutdown errors:

04-Jun-2018 12:10:25.418 INFO [main] org.apache.catalina.core.StandardServer.await A valid shutdown command was received via the shutdown port. Stopping the Server instance.

04-Jun-2018 12:10:25.418 INFO [main] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["http-nio-8080"]

04-Jun-2018 12:10:25.470 INFO [main] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["https-jsse-nio-8443"]

04-Jun-2018 12:10:25.521 INFO [main] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["ajp-nio-8009"]

04-Jun-2018 12:10:25.572 INFO [main] org.apache.catalina.core.StandardService.stopInternal Stopping service [Catalina]

04-Jun-2018 12:10:25.639 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc The web application [cas-management] registered the JDBC driver [oracle.jdbc.OracleDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.

04-Jun-2018 12:10:25.640 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [cas-management] appears to have started a thread named [oracle.jdbc.driver.BlockSource.ThreadedCachingBlockSource.BlockReleaser] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:

 java.lang.Object.wait(Native Method)

 oracle.jdbc.driver.BlockSource$ThreadedCachingBlockSource$BlockReleaser.run(BlockSource.java:327)

04-Jun-2018 12:10:25.641 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [cas-management] appears to have started a thread named [Thread-11] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:

 sun.nio.fs.LinuxWatchService.poll(Native Method)

 sun.nio.fs.LinuxWatchService.access$600(LinuxWatchService.java:47)

 sun.nio.fs.LinuxWatchService$Poller.run(LinuxWatchService.java:314)

 java.lang.Thread.run(Thread.java:745)

04-Jun-2018 12:10:25.641 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [cas-management] appears to have started a thread named [CasSpringSecurityAuthorizationGenerator] 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:2039)

 java.util.concurrent.LinkedBlockingDeque.takeFirst(LinkedBlockingDeque.java:492)

 java.util.concurrent.LinkedBlockingDeque.take(LinkedBlockingDeque.java:680)

 sun.nio.fs.AbstractWatchService.take(AbstractWatchService.java:118)

 org.apereo.cas.util.io.PathWatcherService.run(PathWatcherService.java:100)

 java.lang.Thread.run(Thread.java:745)

04-Jun-2018 12:10:25.718 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc The web application [cas] registered the JDBC driver [oracle.jdbc.OracleDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.

04-Jun-2018 12:10:25.718 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [cas] appears to have started a thread named [oracle.jdbc.driver.BlockSource.ThreadedCachingBlockSource.BlockReleaser] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:

 java.lang.Object.wait(Native Method)

 oracle.jdbc.driver.BlockSource$ThreadedCachingBlockSource$BlockReleaser.run(BlockSource.java:327)

04-Jun-2018 12:10:25.719 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [cas] appears to have started a thread named [Thread-18] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:

 java.net.SocketInputStream.socketRead0(Native Method)

 java.net.SocketInputStream.socketRead(SocketInputStream.java:116)

 java.net.SocketInputStream.read(SocketInputStream.java:170)

 java.net.SocketInputStream.read(SocketInputStream.java:141)

 sun.security.ssl.InputRecord.readFully(InputRecord.java:465)

 sun.security.ssl.InputRecord.read(InputRecord.java:503)

 sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:973)

 sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:930)

 sun.security.ssl.AppInputStream.read(AppInputStream.java:105)

 java.io.BufferedInputStream.fill(BufferedInputStream.java:246)

 java.io.BufferedInputStream.read1(BufferedInputStream.java:286)

 java.io.BufferedInputStream.read(BufferedInputStream.java:345)

 com.sun.jndi.ldap.Connection.run(Connection.java:860)

 java.lang.Thread.run(Thread.java:745)

04-Jun-2018 12:10:25.719 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [cas] appears to have started a thread named [Thread-19] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:

 java.net.SocketInputStream.socketRead0(Native Method)

 java.net.SocketInputStream.socketRead(SocketInputStream.java:116)

 java.net.SocketInputStream.read(SocketInputStream.java:170)

 java.net.SocketInputStream.read(SocketInputStream.java:141)

 sun.security.ssl.InputRecord.readFully(InputRecord.java:465)

 sun.security.ssl.InputRecord.read(InputRecord.java:503)

 sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:973)

 sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:930)

 sun.security.ssl.AppInputStream.read(AppInputStream.java:105)

 java.io.BufferedInputStream.fill(BufferedInputStream.java:246)

 java.io.BufferedInputStream.read1(BufferedInputStream.java:286)

 java.io.BufferedInputStream.read(BufferedInputStream.java:345)

 com.sun.jndi.ldap.Connection.run(Connection.java:860)

 java.lang.Thread.run(Thread.java:745)

04-Jun-2018 12:10:25.721 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [cas] appears to have started a thread named [Thread-20] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:

 java.net.SocketInputStream.socketRead0(Native Method)

 java.net.SocketInputStream.socketRead(SocketInputStream.java:116)

 java.net.SocketInputStream.read(SocketInputStream.java:170)

 java.net.SocketInputStream.read(SocketInputStream.java:141)

 sun.security.ssl.InputRecord.readFully(InputRecord.java:465)

 sun.security.ssl.InputRecord.read(InputRecord.java:503)

 sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:973)

 sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:930)

 sun.security.ssl.AppInputStream.read(AppInputStream.java:105)

 java.io.BufferedInputStream.fill(BufferedInputStream.java:246)

 java.io.BufferedInputStream.read1(BufferedInputStream.java:286)

 java.io.BufferedInputStream.read(BufferedInputStream.java:345)

 com.sun.jndi.ldap.Connection.run(Connection.java:860)

 java.lang.Thread.run(Thread.java:745)

04-Jun-2018 12:10:25.721 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [cas] appears to have started a thread named [Thread-21] 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.parkNanos(LockSupport.java:215)

 java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)

 java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)

 java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)

 java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)

 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)

 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

 java.lang.Thread.run(Thread.java:745)

04-Jun-2018 12:10:25.722 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [cas] appears to have started a thread named [Thread-22] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:

 java.net.SocketInputStream.socketRead0(Native Method)

 java.net.SocketInputStream.socketRead(SocketInputStream.java:116)

 java.net.SocketInputStream.read(SocketInputStream.java:170)

 java.net.SocketInputStream.read(SocketInputStream.java:141)

 sun.security.ssl.InputRecord.readFully(InputRecord.java:465)

 sun.security.ssl.InputRecord.read(InputRecord.java:503)

 sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:973)

 sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:930)

 sun.security.ssl.AppInputStream.read(AppInputStream.java:105)

 java.io.BufferedInputStream.fill(BufferedInputStream.java:246)

 java.io.BufferedInputStream.read1(BufferedInputStream.java:286)

 java.io.BufferedInputStream.read(BufferedInputStream.java:345)

 com.sun.jndi.ldap.Connection.run(Connection.java:860)

 java.lang.Thread.run(Thread.java:745)

04-Jun-2018 12:10:25.726 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [cas] appears to have started a thread named [Thread-23] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:

 java.net.SocketInputStream.socketRead0(Native Method)

 java.net.SocketInputStream.socketRead(SocketInputStream.java:116)

 java.net.SocketInputStream.read(SocketInputStream.java:170)

 java.net.SocketInputStream.read(SocketInputStream.java:141)

 sun.security.ssl.InputRecord.readFully(InputRecord.java:465)

 sun.security.ssl.InputRecord.read(InputRecord.java:503)

 sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:973)

 sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:930)

 sun.security.ssl.AppInputStream.read(AppInputStream.java:105)

 java.io.BufferedInputStream.fill(BufferedInputStream.java:246)

 java.io.BufferedInputStream.read1(BufferedInputStream.java:286)

 java.io.BufferedInputStream.read(BufferedInputStream.java:345)

 com.sun.jndi.ldap.Connection.run(Connection.java:860)

 java.lang.Thread.run(Thread.java:745)

04-Jun-2018 12:10:25.726 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [cas] appears to have started a thread named [Thread-24] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:

 java.net.SocketInputStream.socketRead0(Native Method)

 java.net.SocketInputStream.socketRead(SocketInputStream.java:116)

 java.net.SocketInputStream.read(SocketInputStream.java:170)

 java.net.SocketInputStream.read(SocketInputStream.java:141)

 sun.security.ssl.InputRecord.readFully(InputRecord.java:465)

 sun.security.ssl.InputRecord.read(InputRecord.java:503)

 sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:973)

 sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:930)

 sun.security.ssl.AppInputStream.read(AppInputStream.java:105)

 java.io.BufferedInputStream.fill(BufferedInputStream.java:246)

 java.io.BufferedInputStream.read1(BufferedInputStream.java:286)

 java.io.BufferedInputStream.read(BufferedInputStream.java:345)

 com.sun.jndi.ldap.Connection.run(Connection.java:860)

 java.lang.Thread.run(Thread.java:745)

04-Jun-2018 12:10:25.727 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [cas] appears to have started a thread named [Thread-25] 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.parkNanos(LockSupport.java:215)

 java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)

 java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)

 java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)

 java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)

 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)

 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

 java.lang.Thread.run(Thread.java:745)

04-Jun-2018 12:10:25.727 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [cas] appears to have started a thread named [Thread-26] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:

 java.net.SocketInputStream.socketRead0(Native Method)

 java.net.SocketInputStream.socketRead(SocketInputStream.java:116)

 java.net.SocketInputStream.read(SocketInputStream.java:170)

 java.net.SocketInputStream.read(SocketInputStream.java:141)

 sun.security.ssl.InputRecord.readFully(InputRecord.java:465)

 sun.security.ssl.InputRecord.read(InputRecord.java:503)

 sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:973)

 sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:930)

 sun.security.ssl.AppInputStream.read(AppInputStream.java:105)

 java.io.BufferedInputStream.fill(BufferedInputStream.java:246)

 java.io.BufferedInputStream.read1(BufferedInputStream.java:286)

 java.io.BufferedInputStream.read(BufferedInputStream.java:345)

 com.sun.jndi.ldap.Connection.run(Connection.java:860)

 java.lang.Thread.run(Thread.java:745)

04-Jun-2018 12:10:25.728 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [cas] appears to have started a thread named [Thread-27] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:

 java.net.SocketInputStream.socketRead0(Native Method)

 java.net.SocketInputStream.socketRead(SocketInputStream.java:116)

 java.net.SocketInputStream.read(SocketInputStream.java:170)

 java.net.SocketInputStream.read(SocketInputStream.java:141)

 sun.security.ssl.InputRecord.readFully(InputRecord.java:465)

 sun.security.ssl.InputRecord.read(InputRecord.java:503)

 sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:973)

 sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:930)

 sun.security.ssl.AppInputStream.read(AppInputStream.java:105)

 java.io.BufferedInputStream.fill(BufferedInputStream.java:246)

 java.io.BufferedInputStream.read1(BufferedInputStream.java:286)

 java.io.BufferedInputStream.read(BufferedInputStream.java:345)

 com.sun.jndi.ldap.Connection.run(Connection.java:860)

 java.lang.Thread.run(Thread.java:745)

04-Jun-2018 12:10:25.728 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [cas] appears to have started a thread named [Thread-28] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:

 java.net.SocketInputStream.socketRead0(Native Method)

 java.net.SocketInputStream.socketRead(SocketInputStream.java:116)

 java.net.SocketInputStream.read(SocketInputStream.java:170)

 java.net.SocketInputStream.read(SocketInputStream.java:141)

 sun.security.ssl.InputRecord.readFully(InputRecord.java:465)

 sun.security.ssl.InputRecord.read(InputRecord.java:503)

 sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:973)

 sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:930)

 sun.security.ssl.AppInputStream.read(AppInputStream.java:105)

 java.io.BufferedInputStream.fill(BufferedInputStream.java:246)

 java.io.BufferedInputStream.read1(BufferedInputStream.java:286)

 java.io.BufferedInputStream.read(BufferedInputStream.java:345)

 com.sun.jndi.ldap.Connection.run(Connection.java:860)

 java.lang.Thread.run(Thread.java:745)

04-Jun-2018 12:10:25.729 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [cas] appears to have started a thread named [Thread-29] 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.parkNanos(LockSupport.java:215)

 java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)

 java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)

 java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)

 java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)

 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)

 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

 java.lang.Thread.run(Thread.java:745)

04-Jun-2018 12:10:25.729 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [cas] appears to have started a thread named [Thread-33] 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.parkNanos(LockSupport.java:215)

 java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)

 java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)

 java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)

 java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)

 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)

 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

 java.lang.Thread.run(Thread.java:745)

04-Jun-2018 12:10:25.730 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [cas] appears to have started a thread named [Thread-37] 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.parkNanos(LockSupport.java:215)

 java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)

 java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)

 java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)

 java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)

 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)

 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

 java.lang.Thread.run(Thread.java:745)

04-Jun-2018 12:10:25.730 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [cas] appears to have started a thread named [Thread-38] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:

 sun.nio.fs.LinuxWatchService.poll(Native Method)

 sun.nio.fs.LinuxWatchService.access$600(LinuxWatchService.java:47)

 sun.nio.fs.LinuxWatchService$Poller.run(LinuxWatchService.java:314)

 java.lang.Thread.run(Thread.java:745)

04-Jun-2018 12:10:25.731 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [cas] appears to have started a thread named [config] 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:2039)

 java.util.concurrent.LinkedBlockingDeque.takeFirst(LinkedBlockingDeque.java:492)

 java.util.concurrent.LinkedBlockingDeque.take(LinkedBlockingDeque.java:680)

 sun.nio.fs.AbstractWatchService.take(AbstractWatchService.java:118)

 org.apereo.cas.util.io.PathWatcherService.run(PathWatcherService.java:100)

 java.lang.Thread.run(Thread.java:745)

04-Jun-2018 12:10:25.731 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [cas] appears to have started a thread named [/usr/local/etc/tomcat8/logs/cas_audit.log] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:

 java.lang.Thread.sleep(Native Method)

 org.apache.commons.io.input.Tailer.run(Tailer.java:477)

 java.lang.Thread.run(Thread.java:745)

04-Jun-2018 12:10:25.732 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [cas] appears to have started a thread named [/usr/local/etc/tomcat8/logs/cas.log] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:

 java.lang.Thread.sleep(Native Method)

 org.apache.commons.io.input.Tailer.run(Tailer.java:477)

 java.lang.Thread.run(Thread.java:745)

04-Jun-2018 12:10:25.732 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [cas] appears to have started a thread named [/usr/local/etc/tomcat8/logs/perfStats.log] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:

 java.lang.Thread.sleep(Native Method)

 org.apache.commons.io.input.Tailer.run(Tailer.java:477)

 java.lang.Thread.run(Thread.java:745)

04-Jun-2018 12:10:25.746 INFO [main] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["http-nio-8080"]

04-Jun-2018 12:10:25.754 INFO [main] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["https-jsse-nio-8443"]

04-Jun-2018 12:10:25.755 INFO [main] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["ajp-nio-8009"]

04-Jun-2018 12:10:25.756 INFO [main] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler ["http-nio-8080"]

04-Jun-2018 12:10:25.756 INFO [main] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler ["https-jsse-nio-8443"]

04-Jun-2018 12:10:25.761 INFO [main] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler ["ajp-nio-8009"] 

--
- 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 cas-user+u...@apereo.org.
To view this discussion on the web visit https://groups.google.com/a/apereo.org/d/msgid/cas-user/CAMM6z%2B%2Bh_PtYgZ0YkVs3kwaOMMAbonjbnbDhGrT9EdGNYaRp4g%40mail.gmail.com.

Hugo

unread,
Jun 5, 2018, 2:00:50 AM6/5/18
to CAS Community

Sam Erie

unread,
Jun 5, 2018, 3:10:17 PM6/5/18
to cas-...@apereo.org
I believe I could use a tomcat shared jdbc lib as suggested in that thread to eliminate the jdbc shutdown problem, but in troubleshooting I removed jdbc dependencies and still get shutdown errors for the logging stuff. 

I have checked what processes are running and nothing java, tomcat, log, or cas named (nxlog is running but I think that is not by cas) stays running after shutdown. This indicates that tomcat is stopping the threads if I am understanding correctly.

Even if there are no leaks it seems like cas apps should be shutting these down, and because it's log related I have a hunch it is related to why I have to unpack the war for tomcat to find log configuration. Even if there is no leaks I would like to not set up this app that throws so many sinister sounding warnings on shutdown.

Thank you for your advice, I will continue to research. If there are any further ideas on this from anyone I would appreciate them too.

To unsubscribe from this group and stop receiving emails from it, send an email to cas-user+unsubscribe@apereo.org.

--
- 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 cas-user+u...@apereo.org.
To view this discussion on the web visit https://groups.google.com/a/apereo.org/d/msgid/cas-user/CAMM6z%2BLawWwEaRV6uKdxmiCKnLy2RApWcy4d5%2BR2%2BzFsNm71gA%40mail.gmail.com.
Reply all
Reply to author
Forward
0 new messages