From b2cdbc7bad939c1448ba0544829416f1d1c534ea Mon Sep 17 00:00:00 2001 From: Andrew Casey Date: Wed, 21 Aug 2024 17:18:19 -0700 Subject: [PATCH 1/2] Unquarantine RST_STREAM_IncompleteRequest_AdditionalWindowUpdateFrame_ConnectionAborted There was a race between early-sending the response headers and sending the goaway for the aborted connection. Fixes #53744 --- .../InMemory.FunctionalTests/Http2/Http2ConnectionTests.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Servers/Kestrel/test/InMemory.FunctionalTests/Http2/Http2ConnectionTests.cs b/src/Servers/Kestrel/test/InMemory.FunctionalTests/Http2/Http2ConnectionTests.cs index d858d0dcfd28..604d56056fac 100644 --- a/src/Servers/Kestrel/test/InMemory.FunctionalTests/Http2/Http2ConnectionTests.cs +++ b/src/Servers/Kestrel/test/InMemory.FunctionalTests/Http2/Http2ConnectionTests.cs @@ -3584,7 +3584,6 @@ public async Task RST_STREAM_IncompleteRequest_AdditionalResetFrame_IgnoreAdditi AssertConnectionNoError(); } - [QuarantinedTest("https://github.com/dotnet/aspnetcore/issues/53744")] [Fact] public async Task RST_STREAM_IncompleteRequest_AdditionalWindowUpdateFrame_ConnectionAborted() { @@ -3602,10 +3601,11 @@ public async Task RST_STREAM_IncompleteRequest_AdditionalWindowUpdateFrame_Conne await SendDataAsync(1, new byte[1], endStream: false); await SendRstStreamAsync(1); await SendWindowUpdateAsync(1, 1024); - tcs.TrySetResult(); await WaitForConnectionErrorAsync(ignoreNonGoAwayFrames: false, expectedLastStreamId: 1, Http2ErrorCode.STREAM_CLOSED, CoreStrings.FormatHttp2ErrorStreamAborted(Http2FrameType.WINDOW_UPDATE, 1)); + + tcs.TrySetResult(); // Don't let the response start until after the abort } [Fact] From c85e78a86ac5ec2db52abb3454607b28f3582580 Mon Sep 17 00:00:00 2001 From: Andrew Casey Date: Thu, 22 Aug 2024 08:01:12 -0700 Subject: [PATCH 2/2] Keep test quarantined --- .../test/InMemory.FunctionalTests/Http2/Http2ConnectionTests.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Servers/Kestrel/test/InMemory.FunctionalTests/Http2/Http2ConnectionTests.cs b/src/Servers/Kestrel/test/InMemory.FunctionalTests/Http2/Http2ConnectionTests.cs index 604d56056fac..2c7598bb6c3f 100644 --- a/src/Servers/Kestrel/test/InMemory.FunctionalTests/Http2/Http2ConnectionTests.cs +++ b/src/Servers/Kestrel/test/InMemory.FunctionalTests/Http2/Http2ConnectionTests.cs @@ -3584,6 +3584,7 @@ public async Task RST_STREAM_IncompleteRequest_AdditionalResetFrame_IgnoreAdditi AssertConnectionNoError(); } + [QuarantinedTest("https://github.com/dotnet/aspnetcore/issues/53744")] [Fact] public async Task RST_STREAM_IncompleteRequest_AdditionalWindowUpdateFrame_ConnectionAborted() {