Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Critical Critical
    • Resolution: Fixed
    • Affects Version/s: 4.0-beta1
    • Fix Version/s: 4.0-beta2
    • Labels:
      None
    • Environment:
      Windows 7

      Description

      Found one Java-level deadlock:
      =============================
      "I/O dispatcher 20":
      waiting to lock monitor 0x0fc87f4c (object 0x299028b8, a org.apache.http.impl.nio.client.DefaultAsyncRequestDirector),
      which is held by "I/O dispatcher 18"
      "I/O dispatcher 18":
      waiting to lock monitor 0x03fd6cfc (object 0x2b2d57b8, a org.apache.http.concurrent.BasicFuture),
      which is held by "I/O dispatcher 20"

      Java stack information for the threads listed above:
      ===================================================
      "I/O dispatcher 20":
      at org.apache.http.impl.nio.client.DefaultAsyncRequestDirector.connectionRequestCompleted(DefaultAsyncRequestDirector.java:508)

      • waiting to lock <0x299028b8> (a org.apache.http.impl.nio.client.DefaultAsyncRequestDirector)
        at org.apache.http.impl.nio.client.DefaultAsyncRequestDirector.access$000(DefaultAsyncRequestDirector.java:92)
        at org.apache.http.impl.nio.client.DefaultAsyncRequestDirector$InternalFutureCallback.completed(DefaultAsyncRequestDirector.java:552)
        at org.apache.http.impl.nio.client.DefaultAsyncRequestDirector$InternalFutureCallback.completed(DefaultAsyncRequestDirector.java:549)
        at org.apache.http.concurrent.BasicFuture.completed(BasicFuture.java:109)
      • locked <0x2b2d57b8> (a org.apache.http.concurrent.BasicFuture)
        at org.apache.http.impl.nio.conn.PoolingClientAsyncConnectionManager$InternalPoolEntryCallback.completed(PoolingClientAsyncConnectionManager.java:303)
        at org.apache.http.impl.nio.conn.PoolingClientAsyncConnectionManager$InternalPoolEntryCallback.completed(PoolingClientAsyncConnectionManager.java:285)
        at org.apache.http.concurrent.BasicFuture.completed(BasicFuture.java:109)
      • locked <0x2b2d57e0> (a org.apache.http.concurrent.BasicFuture)
        at org.apache.http.nio.pool.RouteSpecificPool.completed(RouteSpecificPool.java:154)
        at org.apache.http.nio.pool.AbstractNIOConnPool.requestCompleted(AbstractNIOConnPool.java:349)
        at org.apache.http.nio.pool.AbstractNIOConnPool$InternalSessionRequestCallback.completed(AbstractNIOConnPool.java:581)
        at org.apache.http.impl.nio.reactor.SessionRequestImpl.completed(SessionRequestImpl.java:130)
      • locked <0x2b2d5818> (a org.apache.http.impl.nio.reactor.SessionRequestImpl)
        at org.apache.http.impl.nio.reactor.AbstractIOReactor.processNewChannels(AbstractIOReactor.java:424)
        at org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:291)
        at org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:106)
        at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:601)
        at java.lang.Thread.run(Unknown Source)
        "I/O dispatcher 18":
        at org.apache.http.concurrent.BasicFuture.cancel(BasicFuture.java:129)
      • waiting to lock <0x2b2d57b8> (a org.apache.http.concurrent.BasicFuture)
        at org.apache.http.impl.nio.client.DefaultAsyncRequestDirector.releaseResources(DefaultAsyncRequestDirector.java:368)
        at org.apache.http.impl.nio.client.DefaultAsyncRequestDirector.failed(DefaultAsyncRequestDirector.java:393)
      • locked <0x299028b8> (a org.apache.http.impl.nio.client.DefaultAsyncRequestDirector)
        at org.apache.http.impl.nio.client.DefaultAsyncRequestDirector.responseCompleted(DefaultAsyncRequestDirector.java:467)
      • locked <0x299028b8> (a org.apache.http.impl.nio.client.DefaultAsyncRequestDirector)
        at org.apache.http.nio.protocol.HttpAsyncRequestExecutor.processResponse(HttpAsyncRequestExecutor.java:384)
        at org.apache.http.nio.protocol.HttpAsyncRequestExecutor.inputReady(HttpAsyncRequestExecutor.java:268)
        at org.apache.http.impl.nio.client.LoggingAsyncRequestExecutor.inputReady(LoggingAsyncRequestExecutor.java:99)
        at org.apache.http.impl.nio.DefaultNHttpClientConnection.consumeInput(DefaultNHttpClientConnection.java:192)
        at org.apache.http.impl.nio.DefaultHttpClientIODispatch.onInputReady(DefaultHttpClientIODispatch.java:125)
        at org.apache.http.impl.nio.DefaultHttpClientIODispatch.onInputReady(DefaultHttpClientIODispatch.java:49)
        at org.apache.http.impl.nio.reactor.AbstractIODispatch.inputReady(AbstractIODispatch.java:112)
        at org.apache.http.impl.nio.reactor.BaseIOReactor.readable(BaseIOReactor.java:160)
        at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:342)
        at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:320)
        at org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:280)
        at org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:106)
        at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:601)
        at java.lang.Thread.run(Unknown Source)

      Found 2 deadlocks.

        Activity

        zhaoqz created issue -
        Oleg Kalnichevski made changes -
        Field Original Value New Value
        Status Open [ 1 ] Resolved [ 5 ]
        Fix Version/s 4.0-beta2 [ 12320042 ]
        Resolution Fixed [ 1 ]

          People

          • Assignee:
            Unassigned
            Reporter:
            zhaoqz
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development