Ok, so should we stop pushing 9.0.93 until 9.0.94? Is there a temporary work-around, like put the 9.0.91 commons-daemon.jar or other jar in the CATALINA_BASE lib folder?
Thanks, From: Chuck Caldarale <n82...@gmail.com> Sent: Wednesday, August 28, 2024 3:36 PM To: Tomcat Users List <users@tomcat.apache.org> Subject: Re: Tomcat 9.0.93 and java.sql.SQLException: ResultSet closed. > On Aug 28, 2024, at 15: 16, Mcalexander, Jon J. <jonmcalexander@ wellsfargo. > com. INVALID> wrote: > > We upgraded a number of non-production servers > starting last night to Tomcat 9. 0. 93 from 9. 0. 91. We are now receiving > complaints > On Aug 28, 2024, at 15:16, Mcalexander, Jon J. > <jonmcalexan...@wellsfargo.com.INVALID<mailto:jonmcalexan...@wellsfargo.com.INVALID>> > wrote: > > We upgraded a number of non-production servers starting last night to Tomcat > 9.0.93 from 9.0.91. We are now receiving complaints from application teams > with issues around: java.sql.SQLException: ResultSet closed. This should be fixed in the next round of releases. https://urldefense.com/v3/__https://bz.apache.org/bugzilla/show_bug.cgi?id=69279__;!!F9svGWnIaVPGSwU!pzpi_V5tNrGx4kVdFx8EnL2_qGX2v9DB_Z37wp-ACBuIEO7nwHsMOWX-nnsgjZuxbZNZnWukYgc7mKetKmhyCw$<https://urldefense.com/v3/__https:/bz.apache.org/bugzilla/show_bug.cgi?id=69279__;!!F9svGWnIaVPGSwU!pzpi_V5tNrGx4kVdFx8EnL2_qGX2v9DB_Z37wp-ACBuIEO7nwHsMOWX-nnsgjZuxbZNZnWukYgc7mKetKmhyCw$> - Chuck > Here are some stack-traces. > > 1. > > 024-08-28 04:01:37,081 [gaRULES-ShutDownTask] [ STANDARD] [ > ] [ ] (l.access.RDBPageResultPackager) ERROR - > Problem getting database results > com.pega.pegarules.pub.database.ConnectionException: Database-General > Problem processing list results 0 ResultSet closed. > DatabaseException caused by prior exception: java.sql.SQLException: ResultSet > closed. > | SQL Code: 0 | SQL State: null > > > > at > com.pega.pegarules.data.internal.access.ExceptionInformation.createAppropriateExceptionDueToDBFailure(ExceptionInformation.java:379) > ~[prprivate-data.jar:?] > at > com.pega.pegarules.data.internal.access.ExceptionInformation.createExceptionDueToDBFailure(ExceptionInformation.java:364) > ~[prprivate-data.jar:?] > at > com.pega.pegarules.data.internal.access.RDBPageResultPackager.packageDataStoreResults(RDBPageResultPackager.java:439) > ~[prprivate-data.jar:?] > at > com.pega.pegarules.data.internal.access.RDBPageResultPackager.packageResults(RDBPageResultPackager.java:462) > ~[prprivate-data.jar:?] > at > com.pega.pegarules.data.internal.access.Lister.listWithResultPackager(Lister.java:426) > ~[prprivate-data.jar:?] > at > com.pega.pegarules.data.internal.access.Lister.list(Lister.java:196) > ~[prprivate-data.jar:?] > at > com.pega.pegarules.data.internal.access.DBQueryExecutor.executeRDB(DBQueryExecutor.java:126) > ~[prprivate-data.jar:?] > at > com.pega.pegarules.data.internal.access.DBQueryExecutor.executeRDB(DBQueryExecutor.java:73) > ~[prprivate-data.jar:?] > at > com.pega.pegarules.data.internal.access.DatabaseImpl.executeRDB(DatabaseImpl.java:3234) > ~[prprivate-data.jar:?] > at > com.pega.pegarules.data.internal.access.DatabaseImpl.executeRDB(DatabaseImpl.java:3214) > ~[prprivate-data.jar:?] > at > com.pega.pegarules.monitor.internal.context.RuleUsageImpl.deleteUsageDetails(RuleUsageImpl.java:464) > ~[prprivate-monitor.jar:?] > at > com.pega.pegarules.monitor.internal.context.RuleUsageImpl.updateSnapshot(RuleUsageImpl.java:278) > ~[prprivate-monitor.jar:?] > at > com.pega.pegarules.monitor.internal.context.RuleUsageImpl$1.run(RuleUsageImpl.java:382) > ~[prprivate-monitor.jar:?] > at > com.pega.pegarules.session.internal.PRSessionProviderImpl.performTargetActionWithLock(PRSessionProviderImpl.java:1381) > ~[prprivate-session.jar:?] > at > com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked(PRSessionProviderImpl.java:1124) > ~[prprivate-session.jar:?] > at > com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked(PRSessionProviderImpl.java:931) > ~[prprivate-session.jar:?] > at > com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked(PRSessionProviderImpl.java:897) > ~[prprivate-session.jar:?] > at > com.pega.pegarules.monitor.internal.context.RuleUsageImpl.updateSnapshot(RuleUsageImpl.java:380) > ~[prprivate-monitor.jar:?] > at > com.pega.pegarules.session.internal.engineinterface.shutdown.shutdowntasks.RuleUsageSnapshotTask.exec(RuleUsageSnapshotTask.java:41) > ~[prprivate-session.jar:?] > at > com.pega.pegarules.session.internal.engineinterface.shutdown.shutdowntasks.IParallelShutdownTask.run(IParallelShutdownTask.java:43) > ~[prprivate-session.jar:?] > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?] > at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) > ~[?:?] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) > ~[?:?] > at java.lang.Thread.run(Thread.java:834) ~[?:?] > Caused by: java.sql.SQLException: ResultSet closed. > at > org.apache.tomcat.jdbc.pool.StatementFacade$ResultSetProxy.invoke(StatementFacade.java:210) > ~[tomcat-jdbc.jar:?] > at com.sun.proxy.$Proxy6.getType(Unknown Source) ~[?:?] > at > com.pega.pegarules.data.internal.store.rdbms.DatabaseResultSet$DatabaseResultSetBuilder.build(DatabaseResultSet.java:636) > ~[prprivate-data.jar:?] > at > com.pega.pegarules.data.internal.store.DatabasePreparedStatementImpl.getResultSet(DatabasePreparedStatementImpl.java:1053) > ~[prprivate-data.jar:?] > at > com.pega.pegarules.data.internal.store.DatabasePreparedStatementImpl.getResultSet(DatabasePreparedStatementImpl.java:221) > ~[prprivate-data.jar:?] > at > com.pega.pegarules.data.internal.access.RDBPageResultPackager.packageDataStoreResults(RDBPageResultPackager.java:317) > ~[prprivate-data.jar:?] > ... 22 more > 2024-08-28 04:01:37,082 [gaRULES-ShutDownTask] [ STANDARD] [ > ] [ ] ( internal.access.Lister) ERROR - There > was a problem with the database when getting a list: > com.pega.pegarules.pub.database.ConnectionException: Database-General > Problem processing list results 0 ResultSet closed. > DatabaseException caused by prior exception: java.sql.SQLException: ResultSet > closed. > | SQL Code: 0 | SQL State: null > > > > at > com.pega.pegarules.data.internal.access.ExceptionInformation.createAppropriateExceptionDueToDBFailure(ExceptionInformation.java:379) > ~[prprivate-data.jar:?] > at > com.pega.pegarules.data.internal.access.ExceptionInformation.createExceptionDueToDBFailure(ExceptionInformation.java:364) > ~[prprivate-data.jar:?] > at > com.pega.pegarules.data.internal.access.RDBPageResultPackager.packageDataStoreResults(RDBPageResultPackager.java:439) > ~[prprivate-data.jar:?] > at > com.pega.pegarules.data.internal.access.RDBPageResultPackager.packageResults(RDBPageResultPackager.java:462) > ~[prprivate-data.jar:?] > at > com.pega.pegarules.data.internal.access.Lister.listWithResultPackager(Lister.java:426) > ~[prprivate-data.jar:?] > at > com.pega.pegarules.data.internal.access.Lister.list(Lister.java:196) > ~[prprivate-data.jar:?] > at > com.pega.pegarules.data.internal.access.DBQueryExecutor.executeRDB(DBQueryExecutor.java:126) > ~[prprivate-data.jar:?] > at > com.pega.pegarules.data.internal.access.DBQueryExecutor.executeRDB(DBQueryExecutor.java:73) > ~[prprivate-data.jar:?] > at > com.pega.pegarules.data.internal.access.DatabaseImpl.executeRDB(DatabaseImpl.java:3234) > ~[prprivate-data.jar:?] > at > com.pega.pegarules.data.internal.access.DatabaseImpl.executeRDB(DatabaseImpl.java:3214) > ~[prprivate-data.jar:?] > at > com.pega.pegarules.monitor.internal.context.RuleUsageImpl.deleteUsageDetails(RuleUsageImpl.java:464) > ~[prprivate-monitor.jar:?] > at > com.pega.pegarules.monitor.internal.context.RuleUsageImpl.updateSnapshot(RuleUsageImpl.java:278) > ~[prprivate-monitor.jar:?] > at > com.pega.pegarules.monitor.internal.context.RuleUsageImpl$1.run(RuleUsageImpl.java:382) > ~[prprivate-monitor.jar:?] > at > com.pega.pegarules.session.internal.PRSessionProviderImpl.performTargetActionWithLock(PRSessionProviderImpl.java:1381) > ~[prprivate-session.jar:?] > at > com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked(PRSessionProviderImpl.java:1124) > ~[prprivate-session.jar:?] > at > com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked(PRSessionProviderImpl.java:931) > ~[prprivate-session.jar:?] > at > com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked(PRSessionProviderImpl.java:897) > ~[prprivate-session.jar:?] > at > com.pega.pegarules.monitor.internal.context.RuleUsageImpl.updateSnapshot(RuleUsageImpl.java:380) > ~[prprivate-monitor.jar:?] > at > com.pega.pegarules.session.internal.engineinterface.shutdown.shutdowntasks.RuleUsageSnapshotTask.exec(RuleUsageSnapshotTask.java:41) > ~[prprivate-session.jar:?] > at > com.pega.pegarules.session.internal.engineinterface.shutdown.shutdowntasks.IParallelShutdownTask.run(IParallelShutdownTask.java:43) > ~[prprivate-session.jar:?] > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?] > at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) > ~[?:?] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) > ~[?:?] > at java.lang.Thread.run(Thread.java:834) ~[?:?] > Caused by: java.sql.SQLException: ResultSet closed. > > 2. > AK > AMIT KUMAR > Work notes* > 2024-08-28 05:51:36 > Error logs: > Caused by: com.pega.pegarules.pub.database.ConnectionException: > Database-General Problem processing list results 0 ResultSet closed. > DatabaseException caused by prior exception: java.sql.SQLException: ResultSet > closed. > | SQL Code: 0 | SQL State: null > > at > com.pega.pegarules.data.internal.access.ExceptionInformation.createAppropriateExceptionDueToDBFailure(ExceptionInformation.java:379) > ~[prprivate-data.jar:?] > at > com.pega.pegarules.data.internal.access.ExceptionInformation.createExceptionDueToDBFailure(ExceptionInformation.java:364) > ~[prprivate-data.jar:?] > at > com.pega.pegarules.data.internal.access.NativeSQLResultSetPackagerImpl.packageResults(NativeSQLResultSetPackagerImpl.java:157) > ~[prprivate-data.jar:?] > at > com.pega.pegarules.data.internal.access.Lister.listWithResultPackager(Lister.java:413) > ~[prprivate-data.jar:?] > at com.pega.pegarules.data.internal.access.Lister.list(Lister. > > and then > RG > Rajesh Gandham > Work notes* > 2024-08-28 15:14:46 > Below is the error message from the logs > > 28-Aug-2024 05:13:08.479 WARNING [Thread-34] > org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The > web application [prweb] appears to have started a thread named > [ServiceRegistryBasedDiscovery] 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.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:750) > 28-Aug-2024 05:13:08.503 WARNING [Thread-34] > org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The > web application [dropbox] appears to have started a thread named [Timer-0] > 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) > java.lang.Object.wait(Object.java:502) > java.util.TimerThread.mainLoop(Timer.java:526) > java.util.TimerThread.run(Timer.java:505) > 28-Aug-2024 05:13:08.504 WARNING [Thread-34] > org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The > web application [dropbox] 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:331) > 28-Aug-2024 05:13:08.504 WARNING [Thread-34] > org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The > web application [dropbox] appears to have started a thread named > [InterruptTimer] 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) > java.util.TimerThread.mainLoop(Timer.java:552) > java.util.TimerThread.run(Timer.java:505) > > Any insight to the cause would be appreciated. > > Thank you kindly. > > Dream * Excel * Explore * Inspire > Jon McAlexander > Senior Infrastructure Engineer > Asst. Vice President > He/His > > Middleware Product Engineering > Enterprise CIO | EAS | Middleware | Infrastructure Solutions > > 8080 Cobblestone Rd | Urbandale, IA 50322 > MAC: F4469-010 > Tel 515-988-2508 | Cell 515-988-2508 > > jonmcalexan...@wellsfargo.com<mailto:jonmcalexan...@wellsfargo.com<mailto:jonmcalexan...@wellsfargo.com%3cmailto:jonmcalexan...@wellsfargo.com>> > This message may contain confidential and/or privileged information. If you > are not the addressee or authorized to receive this for the addressee, you > must not use, copy, disclose, or take any action based on this message or any > information herein. If you have received this message in error, please advise > the sender immediately by reply e-mail and delete this message. Thank you for > your cooperation. >