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

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

XMLWordPrintable

    • b03

        This is due to the ProxyServer abruptly closing the connection. The exception seems to be caused by a debug statement trying to printf a string has a number (%d and passing a string argument)

        Testing HTTP_2, http, /foo/http2
        Proxy is: [HTTP @ /127.0.0.1:51144]

        Posting to HTTP_1_1 server at: http://localhost:51028/foo/http2 POST
        Proxy: accepted new connection: Proxy connection 3, client sock:java.nio.channels.SocketChannel[connected local=/127.0.0.1:51144 remote=/127.0.0.1:51218]
        POST http://localhost:51028/foo/http2 HTTP/1.1
        Content-Length: 316
        Host: localhost:51028
        User-Agent: Java-http-client/21-internal

        Proxy: unauthorized; 407 sent (112/112), linger: 2, nodelay: true
        Proxy: content-length: Proxy: bad content-length, closing connection
        Proxy: content-length: 316
        Proxy: java.util.IllegalFormatConversionException: d != java.lang.String
        Proxy: closing connection id=3, linger: 2, nodelay: true
        Checking response: (POST http://localhost:51028/foo/http2) 407

        Posting with Proxy-Authorization to HTTP_1_1 server at: http://localhost:51028/foo/http2 POST
        Proxy: drained: 316
        Unexpected exception: exiting: java.io.IOException: HTTP/1.1 header parser received no bytes
        java.io.IOException: HTTP/1.1 header parser received no bytes
        at java.net.http/jdk.internal.net.http.HttpClientImpl.send(HttpClientImpl.java:909)
        at java.net.http/jdk.internal.net.http.HttpClientFacade.send(HttpClientFacade.java:133)
        at HttpsTunnelAuthTest.test(HttpsTunnelAuthTest.java:280)
        at HttpsTunnelAuthTest.main(HttpsTunnelAuthTest.java:194)
        at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
        at java.base/java.lang.reflect.Method.invoke(Method.java:578)
        at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:125)
        at java.base/java.lang.Thread.run(Thread.java:1623)
        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:348)
        at java.net.http/jdk.internal.net.http.Http1Response$HeadersReader.onReadError(Http1Response.java:574)
        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:205)
        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:230)
        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.io.IOException: connection closed locally
        at java.net.http/jdk.internal.net.http.SocketTube.signalClosed(SocketTube.java:159)
        at java.net.http/jdk.internal.net.http.PlainHttpConnection.close(PlainHttpConnection.java:405)
        at java.net.http/jdk.internal.net.http.ConnectionPool.cleanup(ConnectionPool.java:501)
        at java.net.http/jdk.internal.net.http.ConnectionPool$CleanupTrigger.triggerCleanup(ConnectionPool.java:524)
        at java.net.http/jdk.internal.net.http.ConnectionPool$CleanupTrigger.onComplete(ConnectionPool.java:537)
        at java.net.http/jdk.internal.net.http.SocketTube$InternalReadPublisher$ReadSubscription.signalCompletion(SocketTube.java:648)
        at java.net.http/jdk.internal.net.http.SocketTube$InternalReadPublisher$InternalReadSubscription.read(SocketTube.java:853)
        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:230)
        at java.net.http/jdk.internal.net.http.common.SequentialScheduler.runOrSchedule(SequentialScheduler.java:303)
        at java.net.http/jdk.internal.net.http.common.SequentialScheduler.runOrSchedule(SequentialScheduler.java:256)
        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:1390)
        at java.net.http/jdk.internal.net.http.HttpClientImpl$SelectorManager.lambda$run$3(HttpClientImpl.java:1335)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
        at java.net.http/jdk.internal.net.http.HttpClientImpl$SelectorManager.run(HttpClientImpl.java:1335)
        Http1TestServer: stop
        Http1TestServer: stop
        Http2TestServerImpl: stop

              dfuchs Daniel Fuchs
              dfuchs Daniel Fuchs
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: