-
Bug
-
Resolution: Fixed
-
P4
-
None
-
b14
-
x86_64
-
linux
-
Verified
intermittent failure OL9 SBR JDK23 b33
multiple exception observed in logs due to connection reset
extract
Jul 27, 2024 6:51:30 PM jdk.internal.net.http.Http1AsyncReceiver onReadError
INFO: ERROR: HTTP/1 read subscriber recorded error: http://localhost:39017/foo/http1 POST - jdk.internal.net.http.common.ConnectionExpiredException: subscription is finished
Jul 27, 2024 6:51:30 PM jdk.internal.net.http.Http1AsyncReceiver onReadError
INFO: ERROR: HTTP/1 propagating recorded error: http://localhost:39017/foo/http1 POST - jdk.internal.net.http.common.ConnectionExpiredException: subscription is finished
DEBUG: [HttpClient-1-SelectorManager] [187ms] SocketTube(1) Stopping read scheduler
DEBUG: [HttpClient-1-SelectorManager] [187ms] SocketTube(1) leaving read() loop with error: Reading: [ops=None, demand=0, stopped=true], Writing: [ops=None, demand=1]
DEBUG: [HttpClient-1-SelectorManager] [187ms] SocketTube(1) Read scheduler stopped
DEBUG: [HttpClient-1-Worker-2] [187ms] Http1AsyncReceiver(SocketTube(1)) downstream subscription demand is 1
DEBUG: [HttpClient-1-Worker-2] [187ms] Http1AsyncReceiver(SocketTube(1)) checkRequestMore: canRequestMore=false, hasDemand=true
DEBUG: [HttpClient-1-Worker-2] [187ms] Http1AsyncReceiver(SocketTube(1)) Http1TubeSubscriber: no need to request more
DEBUG: [HttpClient-1-Worker-2] [191ms] Http1AsyncReceiver(SocketTube(1)) flushing jdk.internal.net.http.common.ConnectionExpiredException: subscription is finished
delegate: jdk.internal.net.http.Http1Response$HeadersReader@31138802 queue.isEmpty: true
Jul 27, 2024 6:51:30 PM jdk.internal.net.http.Http1Response onReadError
INFO: ERROR: jdk.internal.net.http.common.ConnectionExpiredException: subscription is finished
at java.net.http/jdk.internal.net.http.common.Utils.wrapWithExtraDetail(Utils.java:441)
at java.net.http/jdk.internal.net.http.Http1Response$HeadersReader.onReadError(Http1Response.java:590)
at java.net.http/jdk.internal.net.http.Http1AsyncReceiver.checkForErrors(Http1AsyncReceiver.java:302)
at java.net.http/jdk.internal.net.http.Http1AsyncReceiver.flush(Http1AsyncReceiver.java:268)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler$LockingRestartableTask.run(SequentialScheduler.java:182)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler$CompleteRestartableTask.run(SequentialScheduler.java:149)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler$SchedulableTask.run(SequentialScheduler.java:207)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base/java.lang.Thread.run(Thread.java:1575)
Caused by: java.io.IOException: HTTP/1.1 header parser received no bytes
at java.net.http/jdk.internal.net.http.common.Utils.wrapWithExtraDetail(Utils.java:440)
... 9 more
Caused by: java.net.SocketException: Connection reset
at java.base/sun.nio.ch.SocketChannelImpl.throwConnectionReset(SocketChannelImpl.java:403)
at java.base/sun.nio.ch.SocketChannelImpl.implRead(SocketChannelImpl.java:435)
at java.base/sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:493)
at java.net.http/jdk.internal.net.http.SocketTube.readAvailable(SocketTube.java:1178)
at java.net.http/jdk.internal.net.http.SocketTube$InternalReadPublisher$InternalReadSubscription.read(SocketTube.java:841)
at java.net.http/jdk.internal.net.http.SocketTube$SocketFlowTask.run(SocketTube.java:181)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler$SchedulableTask.run(SequentialScheduler.java:207)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler.runOrSchedule(SequentialScheduler.java:280)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler.runOrSchedule(SequentialScheduler.java:233)
at java.net.http/jdk.internal.net.http.SocketTube$InternalReadPublisher$InternalReadSubscription.signalReadable(SocketTube.java:782)
at java.net.http/jdk.internal.net.http.SocketTube$InternalReadPublisher$ReadEvent.signalEvent(SocketTube.java:965)
at java.net.http/jdk.internal.net.http.SocketTube$SocketFlowEvent.handle(SocketTube.java:253)
at java.net.http/jdk.internal.net.http.HttpClientImpl$SelectorManager.handleEvent(HttpClientImpl.java:1476)
at java.net.http/jdk.internal.net.http.HttpClientImpl$SelectorManager.lambda$run$3(HttpClientImpl.java:1421)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)
at java.net.http/jdk.internal.net.http.HttpClientImpl$SelectorManager.run(HttpClientImpl.java:1421)
DEBUG: [HttpClient-1-Worker-2] [197ms] Http1Response(id=1, PlainProxyConnection(SocketTube(1))) onReadError: cf is not yet completed
DEBUG: [HttpClient-1-Worker-2] [197ms] Http1Exchange getResponseAsync completed java.util.concurrent.CompletionException: jdk.internal.net.http.common.ConnectionExpiredException: subscription is finished
DEBUG: [HttpClient-1-Worker-2] [208ms] HttpClientImpl(1) ClientImpl (async) elapsed 148 millis for POST to http://localhost:39017/foo/http1
DEBUG: [HttpClient-1-Worker-2] [209ms] Http1Response(id=1, PlainProxyConnection(SocketTube(1))) closing connection: cause is jdk.internal.net.http.common.ConnectionExpiredException: subscription is finished
DEBUG: [HttpClient-1-Worker-2] [212ms] PlainProxyConnection(SocketTube(1)) Closing channel: channel registered with selector, key.interestOps=None, sa.interestOps=None
DEBUG: [HttpClient-1-Worker-2] [212ms] SocketTube(1) signal read error: java.io.IOException: connection closed locally
DEBUG: [HttpClient-1-Worker-2] [213ms] Http1Exchange asyncReceiver finished (failed=jdk.internal.net.http.common.ConnectionExpiredException: subscription is finished)
DEBUG: [HttpClient-1-Worker-2] [213ms] Http1Exchange asyncReceiver finished (failed=jdk.internal.net.http.common.ConnectionExpiredException: subscription is finished)
TestServer(1): stopping 0 connections
java.io.IOException: HTTP/1.1 header parser received no bytes
at java.net.http/jdk.internal.net.http.HttpClientImpl.send(HttpClientImpl.java:969)
at java.net.http/jdk.internal.net.http.HttpClientFacade.send(HttpClientFacade.java:133)
at HttpsTunnelAuthTest.test(HttpsTunnelAuthTest.java:257)
at HttpsTunnelAuthTest.main(HttpsTunnelAuthTest.java:182)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)
at java.base/java.lang.Thread.run(Thread.java:1575)
Caused by: java.io.IOException: HTTP/1.1 header parser received no bytes
at java.net.http/jdk.internal.net.http.common.Utils.wrapWithExtraDetail(Utils.java:440)
at java.net.http/jdk.internal.net.http.Http1Response$HeadersReader.onReadError(Http1Response.java:590)
at java.net.http/jdk.internal.net.http.Http1AsyncReceiver.checkForErrors(Http1AsyncReceiver.java:302)
at java.net.http/jdk.internal.net.http.Http1AsyncReceiver.flush(Http1AsyncReceiver.java:268)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler$LockingRestartableTask.run(SequentialScheduler.java:182)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler$CompleteRestartableTask.run(SequentialScheduler.java:149)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler$SchedulableTask.run(SequentialScheduler.java:207)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
... 1 more
Caused by: java.net.SocketException: Connection reset
at java.base/sun.nio.ch.SocketChannelImpl.throwConnectionReset(SocketChannelImpl.java:403)
at java.base/sun.nio.ch.SocketChannelImpl.implRead(SocketChannelImpl.java:435)
at java.base/sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:493)
at java.net.http/jdk.internal.net.http.SocketTube.readAvailable(SocketTube.java:1178)
at java.net.http/jdk.internal.net.http.SocketTube$InternalReadPublisher$InternalReadSubscription.read(SocketTube.java:841)
at java.net.http/jdk.internal.net.http.SocketTube$SocketFlowTask.run(SocketTube.java:181)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler$SchedulableTask.run(SequentialScheduler.java:207)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler.runOrSchedule(SequentialScheduler.java:280)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler.runOrSchedule(SequentialScheduler.java:233)
at java.net.http/jdk.internal.net.http.SocketTube$InternalReadPublisher$InternalReadSubscription.signalReadable(SocketTube.java:782)
at java.net.http/jdk.internal.net.http.SocketTube$InternalReadPublisher$ReadEvent.signalEvent(SocketTube.java:965)
at java.net.http/jdk.internal.net.http.SocketTube$SocketFlowEvent.handle(SocketTube.java:253)
at java.net.http/jdk.internal.net.http.HttpClientImpl$SelectorManager.handleEvent(HttpClientImpl.java:1476)
at java.net.http/jdk.internal.net.http.HttpClientImpl$SelectorManager.lambda$run$3(HttpClientImpl.java:1421)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)
at java.net.http/jdk.internal.net.http.HttpClientImpl$SelectorManager.run(HttpClientImpl.java:1421)
TestServer(1): finished
JavaTest Message: Test threw exception: java.io.IOException: HTTP/1.1 header parser received no bytes
JavaTest Message: shutting down test
STATUS:Failed.`main' threw exception: java.io.IOException: HTTP/1.1 header parser received no bytes
multiple exception observed in logs due to connection reset
extract
Jul 27, 2024 6:51:30 PM jdk.internal.net.http.Http1AsyncReceiver onReadError
INFO: ERROR: HTTP/1 read subscriber recorded error: http://localhost:39017/foo/http1 POST - jdk.internal.net.http.common.ConnectionExpiredException: subscription is finished
Jul 27, 2024 6:51:30 PM jdk.internal.net.http.Http1AsyncReceiver onReadError
INFO: ERROR: HTTP/1 propagating recorded error: http://localhost:39017/foo/http1 POST - jdk.internal.net.http.common.ConnectionExpiredException: subscription is finished
DEBUG: [HttpClient-1-SelectorManager] [187ms] SocketTube(1) Stopping read scheduler
DEBUG: [HttpClient-1-SelectorManager] [187ms] SocketTube(1) leaving read() loop with error: Reading: [ops=None, demand=0, stopped=true], Writing: [ops=None, demand=1]
DEBUG: [HttpClient-1-SelectorManager] [187ms] SocketTube(1) Read scheduler stopped
DEBUG: [HttpClient-1-Worker-2] [187ms] Http1AsyncReceiver(SocketTube(1)) downstream subscription demand is 1
DEBUG: [HttpClient-1-Worker-2] [187ms] Http1AsyncReceiver(SocketTube(1)) checkRequestMore: canRequestMore=false, hasDemand=true
DEBUG: [HttpClient-1-Worker-2] [187ms] Http1AsyncReceiver(SocketTube(1)) Http1TubeSubscriber: no need to request more
DEBUG: [HttpClient-1-Worker-2] [191ms] Http1AsyncReceiver(SocketTube(1)) flushing jdk.internal.net.http.common.ConnectionExpiredException: subscription is finished
delegate: jdk.internal.net.http.Http1Response$HeadersReader@31138802 queue.isEmpty: true
Jul 27, 2024 6:51:30 PM jdk.internal.net.http.Http1Response onReadError
INFO: ERROR: jdk.internal.net.http.common.ConnectionExpiredException: subscription is finished
at java.net.http/jdk.internal.net.http.common.Utils.wrapWithExtraDetail(Utils.java:441)
at java.net.http/jdk.internal.net.http.Http1Response$HeadersReader.onReadError(Http1Response.java:590)
at java.net.http/jdk.internal.net.http.Http1AsyncReceiver.checkForErrors(Http1AsyncReceiver.java:302)
at java.net.http/jdk.internal.net.http.Http1AsyncReceiver.flush(Http1AsyncReceiver.java:268)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler$LockingRestartableTask.run(SequentialScheduler.java:182)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler$CompleteRestartableTask.run(SequentialScheduler.java:149)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler$SchedulableTask.run(SequentialScheduler.java:207)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base/java.lang.Thread.run(Thread.java:1575)
Caused by: java.io.IOException: HTTP/1.1 header parser received no bytes
at java.net.http/jdk.internal.net.http.common.Utils.wrapWithExtraDetail(Utils.java:440)
... 9 more
Caused by: java.net.SocketException: Connection reset
at java.base/sun.nio.ch.SocketChannelImpl.throwConnectionReset(SocketChannelImpl.java:403)
at java.base/sun.nio.ch.SocketChannelImpl.implRead(SocketChannelImpl.java:435)
at java.base/sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:493)
at java.net.http/jdk.internal.net.http.SocketTube.readAvailable(SocketTube.java:1178)
at java.net.http/jdk.internal.net.http.SocketTube$InternalReadPublisher$InternalReadSubscription.read(SocketTube.java:841)
at java.net.http/jdk.internal.net.http.SocketTube$SocketFlowTask.run(SocketTube.java:181)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler$SchedulableTask.run(SequentialScheduler.java:207)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler.runOrSchedule(SequentialScheduler.java:280)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler.runOrSchedule(SequentialScheduler.java:233)
at java.net.http/jdk.internal.net.http.SocketTube$InternalReadPublisher$InternalReadSubscription.signalReadable(SocketTube.java:782)
at java.net.http/jdk.internal.net.http.SocketTube$InternalReadPublisher$ReadEvent.signalEvent(SocketTube.java:965)
at java.net.http/jdk.internal.net.http.SocketTube$SocketFlowEvent.handle(SocketTube.java:253)
at java.net.http/jdk.internal.net.http.HttpClientImpl$SelectorManager.handleEvent(HttpClientImpl.java:1476)
at java.net.http/jdk.internal.net.http.HttpClientImpl$SelectorManager.lambda$run$3(HttpClientImpl.java:1421)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)
at java.net.http/jdk.internal.net.http.HttpClientImpl$SelectorManager.run(HttpClientImpl.java:1421)
DEBUG: [HttpClient-1-Worker-2] [197ms] Http1Response(id=1, PlainProxyConnection(SocketTube(1))) onReadError: cf is not yet completed
DEBUG: [HttpClient-1-Worker-2] [197ms] Http1Exchange getResponseAsync completed java.util.concurrent.CompletionException: jdk.internal.net.http.common.ConnectionExpiredException: subscription is finished
DEBUG: [HttpClient-1-Worker-2] [208ms] HttpClientImpl(1) ClientImpl (async) elapsed 148 millis for POST to http://localhost:39017/foo/http1
DEBUG: [HttpClient-1-Worker-2] [209ms] Http1Response(id=1, PlainProxyConnection(SocketTube(1))) closing connection: cause is jdk.internal.net.http.common.ConnectionExpiredException: subscription is finished
DEBUG: [HttpClient-1-Worker-2] [212ms] PlainProxyConnection(SocketTube(1)) Closing channel: channel registered with selector, key.interestOps=None, sa.interestOps=None
DEBUG: [HttpClient-1-Worker-2] [212ms] SocketTube(1) signal read error: java.io.IOException: connection closed locally
DEBUG: [HttpClient-1-Worker-2] [213ms] Http1Exchange asyncReceiver finished (failed=jdk.internal.net.http.common.ConnectionExpiredException: subscription is finished)
DEBUG: [HttpClient-1-Worker-2] [213ms] Http1Exchange asyncReceiver finished (failed=jdk.internal.net.http.common.ConnectionExpiredException: subscription is finished)
TestServer(1): stopping 0 connections
java.io.IOException: HTTP/1.1 header parser received no bytes
at java.net.http/jdk.internal.net.http.HttpClientImpl.send(HttpClientImpl.java:969)
at java.net.http/jdk.internal.net.http.HttpClientFacade.send(HttpClientFacade.java:133)
at HttpsTunnelAuthTest.test(HttpsTunnelAuthTest.java:257)
at HttpsTunnelAuthTest.main(HttpsTunnelAuthTest.java:182)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)
at java.base/java.lang.Thread.run(Thread.java:1575)
Caused by: java.io.IOException: HTTP/1.1 header parser received no bytes
at java.net.http/jdk.internal.net.http.common.Utils.wrapWithExtraDetail(Utils.java:440)
at java.net.http/jdk.internal.net.http.Http1Response$HeadersReader.onReadError(Http1Response.java:590)
at java.net.http/jdk.internal.net.http.Http1AsyncReceiver.checkForErrors(Http1AsyncReceiver.java:302)
at java.net.http/jdk.internal.net.http.Http1AsyncReceiver.flush(Http1AsyncReceiver.java:268)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler$LockingRestartableTask.run(SequentialScheduler.java:182)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler$CompleteRestartableTask.run(SequentialScheduler.java:149)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler$SchedulableTask.run(SequentialScheduler.java:207)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
... 1 more
Caused by: java.net.SocketException: Connection reset
at java.base/sun.nio.ch.SocketChannelImpl.throwConnectionReset(SocketChannelImpl.java:403)
at java.base/sun.nio.ch.SocketChannelImpl.implRead(SocketChannelImpl.java:435)
at java.base/sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:493)
at java.net.http/jdk.internal.net.http.SocketTube.readAvailable(SocketTube.java:1178)
at java.net.http/jdk.internal.net.http.SocketTube$InternalReadPublisher$InternalReadSubscription.read(SocketTube.java:841)
at java.net.http/jdk.internal.net.http.SocketTube$SocketFlowTask.run(SocketTube.java:181)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler$SchedulableTask.run(SequentialScheduler.java:207)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler.runOrSchedule(SequentialScheduler.java:280)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler.runOrSchedule(SequentialScheduler.java:233)
at java.net.http/jdk.internal.net.http.SocketTube$InternalReadPublisher$InternalReadSubscription.signalReadable(SocketTube.java:782)
at java.net.http/jdk.internal.net.http.SocketTube$InternalReadPublisher$ReadEvent.signalEvent(SocketTube.java:965)
at java.net.http/jdk.internal.net.http.SocketTube$SocketFlowEvent.handle(SocketTube.java:253)
at java.net.http/jdk.internal.net.http.HttpClientImpl$SelectorManager.handleEvent(HttpClientImpl.java:1476)
at java.net.http/jdk.internal.net.http.HttpClientImpl$SelectorManager.lambda$run$3(HttpClientImpl.java:1421)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)
at java.net.http/jdk.internal.net.http.HttpClientImpl$SelectorManager.run(HttpClientImpl.java:1421)
TestServer(1): finished
JavaTest Message: Test threw exception: java.io.IOException: HTTP/1.1 header parser received no bytes
JavaTest Message: shutting down test
STATUS:Failed.`main' threw exception: java.io.IOException: HTTP/1.1 header parser received no bytes
- links to
-
Commit(master) openjdk/jdk/4ca2c208
-
Review(master) openjdk/jdk/20674