servicetalk
servicetalk copied to clipboard
Flaky Test: ConnectionCloseHeaderHandlingTest
https://github.com/apple/servicetalk/runs/4017719358
ConnectionCloseHeaderHandlingTest$PipelinedRequestsTest.3: useUds=false, viaProxy=true, awaitRequestPayload=false
java.util.concurrent.ExecutionException: io.servicetalk.transport.netty.internal.CloseHandler$CloseEventObservedException: PROTOCOL_CLOSING_INBOUND(The application protocol closed the read side of this connection. This maybe the result of sending an HTTP header such as Connection: close.) [id: 0xe60bfed2, L:/127.0.0.1:45560 ! R:127.0.0.1/127.0.0.1:39923]
at io.servicetalk.concurrent.api.SourceToFuture.reportGet(SourceToFuture.java:121)
at io.servicetalk.concurrent.api.SourceToFuture.get(SourceToFuture.java:92)
at io.servicetalk.http.netty.ConnectionCloseHeaderHandlingTest$ConnectionSetup.assertResponsePayloadBody(ConnectionCloseHeaderHandlingTest.java:251)
at io.servicetalk.http.netty.ConnectionCloseHeaderHandlingTest$PipelinedRequestsTest.serverCloseTwoPipelinedRequestsSentBeforeFirstResponse(ConnectionCloseHeaderHandlingTest.java:371)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
...
Caused by: io.servicetalk.transport.netty.internal.CloseHandler$CloseEventObservedException: PROTOCOL_CLOSING_INBOUND(The application protocol closed the read side of this connection. This maybe the result of sending an HTTP header such as Connection: close.) [id: 0xe60bfed2, L:/127.0.0.1:45560 ! R:127.0.0.1/127.0.0.1:39923]
Caused by: io.servicetalk.transport.netty.internal.StacklessClosedChannelException
at io.servicetalk.transport.netty.internal.DefaultNettyConnection.userEventTriggered(ChannelInputShutdownReadComplete)(Unknown Source)
https://github.com/apple/servicetalk/pull/2000/checks?check_run_id=4453922696
ConnectionCloseHeaderHandlingTest$PipelinedRequestsTest.4: useUds=false, viaProxy=true, awaitRequestPayload=true
java.util.concurrent.ExecutionException: io.servicetalk.transport.netty.internal.CloseHandler$CloseEventObservedException: PROTOCOL_CLOSING_OUTBOUND(The application protocol closed the write side of this connection. This maybe the result of sending an HTTP header such as Connection: close.) [id: 0x2d583427, L:/127.0.0.1:43114 - R:127.0.0.1/127.0.0.1:38253]
java.util.concurrent.ExecutionException: io.servicetalk.transport.netty.internal.CloseHandler$CloseEventObservedException: PROTOCOL_CLOSING_OUTBOUND(The application protocol closed the write side of this connection. This maybe the result of sending an HTTP header such as Connection: close.) [id: 0x2d583427, L:/127.0.0.1:43114 - R:127.0.0.1/127.0.0.1:38253]
at io.servicetalk.concurrent.api.SourceToFuture.reportGet(SourceToFuture.java:121)
at io.servicetalk.concurrent.api.SourceToFuture.get(SourceToFuture.java:92)
at io.servicetalk.http.netty.ConnectionCloseHeaderHandlingTest$ConnectionSetup.assertResponsePayloadBody(ConnectionCloseHeaderHandlingTest.java:251)
at io.servicetalk.http.netty.ConnectionCloseHeaderHandlingTest$PipelinedRequestsTest.clientCloseTwoPipelinedRequestsSentFirstInitiatesClosure(ConnectionCloseHeaderHandlingTest.java:452)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:725)
at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
at org.junit.jupiter.engine.extension.TimeoutInvocation.proceed(TimeoutInvocation.java:46)
at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149)
at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140)
at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestTemplateMethod(TimeoutExtension.java:92)
at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115)
at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105)
at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)
at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)
at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)
at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104)
at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:214)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:210)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:135)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:66)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.submit(ForkJoinPoolHierarchicalTestExecutorService.java:118)
at org.junit.platform.engine.support.hierarchical.NodeTestTask$DefaultDynamicTestExecutor.execute(NodeTestTask.java:226)
at org.junit.platform.engine.support.hierarchical.NodeTestTask$DefaultDynamicTestExecutor.execute(NodeTestTask.java:204)
at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:139)
at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.lambda$execute$2(TestTemplateTestDescriptor.java:107)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:647)
at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:272)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:485)
at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:272)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1384)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:485)
at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:272)
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1384)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:485)
at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:107)
at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:42)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.executeNonConcurrentTasks(ForkJoinPoolHierarchicalTestExecutorService.java:155)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:135)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.executeNonConcurrentTasks(ForkJoinPoolHierarchicalTestExecutorService.java:155)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:135)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.executeNonConcurrentTasks(ForkJoinPoolHierarchicalTestExecutorService.java:155)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:135)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185)
at java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:189)
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:175)
Caused by: io.servicetalk.transport.netty.internal.CloseHandler$CloseEventObservedException: PROTOCOL_CLOSING_OUTBOUND(The application protocol closed the write side of this connection. This maybe the result of sending an HTTP header such as Connection: close.) [id: 0x2d583427, L:/127.0.0.1:43114 - R:127.0.0.1/127.0.0.1:38253]
Caused by: io.netty.channel.unix.Errors$NativeIoException: readAddress(..) failed: Connection reset by peer
https://github.com/apple/servicetalk/pull/2015/checks?check_run_id=4514556479
ConnectionCloseHeaderHandlingTest$PipelinedRequestsTest.4: useUds=false, viaProxy=true, awaitRequestPayload=true
java.util.concurrent.ExecutionException: io.servicetalk.transport.netty.internal.CloseHandler$CloseEventObservedException: PROTOCOL_CLOSING_INBOUND(The application protocol closed the read side of this connection. This maybe the result of sending an HTTP header such as Connection: close.) [id: 0xada435da, L:/127.0.0.1:33570 - R:127.0.0.1/127.0.0.1:43627]
Raw output
https://github.com/apple/servicetalk/runs/4719693892?check_suite_focus=true
ConnectionCloseHeaderHandlingTest > PipelinedRequestsTest > clientCloseTwoPipelinedRequestsSentFirstInitiatesClosure(boolean, boolean, boolean) > io.servicetalk.http.netty.ConnectionCloseHeaderHandlingTest$PipelinedRequestsTest.clientCloseTwoPipelinedRequestsSentFirstInitiatesClosure(boolean, boolean, boolean)[4] FAILED
https://github.com/apple/servicetalk/pull/2050/checks?check_run_id=4796598740
ConnectionCloseHeaderHandlingTest$PipelinedRequestsTest.4: useUds=false, viaProxy=true, awaitRequestPayload=true
java.util.concurrent.ExecutionException: io.servicetalk.transport.netty.internal.CloseHandler$CloseEventObservedException: PROTOCOL_CLOSING_INBOUND(The application protocol closed the read side of this connection. This maybe the result of sending an HTTP header such as Connection: close.) [id: 0x0feca103, L:/127.0.0.1:45466 ! R:127.0.0.1/127.0.0.1:45899]
at io.servicetalk.concurrent.api.SourceToFuture.reportGet(SourceToFuture.java:121)
at io.servicetalk.concurrent.api.SourceToFuture.get(SourceToFuture.java:92)
at io.servicetalk.http.netty.ConnectionCloseHeaderHandlingTest$ConnectionSetup.assertResponsePayloadBody(ConnectionCloseHeaderHandlingTest.java:251)
at io.servicetalk.http.netty.ConnectionCloseHeaderHandlingTest$PipelinedRequestsTest.serverCloseTwoPipelinedRequestsSentBeforeFirstResponse(ConnectionCloseHeaderHandlingTest.java:371)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
...
Caused by: io.servicetalk.transport.netty.internal.CloseHandler$CloseEventObservedException: PROTOCOL_CLOSING_INBOUND(The application protocol closed the read side of this connection. This maybe the result of sending an HTTP header such as Connection: close.) [id: 0x0feca103, L:/127.0.0.1:45466 ! R:127.0.0.1/127.0.0.1:45899]
Caused by: io.servicetalk.transport.netty.internal.StacklessClosedChannelException
at io.servicetalk.transport.netty.internal.DefaultNettyConnection.userEventTriggered(ChannelInputShutdownReadComplete)(Unknown Source)
https://github.com/apple/servicetalk/pull/2059/checks?check_run_id=4889058015
ConnectionCloseHeaderHandlingTest$PipelinedRequestsTest.4: useUds=false, viaProxy=true, awaitRequestPayload=true
java.util.concurrent.ExecutionException: io.servicetalk.transport.netty.internal.CloseHandler$CloseEventObservedException: PROTOCOL_CLOSING_OUTBOUND(The application protocol closed the write side of this connection. This maybe the result of sending an HTTP header such as Connection: close.) [id: 0x6ee25c8c, L:/127.0.0.1:58356 - R:127.0.0.1/127.0.0.1:37967]
java.util.concurrent.ExecutionException: io.servicetalk.transport.netty.internal.CloseHandler$CloseEventObservedException: PROTOCOL_CLOSING_OUTBOUND(The application protocol closed the write side of this connection. This maybe the result of sending an HTTP header such as Connection: close.) [id: 0x6ee25c8c, L:/127.0.0.1:58356 - R:127.0.0.1/127.0.0.1:37967]
at io.servicetalk.concurrent.api.SourceToFuture.reportGet(SourceToFuture.java:121)
at io.servicetalk.concurrent.api.SourceToFuture.get(SourceToFuture.java:92)
at io.servicetalk.http.netty.ConnectionCloseHeaderHandlingTest$ConnectionSetup.assertResponsePayloadBody(ConnectionCloseHeaderHandlingTest.java:251)
at io.servicetalk.http.netty.ConnectionCloseHeaderHandlingTest$PipelinedRequestsTest.clientCloseTwoPipelinedRequestsSentFirstInitiatesClosure(ConnectionCloseHeaderHandlingTest.java:452)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
…
Caused by: io.servicetalk.transport.netty.internal.CloseHandler$CloseEventObservedException: PROTOCOL_CLOSING_OUTBOUND(The application protocol closed the write side of this connection. This maybe the result of sending an HTTP header such as Connection: close.) [id: 0x6ee25c8c, L:/127.0.0.1:58356 - R:127.0.0.1/127.0.0.1:37967]
Caused by: io.netty.channel.unix.Errors$NativeIoException: readAddress(..) failed: Connection reset by peer
https://github.com/apple/servicetalk/pull/2037/checks?check_run_id=5121085208
ConnectionCloseHeaderHandlingTest$PipelinedRequestsTest.3: useUds=false, viaProxy=true, awaitRequestPayload=false
java.util.concurrent.ExecutionException: io.servicetalk.transport.netty.internal.CloseHandler$CloseEventObservedException: PROTOCOL_CLOSING_INBOUND(The application protocol closed the read side of this connection. This maybe the result of sending an HTTP header such as Connection: close.) [id: 0x920fc2c1, L:/127.0.0.1:53798 - R:127.0.0.1/127.0.0.1:35429]
java.util.concurrent.ExecutionException: io.servicetalk.transport.netty.internal.CloseHandler$CloseEventObservedException: PROTOCOL_CLOSING_INBOUND(The application protocol closed the read side of this connection. This maybe the result of sending an HTTP header such as Connection: close.) [id: 0x920fc2c1, L:/127.0.0.1:53798 - R:127.0.0.1/127.0.0.1:35429]
at io.servicetalk.concurrent.api.SourceToFuture.reportGet(SourceToFuture.java:121)
at io.servicetalk.concurrent.api.SourceToFuture.get(SourceToFuture.java:92)
at io.servicetalk.http.netty.ConnectionCloseHeaderHandlingTest$ConnectionSetup.assertResponsePayloadBody(ConnectionCloseHeaderHandlingTest.java:251)
at io.servicetalk.http.netty.ConnectionCloseHeaderHandlingTest$PipelinedRequestsTest.serverCloseSecondPipelinedRequestWriteAborted(ConnectionCloseHeaderHandlingTest.java:405)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
...
Caused by: io.servicetalk.transport.netty.internal.CloseHandler$CloseEventObservedException: PROTOCOL_CLOSING_INBOUND(The application protocol closed the read side of this connection. This maybe the result of sending an HTTP header such as Connection: close.) [id: 0x920fc2c1, L:/127.0.0.1:53798 - R:127.0.0.1/127.0.0.1:35429]
Caused by: io.netty.channel.unix.Errors$NativeIoException: readAddress(..) failed: Connection reset by peer
https://github.com/apple/servicetalk/runs/5207931543?check_suite_focus=true
on snapshot build:
ConnectionCloseHeaderHandlingTest$PipelinedRequestsTest.3: useUds=false, viaProxy=true, awaitRequestPayload=false
java.util.concurrent.ExecutionException: io.servicetalk.transport.netty.internal.CloseHandler$CloseEventObservedException: PROTOCOL_CLOSING_INBOUND(The application protocol closed the read side of this connection. This maybe the result of sending an HTTP header such as Connection: close.) [id: 0x8918cabc, L:/127.0.0.1:42526 - R:127.0.0.1/127.0.0.1:36287]
at io.servicetalk.concurrent.api.SourceToFuture.reportGet(SourceToFuture.java:121)
at io.servicetalk.concurrent.api.SourceToFuture.get(SourceToFuture.java:92)
at io.servicetalk.http.netty.ConnectionCloseHeaderHandlingTest$ConnectionSetup.assertResponsePayloadBody(ConnectionCloseHeaderHandlingTest.java:251)
at io.servicetalk.http.netty.ConnectionCloseHeaderHandlingTest$PipelinedRequestsTest.serverCloseSecondPipelinedRequestWriteAborted(ConnectionCloseHeaderHandlingTest.java:405)
...
Caused by: io.servicetalk.transport.netty.internal.CloseHandler$CloseEventObservedException: PROTOCOL_CLOSING_INBOUND(The application protocol closed the read side of this connection. This maybe the result of sending an HTTP header such as Connection: close.) [id: 0x8918cabc, L:/127.0.0.1:42526 - R:127.0.0.1/127.0.0.1:36287]
Caused by: io.netty.channel.unix.Errors$NativeIoException: readAddress(..) failed: Connection reset by peer
ConnectionCloseHeaderHandlingTest$PipelinedRequestsTest.4: useUds=false, viaProxy=true, awaitRequestPayload=true
java.util.concurrent.ExecutionException: io.servicetalk.transport.netty.internal.CloseHandler$CloseEventObservedException: PROTOCOL_CLOSING_OUTBOUND(The application protocol closed the write side of this connection. This maybe the result of sending an HTTP header such as Connection: close.) [id: 0x6d36f538, L:/127.0.0.1:53976 - R:127.0.0.1/127.0.0.1:37059]
at io.servicetalk.concurrent.api.SourceToFuture.reportGet(SourceToFuture.java:121)
at io.servicetalk.concurrent.api.SourceToFuture.get(SourceToFuture.java:92)
at io.servicetalk.http.netty.ConnectionCloseHeaderHandlingTest$ConnectionSetup.assertResponsePayloadBody(ConnectionCloseHeaderHandlingTest.java:251)
at io.servicetalk.http.netty.ConnectionCloseHeaderHandlingTest$PipelinedRequestsTest.clientCloseTwoPipelinedRequestsSentFirstInitiatesClosure(ConnectionCloseHeaderHandlingTest.java:452)
Caused by: io.servicetalk.transport.netty.internal.CloseHandler$CloseEventObservedException: PROTOCOL_CLOSING_OUTBOUND(The application protocol closed the write side of this connection. This maybe the result of sending an HTTP header such as Connection: close.) [id: 0x6d36f538, L:/127.0.0.1:53976 - R:127.0.0.1/127.0.0.1:37059]
Caused by: io.netty.channel.unix.Errors$NativeIoException: readAddress(..) failed: Connection reset by peer
https://github.com/apple/servicetalk/runs/5546627377
ConnectionCloseHeaderHandlingTest$NonPipelinedRequestsTest.27: useUds=false, viaProxy=true, awaitRequestPayload=false, requestInitiatesClosure=true, noRequestContent=false, noResponseContent=true
java.lang.AssertionError:
Expected: "0"
but: was "15"
at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:20)
at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:6)
at io.servicetalk.http.netty.ConnectionCloseHeaderHandlingTest$NonPipelinedRequestsTest.testConnectionClosure(ConnectionCloseHeaderHandlingTest.java:322)
https://github.com/apple/servicetalk/runs/6014945862?check_suite_focus=true
ConnectionCloseHeaderHandlingTest > NonPipelinedRequestsTest > testConnectionClosure(boolean, boolean, boolean, boolean, boolean, boolean) > io.servicetalk.http.netty.ConnectionCloseHeaderHandlingTest$NonPipelinedRequestsTest.testConnectionClosure(boolean, boolean, boolean, boolean, boolean, boolean)[28] FAILED
java.util.concurrent.ExecutionException: io.servicetalk.transport.netty.internal.CloseHandler$CloseEventObservedException: PROTOCOL_CLOSING_OUTBOUND(The application protocol closed the write side of this connection. This maybe the result of sending an HTTP header such as Connection: close.) [id: 0xc7026128, L:/127.0.0.1:48366 - R:127.0.0.1/127.0.0.1:39247]
at io.servicetalk.concurrent.api.SourceToFuture.reportGet(SourceToFuture.java:121)
at io.servicetalk.concurrent.api.SourceToFuture.get(SourceToFuture.java:92)
at io.servicetalk.http.netty.ConnectionCloseHeaderHandlingTest$ConnectionSetup.assertResponsePayloadBody(ConnectionCloseHeaderHandlingTest.java:248)
at io.servicetalk.http.netty.ConnectionCloseHeaderHandlingTest$NonPipelinedRequestsTest.testConnectionClosure(ConnectionCloseHeaderHandlingTest.java:319)
Caused by:
io.servicetalk.transport.netty.internal.CloseHandler$CloseEventObservedException: PROTOCOL_CLOSING_OUTBOUND(The application protocol closed the write side of this connection. This maybe the result of sending an HTTP header such as Connection: close.) [id: 0xc7026128, L:/127.0.0.1:48366 - R:127.0.0.1/127.0.0.1:39247]
Caused by:
io.netty.channel.unix.Errors$NativeIoException: readAddress(..) failed: Connection reset by peer
https://github.com/apple/servicetalk/pull/2166/checks?check_run_id=6042825262
ConnectionCloseHeaderHandlingTest$PipelinedRequestsTest.4: useUds=false, viaProxy=true, awaitRequestPayload=true
java.util.concurrent.ExecutionException: io.servicetalk.transport.netty.internal.CloseHandler$CloseEventObservedException: PROTOCOL_CLOSING_OUTBOUND(The application protocol closed the write side of this connection. This maybe the result of sending an HTTP header such as Connection: close.) [id: 0xd92ebdb6, L:/127.0.0.1:36204 - R:127.0.0.1/127.0.0.1:39121]
java.util.concurrent.ExecutionException: io.servicetalk.transport.netty.internal.CloseHandler$CloseEventObservedException: PROTOCOL_CLOSING_OUTBOUND(The application protocol closed the write side of this connection. This maybe the result of sending an HTTP header such as Connection: close.) [id: 0xd92ebdb6, L:/127.0.0.1:36204 - R:127.0.0.1/127.0.0.1:39121]
at io.servicetalk.concurrent.api.SourceToFuture.reportGet(SourceToFuture.java:121)
at io.servicetalk.concurrent.api.SourceToFuture.get(SourceToFuture.java:94)
at io.servicetalk.http.netty.ConnectionCloseHeaderHandlingTest$ConnectionSetup.assertResponsePayloadBody(ConnectionCloseHeaderHandlingTest.java:248)
at io.servicetalk.http.netty.ConnectionCloseHeaderHandlingTest$PipelinedRequestsTest.clientCloseTwoPipelinedRequestsSentSecondInitiatesClosure(ConnectionCloseHeaderHandlingTest.java:479)
…
Caused by: io.servicetalk.transport.netty.internal.CloseHandler$CloseEventObservedException: PROTOCOL_CLOSING_OUTBOUND(The application protocol closed the write side of this connection. This maybe the result of sending an HTTP header such as Connection: close.) [id: 0xd92ebdb6, L:/127.0.0.1:36204 - R:127.0.0.1/127.0.0.1:39121]
Caused by: io.netty.channel.unix.Errors$NativeIoException: readAddress(..) failed: Connection reset by peer
snapshot build https://github.com/apple/servicetalk/runs/6330132708
ConnectionCloseHeaderHandlingTest$PipelinedRequestsTest.4: useUds=false, viaProxy=true, awaitRequestPayload=true
java.util.concurrent.ExecutionException: io.servicetalk.transport.netty.internal.CloseHandler$CloseEventObservedException: PROTOCOL_CLOSING_INBOUND(The application protocol closed the read side of this connection. This maybe the result of sending an HTTP header such as Connection: close.) [id: 0xb30d5393, L:/127.0.0.1:38054 - R:127.0.0.1/127.0.0.1:41383]
at io.servicetalk.concurrent.api.SourceToFuture.reportGet(SourceToFuture.java:121)
at io.servicetalk.concurrent.api.SourceToFuture.get(SourceToFuture.java:92)
at io.servicetalk.http.netty.ConnectionCloseHeaderHandlingTest$ConnectionSetup.assertResponsePayloadBody(ConnectionCloseHeaderHandlingTest.java:248)
at io.servicetalk.http.netty.ConnectionCloseHeaderHandlingTest$PipelinedRequestsTest.serverCloseTwoPipelinedRequestsInSequence(ConnectionCloseHeaderHandlingTest.java:425)
Caused by: io.servicetalk.transport.netty.internal.CloseHandler$CloseEventObservedException: PROTOCOL_CLOSING_INBOUND(The application protocol closed the read side of this connection. This maybe the result of sending an HTTP header such as Connection: close.) [id: 0xb30d5393, L:/127.0.0.1:38054 - R:127.0.0.1/127.0.0.1:41383]
Caused by: io.netty.channel.unix.Errors$NativeIoException: readAddress(..) failed: Connection reset by peer
https://github.com/apple/servicetalk/pull/2241/checks?check_run_id=6782920058
ConnectionCloseHeaderHandlingTest$NonPipelinedRequestsTest.26: useUds=false, viaProxy=true, awaitRequestPayload=false, requestInitiatesClosure=true, noRequestContent=true, noResponseContent=false
java.util.concurrent.ExecutionException: io.servicetalk.transport.netty.internal.CloseHandler$CloseEventObservedException: PROTOCOL_CLOSING_OUTBOUND(The application protocol closed the write side of this connection. This maybe the result of sending an HTTP header such as Connection: close.) [id: 0x7151d3cd, L:/127.0.0.1:58796 - R:127.0.0.1/127.0.0.1:35507]
java.util.concurrent.ExecutionException: io.servicetalk.transport.netty.internal.CloseHandler$CloseEventObservedException: PROTOCOL_CLOSING_OUTBOUND(The application protocol closed the write side of this connection. This maybe the result of sending an HTTP header such as Connection: close.) [id: 0x7151d3cd, L:/127.0.0.1:58796 - R:127.0.0.1/127.0.0.1:35507]
at io.servicetalk.concurrent.api.SourceToFuture.reportGet(SourceToFuture.java:121)
at io.servicetalk.concurrent.api.SourceToFuture.get(SourceToFuture.java:92)
at io.servicetalk.http.netty.ConnectionCloseHeaderHandlingTest$ConnectionSetup.assertResponsePayloadBody(ConnectionCloseHeaderHandlingTest.java:248)
at io.servicetalk.http.netty.ConnectionCloseHeaderHandlingTest$NonPipelinedRequestsTest.testConnectionClosure(ConnectionCloseHeaderHandlingTest.java:319)
at sun.reflect.GeneratedMethodAccessor42.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:725)
at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
at org.junit.jupiter.engine.extension.TimeoutInvocation.proceed(TimeoutInvocation.java:46)
https://github.com/apple/servicetalk/pull/2391/checks?check_run_id=8833884743
ConnectionCloseHeaderHandlingTest$PipelinedRequestsTest.4: useUds=false, viaProxy=true, awaitRequestPayload=true
java.util.concurrent.ExecutionException: io.servicetalk.transport.netty.internal.CloseHandler$CloseEventObservedException: PROTOCOL_CLOSING_INBOUND(The application protocol closed the read side of this connection. This maybe the result of sending an HTTP header such as Connection: close.) [id: 0x008b61af, L:/127.0.0.1:38552 ! R:127.0.0.1/127.0.0.1:33585]
at io.servicetalk.concurrent.api.SourceToFuture.reportGet(SourceToFuture.java:121)
at io.servicetalk.concurrent.api.SourceToFuture.get(SourceToFuture.java:92)
at io.servicetalk.http.netty.ConnectionCloseHeaderHandlingTest$ConnectionSetup.assertResponsePayloadBody(ConnectionCloseHeaderHandlingTest.java:248)
at io.servicetalk.http.netty.ConnectionCloseHeaderHandlingTest$PipelinedRequestsTest.serverCloseTwoPipelinedRequestsSentBeforeFirstResponse(ConnectionCloseHeaderHandlingTest.java:368)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
...
Caused by: io.servicetalk.transport.netty.internal.CloseHandler$CloseEventObservedException: PROTOCOL_CLOSING_INBOUND(The application protocol closed the read side of this connection. This maybe the result of sending an HTTP header such as Connection: close.) [id: 0x008b61af, L:/127.0.0.1:38552 ! R:127.0.0.1/127.0.0.1:33585]
Caused by: io.servicetalk.transport.netty.internal.StacklessClosedChannelException
at io.servicetalk.transport.netty.internal.DefaultNettyConnection.userEventTriggered(ChannelInputShutdownReadComplete)(Unknown Source)
This was not flaky for more than a year. Reopen if it happens again.