dotnet / dotnet/aspnetcore

Quarantine ShutdownTests.ConfigurationChangeForcesChildProcessRestart

Open
#68,150 1 comment 0 reactions 0 assignees View on GitHub
area-networking test-failure
Dominant language
C#
Stars
38.4k
Forks
10.9k
Avg merge
2d 6h
Merged PRs (30d)
290

Description

## Failing Test(s)

`Microsoft.AspNetCore.Server.IIS.NewShim.FunctionalTests.ShutdownTests.ConfigurationChangeForcesChildProcessRestart`

## Failure Frequency

Failed 2 times over the past 30 days.

## Error Message

```text
System.Net.Http.HttpRequestException: Error while copying content to a stream.
---> System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host..
---> System.Net.Sockets.SocketException (10054): An existing connection was forcibly closed by the remote host.
```

## Stacktrace

Stack trace

```text
System.Net.Http.HttpRequestException: Error while copying content to a stream.
---> System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host..
---> System.Net.Sockets.SocketException (10054): An existing connection was forcibly closed by the remote host.
at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.CreateException(SocketError error, Boolean forAsyncThrow)
at System.Net.Http.HttpConnection.FillAsync(Boolean async)
at System.Net.Http.HttpConnection.ChunkedEncodingReadStream.CopyToAsyncCore(Stream destination, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionResponseContent.g__Impl|6_0(Stream stream, CancellationToken cancellationToken)
at System.Net.Http.HttpContent.LoadIntoBufferAsync(Int64 maxBufferSize, CancellationToken cancellationToken)
at Microsoft.AspNetCore.Server.IntegrationTesting.IIS.LoggingHandler.LogResponse(LogLevel logLevel, HttpResponseMessage response) in /_/src/Servers/IIS/IntegrationTesting.IIS/src/LoggingHandler.cs:line 37
at Microsoft.AspNetCore.Server.IntegrationTesting.IIS.LoggingHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
...
at Microsoft.AspNetCore.Server.IIS.FunctionalTests.Helpers.RetryRequestAsync(HttpClient client, String uri, Func`2 predicate) in /_/src/Servers/IIS/IIS/test/Common.FunctionalTests/Infrastructure/Helpers.cs:line 112
at Microsoft.AspNetCore.Server.IIS.NewShim.FunctionalTests.ShutdownTests.ConfigurationChangeForcesChildProcessRestart() in /_/src/Servers/IIS/IIS/test/Common.LongTests/ShutdownTests.cs:line 475
```

## Logs

Test log excerpt

```text
[2.512s] [Microsoft.AspNetCore.Server.IIS.NewShim.FunctionalTests.ShutdownTests] [Error] Test threw an exception.
System.Net.Http.HttpRequestException: Error while copying content to a stream.
---> System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host..
---> System.Net.Sockets.SocketException (10054): An existing connection was forcibly closed by the remote host.
at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.CreateException(SocketError error, Boolean forAsyncThrow)
at System.Net.Http.HttpConnection.FillAsync(Boolean async)
at System.Net.Http.HttpConnection.ChunkedEncodingReadStream.CopyToAsyncCore(Stream destination, CancellationToken cancellationToken)
...
[2.530s] [Microsoft.AspNetCore.Server.IntegrationTesting.IIS.IISDeployer] [Information] Stopping site, state: Stopped
```

## Build

https://dev.azure.com/dnceng-public/public/_build/results?buildId=1533151&view=results

> Generated by [Daily Test Quarantine Management](https://github.com/dotnet/aspnetcore/actions/runs/30695956287) · sonnet46 · 667 AIC · ⌖ 9.69 AIC · ⊞ 3.3K · [◷](https://github.com/search?q=repo%3Adotnet%2Faspnetcore+is%3Aissue+%22gh-aw-workflow-call-id%3A+dotnet%2Faspnetcore%2Ftest-quarantine%22&type=issues)

Contributor guide

Open the contributing guide

Research direction

Start with ShutdownTests.cs at line 475 and follow RetryRequestAsync in Helpers.cs at line 112. Inspect LoggingHandler.cs at line 37 and the linked build logs to understand where the connection closes during the configuration-change restart. Done means the named test passes reliably without the reported transport error.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
testing
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.