Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8177935

java/net/httpclient/http2/FixedThreadPoolTest.java fails frequently

    XMLWordPrintable

Details

    • b21

    Description

       java/net/httpclient/http2/BasicTest.java and java/net/httpclient/http2/FixedThreadPoolTest.java were observed to be failing frequently (50+%) on Linux x86 environment. I tried on Linux x64 and other platforms. They passed 100% in tens of retries.

      Please refer to the test output:
      ----------System.out:(56/4012)----------
      [TestNG] Running:
        java/net/httpclient/http2/BasicTest.java

      ServerSettings: SETTINGS: length=30, streamid=0, flags=0 Settings: HEADER_TABLE_SIZE=4096 ENABLE_PUSH=1 MAX_CONCURRENT_STREAMS=35 INITIAL_WINDOW_SIZE=65535 MAX_FRAME_SIZE=16384
      ClientSettings: SETTINGS: length=30, streamid=0, flags=0 Settings: HEADER_TABLE_SIZE=16384 ENABLE_PUSH=1 MAX_CONCURRENT_STREAMS=16 INITIAL_WINDOW_SIZE=65535 MAX_FRAME_SIZE=16384
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      test BasicTest.test(): failure
      java.util.concurrent.CompletionException: java.lang.RuntimeException: Shouldn't happen
      at java.base/java.util.concurrent.CompletableFuture.encodeRelay(CompletableFuture.java:367)
      at java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1108)
      at java.base/java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2235)
      at jdk.incubator.httpclient/jdk.incubator.http.MultiExchange.responseAsyncImpl(MultiExchange.java:331)
      at jdk.incubator.httpclient/jdk.incubator.http.MultiExchange.lambda$responseAsync0$1(MultiExchange.java:250)
      at java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1072)
      at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
      at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1705)
      at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1161)
      at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
      at java.base/java.lang.Thread.run(Thread.java:844)
      Caused by: java.lang.RuntimeException: Shouldn't happen
      at jdk.incubator.httpclient/jdk.incubator.http.internal.common.AsyncWriteQueue.flushLoop(AsyncWriteQueue.java:168)
      at jdk.incubator.httpclient/jdk.incubator.http.internal.common.AsyncWriteQueue.flush(AsyncWriteQueue.java:92)
      at jdk.incubator.httpclient/jdk.incubator.http.PlainHttpConnection.flushAsync(PlainHttpConnection.java:211)
      at jdk.incubator.httpclient/jdk.incubator.http.Http2Connection.sendDataFrame(Http2Connection.java:806)
      at jdk.incubator.httpclient/jdk.incubator.http.Stream$RequestSubscriber.onNext(Stream.java:615)
      at jdk.incubator.httpclient/jdk.incubator.http.Stream$RequestSubscriber.onNext(Stream.java:576)
      at jdk.incubator.httpclient/jdk.incubator.http.PullPublisher$Subscription.request(PullPublisher.java:78)
      at jdk.incubator.httpclient/jdk.incubator.http.Stream$RequestSubscriber.onSubscribe(Stream.java:594)
      at jdk.incubator.httpclient/jdk.incubator.http.PullPublisher.subscribe(PullPublisher.java:45)
      at jdk.incubator.httpclient/jdk.incubator.http.RequestProcessors$InputStreamProcessor.subscribe(RequestProcessors.java:328)
      at jdk.incubator.httpclient/jdk.incubator.http.Stream.sendBodyImpl(Stream.java:759)
      at jdk.incubator.httpclient/jdk.incubator.http.Stream.sendBodyAsync(Stream.java:252)
      at java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1106)
      at java.base/java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2235)
      at jdk.incubator.httpclient/jdk.incubator.http.Exchange.responseAsyncImpl0(Exchange.java:296)
      at jdk.incubator.httpclient/jdk.incubator.http.Exchange.responseAsyncImpl(Exchange.java:254)
      at jdk.incubator.httpclient/jdk.incubator.http.Exchange.responseAsync(Exchange.java:239)
      at jdk.incubator.httpclient/jdk.incubator.http.MultiExchange.responseAsyncImpl(MultiExchange.java:295)
      ... 7 more

      ===============================================
      java/net/httpclient/http2/BasicTest.java
      Total tests run: 1, Failures: 1, Skips: 0
      ===============================================

      ----------System.err:(296/18152)----------
      WARNING: Using incubator modules: jdk.incubator.httpclient
      Request to http://127.0.0.1:17365/foo/
      TestServer: New connection from Socket[addr=/127.0.0.1,port=33583,localport=17365]
      Mar 30, 2017 7:43:46 AM jdk.incubator.http.Http1Request collectHeaders
      INFO: REQUEST: http://127.0.0.1:17365/foo/ POST
      Mar 30, 2017 7:43:46 AM jdk.incubator.http.HttpResponseImpl logResponse
      INFO: RESPONSE: (POST http://127.0.0.1:17365/foo/) 101
      TestServer: POST /foo/
      Server: creating input stream for stream 1
      Using handler for: /
      EchoHandler received request to http://127.0.0.1:17365/foo/
      EchoHandler read 25 bytes
      Sent response headers 200
      EchoHandler wrote 25 bytes
      Mar 30, 2017 7:43:46 AM jdk.incubator.http.HttpResponseImpl logResponse
      INFO: RESPONSE: (POST http://127.0.0.1:17365/foo/) 200
      Mar 30, 2017 7:43:46 AM jdk.incubator.http.Stream sendHeadersOnly
      INFO: REQUEST: http://127.0.0.1:17365/foo/ POST
      TestServer: POST /foo/
      Server: creating input stream for stream 3
      Using handler for: /
      EchoHandler received request to http://127.0.0.1:17365/foo/
      Mar 30, 2017 7:43:46 AM jdk.incubator.http.Stream sendHeadersOnly
      INFO: REQUEST: http://127.0.0.1:17365/foo/ POST
      TestServer: POST /foo/
      Server: creating input stream for stream 5
      Using handler for: /
      EchoHandler received request to http://127.0.0.1:17365/foo/
      EchoHandler read 65736 bytes
      Sent response headers 200
      Mar 30, 2017 7:43:46 AM jdk.incubator.http.HttpResponseImpl logResponse
      INFO: RESPONSE: (POST http://127.0.0.1:17365/foo/) 200
      EchoHandler wrote 65736 bytes
      Mar 30, 2017 7:43:46 AM jdk.incubator.http.Stream sendHeadersOnly
      INFO: REQUEST: http://127.0.0.1:17365/foo/ POST
      TestServer: POST /foo/
      Server: creating input stream for stream 7
      Using handler for: /
      EchoHandler received request to http://127.0.0.1:17365/foo/
      EchoHandler read 65736 bytes
      Sent response headers 200
      Mar 30, 2017 7:43:46 AM jdk.incubator.http.HttpResponseImpl logResponse
      INFO: RESPONSE: (POST http://127.0.0.1:17365/foo/) 200
      EchoHandler wrote 65736 bytes
      Mar 30, 2017 7:43:46 AM jdk.incubator.http.Stream sendHeadersOnly
      INFO: REQUEST: http://127.0.0.1:17365/foo/ POST
      TestServer: POST /foo/
      Server: creating input stream for stream 9
      Using handler for: /
      EchoHandler received request to http://127.0.0.1:17365/foo/
      EchoHandler read 65736 bytes
      Sent response headers 200
      Mar 30, 2017 7:43:46 AM jdk.incubator.http.HttpResponseImpl logResponse
      INFO: RESPONSE: (POST http://127.0.0.1:17365/foo/) 200
      EchoHandler wrote 65736 bytes
      Mar 30, 2017 7:43:46 AM jdk.incubator.http.Stream sendHeadersOnly
      INFO: REQUEST: http://127.0.0.1:17365/foo/ POST
      TestServer: POST /foo/
      Server: creating input stream for stream 11
      Using handler for: /
      EchoHandler received request to http://127.0.0.1:17365/foo/
      EchoHandler read 65736 bytes
      Sent response headers 200
      Mar 30, 2017 7:43:46 AM jdk.incubator.http.HttpResponseImpl logResponse
      INFO: RESPONSE: (POST http://127.0.0.1:17365/foo/) 200
      EchoHandler wrote 65736 bytes
      Mar 30, 2017 7:43:47 AM jdk.incubator.http.Stream sendHeadersOnly
      INFO: REQUEST: http://127.0.0.1:17365/foo/ POST
      TestServer: POST /foo/
      Server: creating input stream for stream 13
      Using handler for: /
      EchoHandler received request to http://127.0.0.1:17365/foo/
      EchoHandler read 65736 bytes
      Sent response headers 200
      Mar 30, 2017 7:43:47 AM jdk.incubator.http.HttpResponseImpl logResponse
      INFO: RESPONSE: (POST http://127.0.0.1:17365/foo/) 200
      EchoHandler wrote 65736 bytes
      Mar 30, 2017 7:43:47 AM jdk.incubator.http.Stream sendHeadersOnly
      INFO: REQUEST: http://127.0.0.1:17365/foo/ POST
      TestServer: POST /foo/
      Server: creating input stream for stream 15
      Using handler for: /
      EchoHandler received request to http://127.0.0.1:17365/foo/
      EchoHandler read 65736 bytes
      Sent response headers 200
      Mar 30, 2017 7:43:47 AM jdk.incubator.http.HttpResponseImpl logResponse
      INFO: RESPONSE: (POST http://127.0.0.1:17365/foo/) 200
      EchoHandler wrote 65736 bytes
      Mar 30, 2017 7:43:47 AM jdk.incubator.http.Stream sendHeadersOnly
      INFO: REQUEST: http://127.0.0.1:17365/foo/ POST
      TestServer: POST /foo/
      Server: creating input stream for stream 17
      Using handler for: /
      EchoHandler received request to http://127.0.0.1:17365/foo/
      EchoHandler read 65736 bytes
      Sent response headers 200
      Mar 30, 2017 7:43:47 AM jdk.incubator.http.HttpResponseImpl logResponse
      INFO: RESPONSE: (POST http://127.0.0.1:17365/foo/) 200
      EchoHandler wrote 65736 bytes
      Mar 30, 2017 7:43:47 AM jdk.incubator.http.Stream sendHeadersOnly
      INFO: REQUEST: http://127.0.0.1:17365/foo/ POST
      TestServer: POST /foo/
      Server: creating input stream for stream 19
      Using handler for: /
      EchoHandler received request to http://127.0.0.1:17365/foo/
      EchoHandler read 65736 bytes
      Sent response headers 200
      Mar 30, 2017 7:43:47 AM jdk.incubator.http.HttpResponseImpl logResponse
      INFO: RESPONSE: (POST http://127.0.0.1:17365/foo/) 200
      EchoHandler wrote 65736 bytes
      Mar 30, 2017 7:43:47 AM jdk.incubator.http.Stream sendHeadersOnly
      INFO: REQUEST: http://127.0.0.1:17365/foo/ POST
      TestServer: POST /foo/
      Server: creating input stream for stream 21
      Using handler for: /
      EchoHandler received request to http://127.0.0.1:17365/foo/
      EchoHandler read 65736 bytes
      Sent response headers 200
      Mar 30, 2017 7:43:47 AM jdk.incubator.http.HttpResponseImpl logResponse
      INFO: RESPONSE: (POST http://127.0.0.1:17365/foo/) 200
      EchoHandler wrote 65736 bytes
      Mar 30, 2017 7:43:47 AM jdk.incubator.http.Stream sendHeadersOnly
      INFO: REQUEST: http://127.0.0.1:17365/foo/ POST
      TestServer: POST /foo/
      Server: creating input stream for stream 23
      Using handler for: /
      EchoHandler received request to http://127.0.0.1:17365/foo/
      EchoHandler read 65736 bytes
      Sent response headers 200
      Mar 30, 2017 7:43:47 AM jdk.incubator.http.HttpResponseImpl logResponse
      INFO: RESPONSE: (POST http://127.0.0.1:17365/foo/) 200
      EchoHandler wrote 65736 bytes
      Mar 30, 2017 7:43:47 AM jdk.incubator.http.Stream sendHeadersOnly
      INFO: REQUEST: http://127.0.0.1:17365/foo/ POST
      TestServer: POST /foo/
      Server: creating input stream for stream 25
      Using handler for: /
      EchoHandler received request to http://127.0.0.1:17365/foo/
      EchoHandler read 65736 bytes
      Sent response headers 200
      Mar 30, 2017 7:43:47 AM jdk.incubator.http.HttpResponseImpl logResponse
      INFO: RESPONSE: (POST http://127.0.0.1:17365/foo/) 200
      EchoHandler wrote 65736 bytes
      Mar 30, 2017 7:43:47 AM jdk.incubator.http.Stream sendHeadersOnly
      INFO: REQUEST: http://127.0.0.1:17365/foo/ POST
      TestServer: POST /foo/
      Server: creating input stream for stream 27
      Using handler for: /
      EchoHandler received request to http://127.0.0.1:17365/foo/
      EchoHandler read 65736 bytes
      Sent response headers 200
      Mar 30, 2017 7:43:47 AM jdk.incubator.http.HttpResponseImpl logResponse
      INFO: RESPONSE: (POST http://127.0.0.1:17365/foo/) 200
      EchoHandler wrote 65736 bytes
      tt caught
      java.util.concurrent.CompletionException: java.lang.RuntimeException: Shouldn't happen
      at java.base/java.util.concurrent.CompletableFuture.encodeRelay(CompletableFuture.java:367)
      at java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1108)
      at java.base/java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2235)
      at jdk.incubator.httpclient/jdk.incubator.http.MultiExchange.responseAsyncImpl(MultiExchange.java:331)
      at jdk.incubator.httpclient/jdk.incubator.http.MultiExchange.lambda$responseAsync0$1(MultiExchange.java:250)
      at java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1072)
      at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
      at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1705)
      at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1161)
      at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
      at java.base/java.lang.Thread.run(Thread.java:844)
      Caused by: java.lang.RuntimeException: Shouldn't happen
      at jdk.incubator.httpclient/jdk.incubator.http.internal.common.AsyncWriteQueue.flushLoop(AsyncWriteQueue.java:168)
      at jdk.incubator.httpclient/jdk.incubator.http.internal.common.AsyncWriteQueue.flush(AsyncWriteQueue.java:92)
      at jdk.incubator.httpclient/jdk.incubator.http.PlainHttpConnection.flushAsync(PlainHttpConnection.java:211)
      at jdk.incubator.httpclient/jdk.incubator.http.Http2Connection.sendDataFrame(Http2Connection.java:806)
      at jdk.incubator.httpclient/jdk.incubator.http.Stream$RequestSubscriber.onNext(Stream.java:615)
      at jdk.incubator.httpclient/jdk.incubator.http.Stream$RequestSubscriber.onNext(Stream.java:576)
      at jdk.incubator.httpclient/jdk.incubator.http.PullPublisher$Subscription.request(PullPublisher.java:78)
      at jdk.incubator.httpclient/jdk.incubator.http.Stream$RequestSubscriber.onSubscribe(Stream.java:594)
      at jdk.incubator.httpclient/jdk.incubator.http.PullPublisher.subscribe(PullPublisher.java:45)
      at jdk.incubator.httpclient/jdk.incubator.http.RequestProcessors$InputStreamProcessor.subscribe(RequestProcessors.java:328)
      at jdk.incubator.httpclient/jdk.incubator.http.Stream.sendBodyImpl(Stream.java:759)
      at jdk.incubator.httpclient/jdk.incubator.http.Stream.sendBodyAsync(Stream.java:252)
      at java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1106)
      at java.base/java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2235)
      at jdk.incubator.httpclient/jdk.incubator.http.Exchange.responseAsyncImpl0(Exchange.java:296)
      at jdk.incubator.httpclient/jdk.incubator.http.Exchange.responseAsyncImpl(Exchange.java:254)
      at jdk.incubator.httpclient/jdk.incubator.http.Exchange.responseAsync(Exchange.java:239)
      at jdk.incubator.httpclient/jdk.incubator.http.MultiExchange.responseAsyncImpl(MultiExchange.java:295)
      ... 7 more
      java.io.IOException: Queue closed
      at jdk.incubator.httpclient/jdk.incubator.http.internal.common.Queue.newIOException(Queue.java:183)
      at jdk.incubator.httpclient/jdk.incubator.http.internal.common.Queue.take(Queue.java:141)
      at BodyInputStream.getData(BodyInputStream.java:65)
      at BodyInputStream.getBuffer(BodyInputStream.java:86)
      at BodyInputStream.read(BodyInputStream.java:109)
      at java.base/java.io.InputStream.transferTo(InputStream.java:523)
      at EchoHandler.handle(EchoHandler.java:44)
      at Http2TestServerConnection.handleRequest(Http2TestServerConnection.java:414)
      at Http2TestServerConnection.lambda$createStream$3(Http2TestServerConnection.java:367)
      at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:514)
      at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
      at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1161)
      at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
      at java.base/java.lang.Thread.run(Thread.java:844)
      TestServer: handleRequest exception: java.io.IOException: java.io.IOException: Queue closed
      java.io.IOException: java.io.IOException: Queue closed
      at EchoHandler.handle(EchoHandler.java:73)
      at Http2TestServerConnection.handleRequest(Http2TestServerConnection.java:414)
      at Http2TestServerConnection.lambda$createStream$3(Http2TestServerConnection.java:367)
      at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:514)
      at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
      at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1161)
      at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
      at java.base/java.lang.Thread.run(Thread.java:844)
      Caused by: java.io.IOException: Queue closed
      at jdk.incubator.httpclient/jdk.incubator.http.internal.common.Queue.newIOException(Queue.java:183)
      at jdk.incubator.httpclient/jdk.incubator.http.internal.common.Queue.take(Queue.java:141)
      at BodyInputStream.getData(BodyInputStream.java:65)
      at BodyInputStream.getBuffer(BodyInputStream.java:86)
      at BodyInputStream.read(BodyInputStream.java:109)
      at java.base/java.io.InputStream.transferTo(InputStream.java:523)
      at EchoHandler.handle(EchoHandler.java:44)
      ... 7 more
      Mar 30, 2017 7:43:47 AM jdk.incubator.http.PlainHttpConnection close
      INFO: ERROR: Closing: PlainHttpConnection: HttpConnection: java.nio.channels.SocketChannel[connected local=/127.0.0.1:33583 remote=/127.0.0.1:17365]
      Mar 30, 2017 7:43:47 AM jdk.incubator.http.Http2Connection shutdown
      INFO: ERROR: java.io.IOException: Connection aborted
      at jdk.incubator.httpclient/jdk.incubator.http.PlainHttpConnection.shutdown(PlainHttpConnection.java:265)
      at jdk.incubator.httpclient/jdk.incubator.http.PlainHttpConnection.asyncRead(PlainHttpConnection.java:286)
      at jdk.incubator.httpclient/jdk.incubator.http.PlainHttpConnection$ReadEvent.handle(PlainHttpConnection.java:379)
      at jdk.incubator.httpclient/jdk.incubator.http.HttpClientImpl$SelectorManager.handleEvent(HttpClientImpl.java:428)
      at jdk.incubator.httpclient/jdk.incubator.http.HttpClientImpl$SelectorManager.run(HttpClientImpl.java:398)

      java.io.IOException: java.lang.InterruptedException
      at jdk.incubator.httpclient/jdk.incubator.http.internal.common.Queue.take(Queue.java:147)
      at Http2TestServerConnection.writeLoop(Http2TestServerConnection.java:520)
      at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:514)
      at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
      at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1161)
      at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
      at java.base/java.lang.Thread.run(Thread.java:844)
      Caused by: java.lang.InterruptedException
      at java.base/java.lang.Object.wait(Native Method)
      at java.base/java.lang.Object.wait(Object.java:516)
      at jdk.incubator.httpclient/jdk.incubator.http.internal.common.Queue.take(Queue.java:139)
      ... 6 more
      Mar 30, 2017 7:43:47 AM jdk.incubator.http.Http2Connection resetStream
      INFO: ERROR: Resetting stream 3 with error code 8
      Mar 30, 2017 7:43:47 AM jdk.incubator.http.Http2Connection shutdown
      INFO: ERROR: java.io.IOException: Connection aborted
      at jdk.incubator.httpclient/jdk.incubator.http.PlainHttpConnection.shutdown(PlainHttpConnection.java:265)
      at jdk.incubator.httpclient/jdk.incubator.http.PlainHttpConnection.asyncOutput(PlainHttpConnection.java:228)
      at jdk.incubator.httpclient/jdk.incubator.http.internal.common.AsyncWriteQueue.flushLoop(AsyncWriteQueue.java:159)
      at jdk.incubator.httpclient/jdk.incubator.http.internal.common.AsyncWriteQueue.flush(AsyncWriteQueue.java:92)
      at jdk.incubator.httpclient/jdk.incubator.http.PlainHttpConnection.flushAsync(PlainHttpConnection.java:211)
      at jdk.incubator.httpclient/jdk.incubator.http.Http2Connection.sendFrame(Http2Connection.java:789)
      at jdk.incubator.httpclient/jdk.incubator.http.Http2Connection.resetStream(Http2Connection.java:507)
      at jdk.incubator.httpclient/jdk.incubator.http.Stream.cancelImpl(Stream.java:793)
      at jdk.incubator.httpclient/jdk.incubator.http.Http2Connection.shutdown(Http2Connection.java:402)
      at jdk.incubator.httpclient/jdk.incubator.http.PlainHttpConnection.shutdown(PlainHttpConnection.java:265)
      at jdk.incubator.httpclient/jdk.incubator.http.PlainHttpConnection.asyncRead(PlainHttpConnection.java:286)
      at jdk.incubator.httpclient/jdk.incubator.http.PlainHttpConnection$ReadEvent.handle(PlainHttpConnection.java:379)
      at jdk.incubator.httpclient/jdk.incubator.http.HttpClientImpl$SelectorManager.handleEvent(HttpClientImpl.java:428)
      at jdk.incubator.httpclient/jdk.incubator.http.HttpClientImpl$SelectorManager.run(HttpClientImpl.java:398)

      Mar 30, 2017 7:43:47 AM jdk.incubator.http.Http2Connection resetStream
      INFO: ERROR: Resetting stream 3 with error code 8
      Mar 30, 2017 7:43:47 AM jdk.incubator.http.Http2Connection shutdown
      INFO: ERROR: java.io.IOException: Connection aborted
      at jdk.incubator.httpclient/jdk.incubator.http.PlainHttpConnection.shutdown(PlainHttpConnection.java:265)
      at jdk.incubator.httpclient/jdk.incubator.http.PlainHttpConnection.asyncOutput(PlainHttpConnection.java:228)
      at jdk.incubator.httpclient/jdk.incubator.http.internal.common.AsyncWriteQueue.flushLoop(AsyncWriteQueue.java:159)
      at jdk.incubator.httpclient/jdk.incubator.http.internal.common.AsyncWriteQueue.flush(AsyncWriteQueue.java:92)
      at jdk.incubator.httpclient/jdk.incubator.http.PlainHttpConnection.flushAsync(PlainHttpConnection.java:211)
      at jdk.incubator.httpclient/jdk.incubator.http.Http2Connection.sendFrame(Http2Connection.java:789)
      at jdk.incubator.httpclient/jdk.incubator.http.Http2Connection.resetStream(Http2Connection.java:507)
      at jdk.incubator.httpclient/jdk.incubator.http.Stream.cancelImpl(Stream.java:793)
      at jdk.incubator.httpclient/jdk.incubator.http.Http2Connection.shutdown(Http2Connection.java:402)
      at jdk.incubator.httpclient/jdk.incubator.http.PlainHttpConnection.shutdown(PlainHttpConnection.java:265)
      at jdk.incubator.httpclient/jdk.incubator.http.PlainHttpConnection.asyncRead(PlainHttpConnection.java:286)
      at jdk.incubator.httpclient/jdk.incubator.http.PlainHttpConnection$ReadEvent.handle(PlainHttpConnection.java:379)
      at jdk.incubator.httpclient/jdk.incubator.http.HttpClientImpl$SelectorManager.handleEvent(HttpClientImpl.java:428)
      at jdk.incubator.httpclient/jdk.incubator.http.HttpClientImpl$SelectorManager.run(HttpClientImpl.java:398)

      java.lang.Exception: failures: 1
      at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:91)
      at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:54)
      at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.base/java.lang.reflect.Method.invoke(Method.java:563)
      at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:110)
      at java.base/java.lang.Thread.run(Thread.java:844)


      And
      ----------System.out:(111/6243)----------
      [TestNG] Running:
        java/net/httpclient/http2/FixedThreadPoolTest.java

      ServerSettings: SETTINGS: length=30, streamid=0, flags=0 Settings: HEADER_TABLE_SIZE=4096 ENABLE_PUSH=1 MAX_CONCURRENT_STREAMS=35 INITIAL_WINDOW_SIZE=65535 MAX_FRAME_SIZE=16384
      ClientSettings: SETTINGS: length=30, streamid=0, flags=0 Settings: HEADER_TABLE_SIZE=16384 ENABLE_PUSH=1 MAX_CONCURRENT_STREAMS=16 INITIAL_WINDOW_SIZE=65535 MAX_FRAME_SIZE=16384
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      ServerSettings: SETTINGS: length=30, streamid=0, flags=0 Settings: HEADER_TABLE_SIZE=4096 ENABLE_PUSH=1 MAX_CONCURRENT_STREAMS=35 INITIAL_WINDOW_SIZE=65535 MAX_FRAME_SIZE=16384
      ClientSettings: SETTINGS: length=30, streamid=0, flags=0 Settings: HEADER_TABLE_SIZE=16384 ENABLE_PUSH=1 MAX_CONCURRENT_STREAMS=16 INITIAL_WINDOW_SIZE=65535 MAX_FRAME_SIZE=16384
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      Resp status 200 body size 65736
      test FixedThreadPoolTest.test(): failure
      java.util.concurrent.CompletionException: java.lang.RuntimeException: Shouldn't happen
      at java.base/java.util.concurrent.CompletableFuture.encodeRelay(CompletableFuture.java:367)
      at java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1108)
      at java.base/java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2235)
      at jdk.incubator.httpclient/jdk.incubator.http.MultiExchange.responseAsyncImpl(MultiExchange.java:331)
      at jdk.incubator.httpclient/jdk.incubator.http.MultiExchange.lambda$responseAsync0$1(MultiExchange.java:250)
      at java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1072)
      at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
      at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1705)
      at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1161)
      at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
      at java.base/java.lang.Thread.run(Thread.java:844)
      Caused by: java.lang.RuntimeException: Shouldn't happen
      at jdk.incubator.httpclient/jdk.incubator.http.internal.common.AsyncWriteQueue.flushLoop(AsyncWriteQueue.java:168)
      at jdk.incubator.httpclient/jdk.incubator.http.internal.common.AsyncWriteQueue.flush(AsyncWriteQueue.java:92)
      at jdk.incubator.httpclient/jdk.incubator.http.PlainHttpConnection.flushAsync(PlainHttpConnection.java:211)
      at jdk.incubator.httpclient/jdk.incubator.http.AsyncSSLDelegate.flushAsync(AsyncSSLDelegate.java:161)
      at jdk.incubator.httpclient/jdk.incubator.http.AsyncSSLConnection.flushAsync(AsyncSSLConnection.java:129)
      at jdk.incubator.httpclient/jdk.incubator.http.Http2Connection.sendDataFrame(Http2Connection.java:806)
      at jdk.incubator.httpclient/jdk.incubator.http.Stream$RequestSubscriber.onNext(Stream.java:615)
      at jdk.incubator.httpclient/jdk.incubator.http.Stream$RequestSubscriber.onNext(Stream.java:576)
      at jdk.incubator.httpclient/jdk.incubator.http.PullPublisher$Subscription.request(PullPublisher.java:78)
      at jdk.incubator.httpclient/jdk.incubator.http.Stream$RequestSubscriber.onSubscribe(Stream.java:594)
      at jdk.incubator.httpclient/jdk.incubator.http.PullPublisher.subscribe(PullPublisher.java:45)
      at jdk.incubator.httpclient/jdk.incubator.http.RequestProcessors$InputStreamProcessor.subscribe(RequestProcessors.java:328)
      at jdk.incubator.httpclient/jdk.incubator.http.Stream.sendBodyImpl(Stream.java:759)
      at jdk.incubator.httpclient/jdk.incubator.http.Stream.sendBodyAsync(Stream.java:252)
      at java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1106)
      at java.base/java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2235)
      at jdk.incubator.httpclient/jdk.incubator.http.Exchange.responseAsyncImpl0(Exchange.java:296)
      at jdk.incubator.httpclient/jdk.incubator.http.Exchange.responseAsyncImpl(Exchange.java:254)
      at jdk.incubator.httpclient/jdk.incubator.http.Exchange.responseAsync(Exchange.java:239)
      at jdk.incubator.httpclient/jdk.incubator.http.MultiExchange.responseAsyncImpl(MultiExchange.java:295)
      ... 7 more

      Attachments

        Issue Links

          Activity

            People

              dfuchs Daniel Fuchs
              xiaofeya Xiaofeng Yang
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: