java.lang.IllegalStateException: close() was called on a Connection, but I have no record of the underlying PooledConnection.

Apache's JIRA Issue Tracker | Dave Oxley | 5 years ago
  1. 0

    Under high load commons-dbcp (or commons-pool) exhibits thread safety issues and begins throwing various exceptions. I don't yet know the cause of the issue but it looks like a connection maybe handed out to multiple threads concurrently. Here's a few examples of the exceptions we are getting: {noformat} jvm 1 | Caused by: java.sql.SQLException: Attempted to use PooledConnection after closed() was called. jvm 1 | at org.apache.commons.dbcp.cpdsadapter.PooledConnectionImpl.assertOpen(PooledConnectionImpl.java:163) jvm 1 | at org.apache.commons.dbcp.cpdsadapter.PooledConnectionImpl.getConnection(PooledConnectionImpl.java:174) jvm 1 | at org.apache.commons.dbcp.datasources.InstanceKeyDataSource.getConnection(InstanceKeyDataSource.java:768) jvm 1 | at org.apache.commons.dbcp.datasources.InstanceKeyDataSource.getConnection(InstanceKeyDataSource.java:676) jvm 1 | at uk.co.webessence.kernel.database.DriverAdapterConnectionPool.acquireConnection(DriverAdapterConnectionPool.java:101) jvm 1 | ... 94 more {noformat} {noformat} jvm 1 | Caused by: java.sql.SQLException: PooledConnection was reused, withoutits previous Connection being closed. jvm 1 | at org.apache.commons.dbcp.cpdsadapter.PooledConnectionImpl.getConnection(PooledConnectionImpl.java:179) jvm 1 | at org.apache.commons.dbcp.datasources.InstanceKeyDataSource.getConnection(InstanceKeyDataSource.java:768) jvm 1 | at org.apache.commons.dbcp.datasources.InstanceKeyDataSource.getConnection(InstanceKeyDataSource.java:676) jvm 1 | at uk.co.webessence.kernel.database.DriverAdapterConnectionPool.acquireConnection(DriverAdapterConnectionPool.java:101) jvm 1 | ... 77 more {noformat} {noformat} jvm 1 | Caused by: java.sql.SQLException: Invalid state, the ResultSet object is closed. jvm 1 | at net.sourceforge.jtds.jdbc.JtdsResultSet.checkOpen(JtdsResultSet.java:299) jvm 1 | at net.sourceforge.jtds.jdbc.JtdsResultSet.getColumn(JtdsResultSet.java:273) jvm 1 | at net.sourceforge.jtds.jdbc.JtdsResultSet.getObject(JtdsResultSet.java:840) jvm 1 | at org.apache.commons.dbcp.DelegatingResultSet.getObject(DelegatingResultSet.java:325) jvm 1 | at uk.co.webessence.kernel.persistence.Preloader.getDataArray(Preloader.java:428) jvm 1 | at uk.co.webessence.kernel.persistence.Preloader.processSingleRow(Preloader.java:175) jvm 1 | at uk.co.webessence.kernel.persistence.PersistenceHandler.processRecordReload(PersistenceHandler.java:471) jvm 1 | at uk.co.webessence.kernel.persistence.PersistenceHandler$1.doLoad(PersistenceHandler.java:447) jvm 1 | ... 71 more {noformat} {noformat} Message: TDS Protocol error: Invalid packet type 0x4 jvm 1 | Caused by: java.sql.SQLException: TDS Protocol error: Invalid packet type 0x4 jvm 1 | at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2314) jvm 1 | at net.sourceforge.jtds.jdbc.TdsCore.getNextRow(TdsCore.java:764) jvm 1 | at net.sourceforge.jtds.jdbc.JtdsResultSet.next(JtdsResultSet.java:593) jvm 1 | at org.apache.commons.dbcp.DelegatingResultSet.next(DelegatingResultSet.java:207) jvm 1 | at uk.co.webessence.kernel.persistence.Preloader.loadData(Preloader.java:142) jvm 1 | at uk.co.webessence.kernel.persistence.PersistenceHandler$3.doLoad(PersistenceHandler.java:592) jvm 1 | ... 111 more jvm 1 | Caused by: net.sourceforge.jtds.jdbc.ProtocolException: Invalid packet type 0x4 jvm 1 | at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2301) jvm 1 | ... 116 more {noformat}

    Apache's JIRA Issue Tracker | 5 years ago | Dave Oxley
    java.lang.IllegalStateException: close() was called on a Connection, but I have no record of the underlying PooledConnection.
  2. 0

    Under high load commons-dbcp (or commons-pool) exhibits thread safety issues and begins throwing various exceptions. I don't yet know the cause of the issue but it looks like a connection maybe handed out to multiple threads concurrently. Here's a few examples of the exceptions we are getting: {noformat} jvm 1 | Caused by: java.sql.SQLException: Attempted to use PooledConnection after closed() was called. jvm 1 | at org.apache.commons.dbcp.cpdsadapter.PooledConnectionImpl.assertOpen(PooledConnectionImpl.java:163) jvm 1 | at org.apache.commons.dbcp.cpdsadapter.PooledConnectionImpl.getConnection(PooledConnectionImpl.java:174) jvm 1 | at org.apache.commons.dbcp.datasources.InstanceKeyDataSource.getConnection(InstanceKeyDataSource.java:768) jvm 1 | at org.apache.commons.dbcp.datasources.InstanceKeyDataSource.getConnection(InstanceKeyDataSource.java:676) jvm 1 | at uk.co.webessence.kernel.database.DriverAdapterConnectionPool.acquireConnection(DriverAdapterConnectionPool.java:101) jvm 1 | ... 94 more {noformat} {noformat} jvm 1 | Caused by: java.sql.SQLException: PooledConnection was reused, withoutits previous Connection being closed. jvm 1 | at org.apache.commons.dbcp.cpdsadapter.PooledConnectionImpl.getConnection(PooledConnectionImpl.java:179) jvm 1 | at org.apache.commons.dbcp.datasources.InstanceKeyDataSource.getConnection(InstanceKeyDataSource.java:768) jvm 1 | at org.apache.commons.dbcp.datasources.InstanceKeyDataSource.getConnection(InstanceKeyDataSource.java:676) jvm 1 | at uk.co.webessence.kernel.database.DriverAdapterConnectionPool.acquireConnection(DriverAdapterConnectionPool.java:101) jvm 1 | ... 77 more {noformat} {noformat} jvm 1 | Caused by: java.sql.SQLException: Invalid state, the ResultSet object is closed. jvm 1 | at net.sourceforge.jtds.jdbc.JtdsResultSet.checkOpen(JtdsResultSet.java:299) jvm 1 | at net.sourceforge.jtds.jdbc.JtdsResultSet.getColumn(JtdsResultSet.java:273) jvm 1 | at net.sourceforge.jtds.jdbc.JtdsResultSet.getObject(JtdsResultSet.java:840) jvm 1 | at org.apache.commons.dbcp.DelegatingResultSet.getObject(DelegatingResultSet.java:325) jvm 1 | at uk.co.webessence.kernel.persistence.Preloader.getDataArray(Preloader.java:428) jvm 1 | at uk.co.webessence.kernel.persistence.Preloader.processSingleRow(Preloader.java:175) jvm 1 | at uk.co.webessence.kernel.persistence.PersistenceHandler.processRecordReload(PersistenceHandler.java:471) jvm 1 | at uk.co.webessence.kernel.persistence.PersistenceHandler$1.doLoad(PersistenceHandler.java:447) jvm 1 | ... 71 more {noformat} {noformat} Message: TDS Protocol error: Invalid packet type 0x4 jvm 1 | Caused by: java.sql.SQLException: TDS Protocol error: Invalid packet type 0x4 jvm 1 | at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2314) jvm 1 | at net.sourceforge.jtds.jdbc.TdsCore.getNextRow(TdsCore.java:764) jvm 1 | at net.sourceforge.jtds.jdbc.JtdsResultSet.next(JtdsResultSet.java:593) jvm 1 | at org.apache.commons.dbcp.DelegatingResultSet.next(DelegatingResultSet.java:207) jvm 1 | at uk.co.webessence.kernel.persistence.Preloader.loadData(Preloader.java:142) jvm 1 | at uk.co.webessence.kernel.persistence.PersistenceHandler$3.doLoad(PersistenceHandler.java:592) jvm 1 | ... 111 more jvm 1 | Caused by: net.sourceforge.jtds.jdbc.ProtocolException: Invalid packet type 0x4 jvm 1 | at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2301) jvm 1 | ... 116 more {noformat}

    Apache's JIRA Issue Tracker | 5 years ago | Dave Oxley
    java.lang.IllegalStateException: close() was called on a Connection, but I have no record of the underlying PooledConnection.
  3. 0

    WebSocket with Spring 4.0 with MessageBroker and WebServers

    Stack Overflow | 3 years ago | user1047711
    java.lang.IllegalStateException: The WebSocket session has been closed and no me thod (apart from close()) may be called on a closed session
  4. Speed up your debug routine!

    Automated exception search integrated into your IDE

  5. 0

    How to close javaee websocket connection properly - dahuatu.com

    dahuatu.com | 1 year ago
    java.lang.IllegalStateException: The WebSocket session has been closed and no method (apart from close()) may be called on a closed session
  6. 0

    [WICKET-5761] WebSocket session closed on tomcat 8 - ASF JIRA

    apache.org | 1 year ago
    java.lang.IllegalStateException: The WebSocket session [0] has been closed and no method (apart from close()) may be called on a closed session

    Not finding the right solution?
    Take a tour to get the most out of Samebug.

    Tired of useless tips?

    Automated exception search integrated into your IDE

    Root Cause Analysis

    1. java.lang.IllegalStateException

      close() was called on a Connection, but I have no record of the underlying PooledConnection.

      at org.apache.commons.dbcp.datasources.KeyedCPDSConnectionFactory.connectionClosed()
    2. Commons DBCP
      ConnectionImpl.close
      1. org.apache.commons.dbcp.datasources.KeyedCPDSConnectionFactory.connectionClosed(KeyedCPDSConnectionFactory.java:249)
      2. org.apache.commons.dbcp.cpdsadapter.PooledConnectionImpl.notifyListeners(PooledConnectionImpl.java:229)
      3. org.apache.commons.dbcp.cpdsadapter.ConnectionImpl.close(ConnectionImpl.java:78)
      3 frames
    3. com.daveoxley.dbcpbug
      App$TestThread.run
      1. com.daveoxley.dbcpbug.App$TestThread.run(App.java:96)
      1 frame
    4. Java RT
      Thread.run
      1. java.lang.Thread.run(Thread.java:662)
      1 frame