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.