id summary reporter owner description type status priority milestone component version resolution keywords cc 1914 Exception from DbCleaner Nicklas Nordborg Nicklas Nordborg "The `DbCleaner` is a scheduled task that runs about once every day and performs database cleanup. Recently we have found that it always generate an long stack trace: {{{ 22:16:27,974 WARN NewPooledConnection:559 - [c3p0] A PooledConnection that has already signalled a Connection error is still in use! 22:16:27,974 WARN NewPooledConnection:560 - [c3p0] Another error has occurred [ org.postgresql.util.PSQLException: This connection has been closed. ] which will not be reported to listeners! org.postgresql.util.PSQLException: This connection has been closed. at org.postgresql.jdbc2.AbstractJdbc2Connection.checkClosed(AbstractJdbc2Connection.java:837) at org.postgresql.jdbc2.AbstractJdbc2Connection.clearWarnings(AbstractJdbc2Connection.java:715) at com.mchange.v2.c3p0.impl.NewProxyConnection.clearWarnings(NewProxyConnection.java:959) at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.handleAndClearWarnings(SqlExceptionHelper.java:297) at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.logAndClearWarnings(SqlExceptionHelper.java:269) at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.releaseConnection(LogicalConnectionImpl.java:252) at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.aggressiveRelease(LogicalConnectionImpl.java:214) at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.afterTransaction(JdbcCoordinatorImpl.java:301) at org.hibernate.engine.transaction.internal.TransactionCoordinatorImpl.afterTransaction(TransactionCoordinatorImpl.java:148) at org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.afterTransactionCompletion(JdbcTransaction.java:138) at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.rollback(AbstractTransactionImpl.java:216) at net.sf.basedb.core.HibernateUtil.rollback(HibernateUtil.java:1245) at net.sf.basedb.core.ChangeHistory.deleteStrayEntries(ChangeHistory.java:232) at net.sf.basedb.core.Application$DbCleaner.run(Application.java:1158) at net.sf.basedb.util.timer.ThreadTimerTask$1.run(ThreadTimerTask.java:89) at java.lang.Thread.run(Thread.java:745) Exception in thread ""Thread-126552"" net.sf.basedb.core.BaseException: rollback failed at net.sf.basedb.core.HibernateUtil.rollback(HibernateUtil.java:1249) at net.sf.basedb.core.ChangeHistory.deleteStrayEntries(ChangeHistory.java:232) at net.sf.basedb.core.Application$DbCleaner.run(Application.java:1158) at net.sf.basedb.util.timer.ThreadTimerTask$1.run(ThreadTimerTask.java:89) at java.lang.Thread.run(Thread.java:745) Caused by: org.hibernate.TransactionException: rollback failed at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.rollback(AbstractTransactionImpl.java:217) at net.sf.basedb.core.HibernateUtil.rollback(HibernateUtil.java:1245) ... 4 more Caused by: org.hibernate.TransactionException: unable to rollback against JDBC connection at org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.doRollback(JdbcTransaction.java:167) at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.rollback(AbstractTransactionImpl.java:211) ... 5 more Caused by: org.postgresql.util.PSQLException: This connection has been closed. at org.postgresql.jdbc2.AbstractJdbc2Connection.checkClosed(AbstractJdbc2Connection.java:837) at org.postgresql.jdbc2.AbstractJdbc2Connection.rollback(AbstractJdbc2Connection.java:854) at com.mchange.v2.c3p0.impl.NewProxyConnection.rollback(NewProxyConnection.java:1033) at org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.doRollback(JdbcTransaction.java:163) ... 6 more }}} Initial investigation finds that this error is happening inside a `catch` clause and is masking the original exception. The catch clause needs to be fixed so that it doesn't generate additional exceptions, then we need to fix whatever is to root cause of all this. " defect closed major BASE 3.4.1 core fixed