-
Bug
-
Resolution: Fixed
-
P4
-
9, 10
-
b21
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
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
- relates to
-
JDK-8182975 Mark http2/BasicTest.java and FixedThreadPoolTest.java as intermittently failing
- Resolved
-
JDK-8187026 Remove intermittent key from java/net/httpclient/http2/BasicTest.java
- Resolved