Retry `Microsoft.AspNetCore.Server.Kestrel.Core.Tests.Http2ConnectionTests.AbortSendsFinalGOAWAY`
- Dominant language
- C#
- Stars
- 38.4k
- Forks
- 10.9k
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 281
Description
## Failing Test(s)
- `Microsoft.AspNetCore.Server.Kestrel.Core.Tests.Http2ConnectionTests.AbortSendsFinalGOAWAY`
## Error Message
```text
Microsoft.AspNetCore.Server.Kestrel.Core.Tests.Http2ConnectionTests.AbortSendsFinalGOAWAY [FAIL]
Assert.True() Failure
Expected: True
Actual: False
```
## Stacktrace
```text
Stack Trace:
/_/src/Servers/Kestrel/test/InMemory.FunctionalTests/Http2/Http2TestBase.cs(1240,0): at Microsoft.AspNetCore.Server.Kestrel.Core.Tests.Http2TestBase.ReceiveFrameAsync(UInt32 maxFrameSize)
/_/src/Servers/Kestrel/test/InMemory.FunctionalTests/Http2/Http2ConnectionTests.cs(5128,0): at Microsoft.AspNetCore.Server.Kestrel.Core.Tests.Http2ConnectionTests.AbortSendsFinalGOAWAY()
--- End of stack trace from previous location ---
```
## Logs
```text
Output:
| [0.002s] TestLifetime Information: Starting test AbortSendsFinalGOAWAY at 2024-12-06T13:44:20
| [0.007s] Microsoft.AspNetCore.Server.Kestrel.Http2 Trace: Connection id "TestConnectionId" sending SETTINGS frame for stream ID 0 with length 24 and flags NONE.
| [0.007s] Microsoft.AspNetCore.Server.Kestrel.Http2 Trace: Connection id "TestConnectionId" sending WINDOW_UPDATE frame for stream ID 0 with length 4 and flags 0x0.
| [0.008s] Microsoft.AspNetCore.Server.Kestrel.Http2 Trace: Connection id "TestConnectionId" received SETTINGS frame for stream ID 0 with length 6 and flags NONE.
| [0.008s] Microsoft.AspNetCore.Server.Kestrel.Http2 Trace: Connection id "TestConnectionId" sending SETTINGS frame for stream ID 0 with length 0 and flags ACK.
| [0.009s] Microsoft.AspNetCore.Server.Kestrel.Http2 Debug: Connection id "TestConnectionId" is closed. The last processed stream ID was 0.
| [0.010s] Microsoft.AspNetCore.Server.Kestrel.Http2 Debug: The connection queue processing loop for TestConnectionId completed.
| [0.011s] Microsoft.AspNetCore.Server.Kestrel.Core.Tests.Http2ConnectionTests Information: ConnectionContext.Abort() was called. Completing _pair.Application.Output.
| Microsoft.AspNetCore.Connections.ConnectionAbortedException: The connection was aborted
| [0.018s] Microsoft.AspNetCore.Server.Kestrel.Core.Tests.Http2ConnectionTests Error: Test threw an exception.
| Xunit.Sdk.TrueException: Assert.True() Failure
| Expected: True
| Actual: False
| at Xunit.Assert.True(Nullable`1 condition, String userMessage) in /_/src/xunit.assert/Asserts/BooleanAsserts.cs:line 141
| at Xunit.Assert.True(Boolean condition) in /_/src/xunit.assert/Asserts/BooleanAsserts.cs:line 95
| at Microsoft.AspNetCore.Server.Kestrel.Core.Tests.Http2TestBase.ReceiveFrameAsync(UInt32 maxFrameSize) in /_/src/Servers/Kestrel/test/InMemory.FunctionalTests/Http2/Http2TestBase.cs:line 1240
| at Microsoft.AspNetCore.Server.Kestrel.Core.Tests.Http2ConnectionTests.AbortSendsFinalGOAWAY() in /_/src/Servers/Kestrel/test/InMemory.FunctionalTests/Http2/Http2ConnectionTests.cs:line 5128
| at Xunit.Sdk.TestInvoker`1.<>c__DisplayClass47_0.<b__1>d.MoveNext() in /_/src/xunit.execution/Sdk/Frameworks/Runners/TestInvoker.cs:line 259
| --- End of stack trace from previous location ---
| at Xunit.Sdk.ExecutionTimer.AggregateAsync(Func`1 asyncAction) in /_/src/xunit.execution/Sdk/Frameworks/ExecutionTimer.cs:line 48
| at Xunit.Sdk.ExceptionAggregator.RunAsync(Func`1 code) in /_/src/xunit.core/Sdk/ExceptionAggregator.cs:line 90
| [0.029s] TestLifetime Information: Finished test AbortSendsFinalGOAWAY in 0.0260534s
```
## Build
[Failing build](https://dev.azure.com/dnceng-public/public/_build/results?buildId=888109&view=logs&j=8c9dd6ae-5017-5a70-997c-c2386fed4e85&t=e6acbd31-8469-5d42-602d-cb75e71f3b60).
Contributor guide
Research direction
Start with Microsoft.AspNetCore.Server.Kestrel.Core.Tests.Http2ConnectionTests.AbortSendsFinalGOAWAY at Http2ConnectionTests.cs:5128 and run it repeatedly. Read Http2TestBase.ReceiveFrameAsync at Http2TestBase.cs:1240 alongside the attached logs to determine why the expected frame is not received. Done means the test passes reliably.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- networking, testing
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100