Uploaded image for project: 'Commons DBCP'
  1. Commons DBCP
  2. DBCP-270

Dead lock using the evictor

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • 1.2.2
    • 1.3
    • None

    Description

      Patch attached, dead lock reported. the abandonedtrace does synchronized(this) when it really only needs to do synchronized(this.trace)

      Dead lock reported when using the evictor

      =============================
      "Timer-3":
      waiting to lock monitor 0x0000000053b40548 (object 0x00002aaabf3210f0, a
      org.apache.tomcat.dbcp.dbcp.PoolableConnection),
      which is held by "TP-Processor27"
      "TP-Processor27":
      waiting to lock monitor 0x0000000053b404d0 (object 0x00002aaab9fa8b08, a
      org.apache.tomcat.dbcp.pool.impl.GenericObjectPool),
      which is held by "Timer-3"

      Java stack information for the threads listed above:
      ===================================================
      "Timer-3":
      at
      org.apache.tomcat.dbcp.dbcp.AbandonedTrace.addTrace(AbandonedTrace.java:175)

      • waiting to lock <0x00002aaabf3210f0> (a
        org.apache.tomcat.dbcp.dbcp.PoolableConnection)
        at
        org.apache.tomcat.dbcp.dbcp.AbandonedTrace.init(AbandonedTrace.java:92)
        at
        org.apache.tomcat.dbcp.dbcp.AbandonedTrace.<init>(AbandonedTrace.java:82)
        at
        org.apache.tomcat.dbcp.dbcp.DelegatingStatement.<init>(DelegatingStatement.java:61)
        at
        org.apache.tomcat.dbcp.dbcp.DelegatingConnection.createStatement(DelegatingConnection.java:224)
        at
        org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory.validateConnection(PoolableConnectionFactory.java:331)
        at
        org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory.validateObject(PoolableConnectionFactory.java:312)
        at
        org.apache.tomcat.dbcp.pool.impl.GenericObjectPool.evict(GenericObjectPool.java:1217)
      • locked <0x00002aaab9fa8b08> (a
        org.apache.tomcat.dbcp.pool.impl.GenericObjectPool)
        at
        org.apache.tomcat.dbcp.pool.impl.GenericObjectPool$Evictor.run(GenericObjectPool.java:1341)
        at java.util.TimerThread.mainLoop(Timer.java:512)
        at java.util.TimerThread.run(Timer.java:462)
        "TP-Processor27":
        at
        org.apache.tomcat.dbcp.pool.impl.GenericObjectPool.addObjectToPool(GenericObjectPool.java:1136)
      • waiting to lock <0x00002aaab9fa8b08> (a
        org.apache.tomcat.dbcp.pool.impl.GenericObjectPool)
        at
        org.apache.tomcat.dbcp.pool.impl.GenericObjectPool.returnObject(GenericObjectPool.java:1076)
        at
        org.apache.tomcat.dbcp.dbcp.PoolableConnection.close(PoolableConnection.java:87)
      • locked <0x00002aaabf3210f0> (a
        org.apache.tomcat.dbcp.dbcp.PoolableConnection)
        ....

      Attachments

        Activity

          People

            Unassigned Unassigned
            fhanik Filip Hanik
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: