JDK-8332493 : java/net/httpclient/ProxyAuthDisabledSchemes.java failed with HTTP/1.1 header parser received no bytes
  • Type: Bug
  • Component: core-libs
  • Sub-Component: java.net
  • Affected Version: 23
  • Priority: P4
  • Status: Open
  • Resolution: Unresolved
  • OS: linux
  • CPU: aarch64
  • Submitted: 2024-05-18
  • Updated: 2024-07-17
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
tbdUnresolved
Related Reports
Relates :  
Description
The following test failed in the JDK23 CI:

java/net/httpclient/ProxyAuthDisabledSchemes.java

Here's a snippet from the log file:

FINE [May 18, 7:37:06.668763822] sun.net.httpserver.ServerImpl$Exchange run: Exchange request line: POST http://localhost:46857/foo/ HTTP/1.1
FINE [May 18, 7:37:06.669127863] sun.net.httpserver.ServerImpl logReply: POST http://localhost:46857/foo/ HTTP/1.1 [407  Proxy Authentication Required] ()
FINE [May 18, 7:37:06.670318148] sun.net.httpserver.ServerImpl$Exchange run: Exchange request line: POST http://localhost:46857/foo/ HTTP/1.1
FINE [May 18, 7:37:06.670627470] sun.net.httpserver.ServerImpl logReply: POST http://localhost:46857/foo/ HTTP/1.1 [407  Proxy Authentication Required] ()
FINE [May 18, 7:37:06.671789635] sun.net.httpserver.ServerImpl$Exchange run: Exchange request line: POST http://localhost:46857/foo/ HTTP/1.1
FINE [May 18, 7:37:06.672181156] sun.net.httpserver.ServerImpl logReply: POST http://localhost:46857/foo/ HTTP/1.1 [407  Proxy Authentication Required] ()
FINE [May 18, 7:37:06.672823559] sun.net.httpserver.ServerImpl$Exchange run: no request line: closing
java.util.concurrent.CompletionException: java.io.IOException: HTTP/1.1 header parser received no bytes
	at java.base/java.util.concurrent.CompletableFuture.encodeRelay(CompletableFuture.java:368)
	at java.base/java.util.concurrent.CompletableFuture.completeRelay(CompletableFuture.java:377)
	at java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1152)
	at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
	at java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2194)
	at java.net.http/jdk.internal.net.http.Http1Response.onReadError(Http1Response.java:469)
	at java.net.http/jdk.internal.net.http.Http1Response$HeadersReader.onReadError(Http1Response.java:591)
	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)
	at java.net.http/jdk.internal.net.http.Http1Response$HeadersReader.onReadError(Http1Response.java:590)
	... 8 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:428)
	at java.net.http/jdk.internal.net.http.PlainHttpConnection.close(PlainHttpConnection.java:406)
	at java.net.http/jdk.internal.net.http.ConnectionPool.cleanup(ConnectionPool.java:538)
	at java.net.http/jdk.internal.net.http.ConnectionPool$CleanupTrigger.triggerCleanup(ConnectionPool.java:561)
	at java.net.http/jdk.internal.net.http.ConnectionPool$CleanupTrigger.onNext(ConnectionPool.java:577)
	at java.net.http/jdk.internal.net.http.ConnectionPool$CleanupTrigger.onNext(ConnectionPool.java:546)
	at java.net.http/jdk.internal.net.http.SocketTube$InternalReadPublisher$InternalReadSubscription.read(SocketTube.java:865)
	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.handleSubscribeEvent(SocketTube.java:706)
	at java.net.http/jdk.internal.net.http.AsyncTriggerEvent.handle(AsyncTriggerEvent.java:54)
	at java.net.http/jdk.internal.net.http.HttpClientImpl$SelectorManager.run(HttpClientImpl.java:1323)
FINE [May 18, 7:37:06.814020205] sun.net.httpserver.ServerImpl$Exchange run: no request line: closing
FINE [May 18, 7:37:06.814363687] sun.net.httpserver.ServerImpl$Exchange run: no request line: closing
FINE [May 18, 7:37:06.814590848] sun.net.httpserver.ServerImpl$Exchange run: no request line: closing
FINE [May 18, 7:37:06.814752768] sun.net.httpserver.ServerImpl$Exchange run: no request line: closing
TestServer(3): stopping 2 connections
TestServer(3): finished
TestServer(2): stopping 2 connections
TestServer(2): finished
TestServer(1): stopping 4 connections
TestServer(1): finished
java.util.concurrent.CompletionException: java.io.IOException: HTTP/1.1 header parser received no bytes
	at java.base/java.util.concurrent.CompletableFuture.encodeRelay(CompletableFuture.java:368)
	at java.base/java.util.concurrent.CompletableFuture.completeRelay(CompletableFuture.java:377)
	at java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1152)
	at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
	at java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2194)
	at java.net.http/jdk.internal.net.http.Http1Response.onReadError(Http1Response.java:469)
	at java.net.http/jdk.internal.net.http.Http1Response$HeadersReader.onReadError(Http1Response.java:591)
	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)
	at java.net.http/jdk.internal.net.http.Http1Response$HeadersReader.onReadError(Http1Response.java:590)
	... 8 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:428)
	at java.net.http/jdk.internal.net.http.PlainHttpConnection.close(PlainHttpConnection.java:406)
	at java.net.http/jdk.internal.net.http.ConnectionPool.cleanup(ConnectionPool.java:538)
	at java.net.http/jdk.internal.net.http.ConnectionPool$CleanupTrigger.triggerCleanup(ConnectionPool.java:561)
	at java.net.http/jdk.internal.net.http.ConnectionPool$CleanupTrigger.onNext(ConnectionPool.java:577)
	at java.net.http/jdk.internal.net.http.ConnectionPool$CleanupTrigger.onNext(ConnectionPool.java:546)
	at java.net.http/jdk.internal.net.http.SocketTube$InternalReadPublisher$InternalReadSubscription.read(SocketTube.java:865)
	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.handleSubscribeEvent(SocketTube.java:706)
	at java.net.http/jdk.internal.net.http.AsyncTriggerEvent.handle(AsyncTriggerEvent.java:54)
	at java.net.http/jdk.internal.net.http.HttpClientImpl$SelectorManager.run(HttpClientImpl.java:1323)

JavaTest Message: Test threw exception: java.util.concurrent.CompletionException: java.io.IOException: HTTP/1.1 header parser received no bytes
JavaTest Message: shutting down test

STATUS:Failed.`main' threw exception: java.util.concurrent.CompletionException: java.io.IOException: HTTP/1.1 header parser received no bytes
----------rerun:(46/8907)*----------