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

java/net/httpclient/HttpsTunnelAuthTest.java fails with java.io.IOException: HTTP/1.1 header parser received no bytes

XMLWordPrintable

    • 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

              dfuchs Daniel Fuchs
              msheppar Mark Sheppard
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated:
                Resolved: