AggregateRequestBodyTest.java intermittent fails "Connection closed by client peer: APPLICATION_ERROR"

XMLWordPrintable

    • Type: Bug
    • Resolution: Unresolved
    • Priority: P4
    • None
    • Affects Version/s: 27
    • Component/s: core-libs
    • Environment:
    • Fix Understood
    • x86_64
    • linux

      Test java/net/httpclient/AggregateRequestBodyTest.java intermittent fails with fastdebug build. The test log snippet shows below:

      Mar 04, 2026 4:50:33 AM jdk.internal.net.http.quic.QuicConnectionImpl$HandshakeFlow failHandshakeCFs
      INFO: ERROR: QuicServerConnection(1) QUIC handshake failed: java.io.IOException: Connection closed by client peer: APPLICATION_ERROR
      Mar 04, 2026 4:50:33 AM jdk.internal.net.http.quic.QuicConnectionImpl$HandshakeFlow failHandshakeCFs
      INFO: ERROR: java.io.IOException: Connection closed by client peer: APPLICATION_ERROR
      java.io.IOException: Connection closed by client peer: APPLICATION_ERROR
      at java.net.http/jdk.internal.net.http.quic.TerminationCause.toReportedCause(TerminationCause.java:129)
      at java.net.http/jdk.internal.net.http.quic.TerminationCause.<init>(TerminationCause.java:56)
      at java.net.http/jdk.internal.net.http.quic.TerminationCause$TransportError.<init>(TerminationCause.java:158)
      at java.net.http/jdk.internal.net.http.quic.TerminationCause.forTransportError(TerminationCause.java:92)
      at java.net.http/jdk.internal.net.http.quic.ConnectionTerminatorImpl.drain(ConnectionTerminatorImpl.java:295)
      at java.net.http/jdk.internal.net.http.quic.ConnectionTerminatorImpl.incomingConnectionCloseFrame(ConnectionTerminatorImpl.java:142)
      at java.net.http/jdk.internal.net.http.quic.QuicConnectionImpl.incomingInitialFrame(QuicConnectionImpl.java:3824)
      at java.net.http/jdk.internal.net.http.quic.QuicConnectionImpl.processInitialPacketPayload(QuicConnectionImpl.java:2354)
      at jdk.httpclient.test.lib.quic.QuicServerConnection.processInitialPacket(QuicServerConnection.java:267)
      at java.net.http/jdk.internal.net.http.quic.QuicConnectionImpl.processDecrypted(QuicConnectionImpl.java:2008)
      at java.net.http/jdk.internal.net.http.quic.QuicConnectionImpl.decrypt(QuicConnectionImpl.java:770)
      at java.net.http/jdk.internal.net.http.quic.QuicConnectionImpl.internalProcessIncoming(QuicConnectionImpl.java:1941)
      at java.net.http/jdk.internal.net.http.quic.QuicConnectionImpl.incoming(QuicConnectionImpl.java:730)
      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:1090)
      at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
      at java.base/java.lang.Thread.run(Thread.java:1527)


      [04:50:37.169] ABORTED AggregateRequestBodyTest::testUnknownContentLength '[7] null random element, [one, two, three, null, five]' [2ms]
      DEBUG: [Thread(QuicSelector(HttpClientImpl(5)))] [59s 347ms] QuicSelector(HttpClientImpl(5)) QuicTimerQueue: newDeadline: due in 39765ms for jdk.internal.net.http.quic.QuicEndpoint$ClosingConnection@740425a
      DEBUG: [Thread(QuicSelector(h3-server-1))] [59s 347ms] QuicSelector(h3-server-1) QuicTimerQueue: newDeadline: due in 2078ms for jdk.internal.net.http.quic.QuicEndpoint$DrainingConnection@6e9351dc
      DEBUG: [Thread(QuicSelector(HttpClientImpl(5)))] [59s 348ms] QuicSelector(HttpClientImpl(5)) wait(1500) wakeups:7 (+0), waited: 1500
      DEBUG: [Thread(QuicSelector(h3-server-1))] [59s 348ms] QuicSelector(h3-server-1) wait(1500) wakeups:5 (+0), waited: 1500
      java.net.ConnectException: Connection refused
      at java.net.http/jdk.internal.net.http.HttpClientImpl.send(HttpClientImpl.java:1044)
      at java.net.http/jdk.internal.net.http.HttpClientFacade.send(HttpClientFacade.java:133)
      at AggregateRequestBodyTest.test(AggregateRequestBodyTest.java:835)
      at java.base/java.lang.reflect.Method.invoke(Method.java:565)
      at java.base/java.util.Optional.ifPresent(Optional.java:182)
      at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:186)
      at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:214)
      at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:186)
      at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:186)
      at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:214)
      at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:1024)
      at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:803)
      at java.base/java.util.stream.ReferencePipeline$7$1FlatMap.accept(ReferencePipeline.java:293)
      at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:214)
      at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:214)
      at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:214)
      at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:1024)
      at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570)
      at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560)
      at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:153)
      at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:176)
      at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265)
      at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:632)
      at java.base/java.util.stream.ReferencePipeline$7$1FlatMap.accept(ReferencePipeline.java:293)
      at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1724)
      at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570)
      at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560)
      at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:153)
      at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:176)
      at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265)
      at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:632)
      at java.base/java.util.stream.ReferencePipeline$7$1FlatMap.accept(ReferencePipeline.java:293)
      at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:214)
      at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:214)
      at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:214)
      at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1724)
      at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570)
      at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560)
      at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:153)
      at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:176)
      at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265)
      at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:632)
      at java.base/java.util.ArrayList.forEach(ArrayList.java:1612)
      at java.base/java.util.ArrayList.forEach(ArrayList.java:1612)
      Caused by: java.net.ConnectException: Connection refused
      at java.base/sun.nio.ch.Net.pollConnect(Native Method)
      at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:642)
      at java.base/sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:1043)
      at java.net.http/jdk.internal.net.http.PlainHttpConnection$ConnectEvent.handle(PlainHttpConnection.java:134)
      at java.net.http/jdk.internal.net.http.HttpClientImpl$SelectorManager.handleEvent(HttpClientImpl.java:1610)
      at java.net.http/jdk.internal.net.http.HttpClientImpl$SelectorManager.lambda$run$3(HttpClientImpl.java:1555)
      at java.base/java.util.ArrayList.forEach(ArrayList.java:1612)
      at java.net.http/jdk.internal.net.http.HttpClientImpl$SelectorManager.run(HttpClientImpl.java:1555)
      at java.base/java.lang.VirtualThread.run(VirtualThread.java:470)
      java.lang.NullPointerException: Cannot invoke "java.net.http.HttpClient.close()" because "AggregateRequestBodyTest.sharedClient" is null
      at AggregateRequestBodyTest.teardown(AggregateRequestBodyTest.java:889)
      at java.base/java.lang.reflect.Method.invoke(Method.java:565)
      at java.base/java.util.ArrayList.forEach(ArrayList.java:1612)
      at java.base/java.util.Collections$UnmodifiableCollection.forEach(Collections.java:1120)
      at java.base/java.util.ArrayList.forEach(ArrayList.java:1612)
      JavaTest Message: JUnit Platform Failure(s): 2

            Assignee:
            Daniel Fuchs
            Reporter:
            Sendao Yan
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: