connection Abort + Dispose crashes process
- Dominant language
- C#
- Stars
- 38.4k
- Forks
- 10.9k
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 281
Description
### Is there an existing issue for this?
- [X] I have searched the existing issues
### Describe the bug
I implemented A custom protocol and when I try to close an incoming connection my process crashes
### Expected Behavior
Im able to close a connection.
### Steps To Reproduce
```csharp
[TestMethod]
public async Task TestCancelConnection()
{
var connection = new DefaultConnectionContext();
connection.Abort();
await connection.DisposeAsync();
await Task.Delay(TimeSpan.FromSeconds(1));
}
```
https://github.com/dotnet/aspnetcore/blob/6dc454f9079ff8d4b268b7e307dd14a05917e903/src/Servers/Connections.Abstractions/src/DefaultConnectionContext.cs#L101
looks like this should have a catch or something that does not blow up if the connection is disposed
### Exceptions (if any)
The active test run was aborted. Reason: Test host process crashed : Unhandled exception. System.ObjectDisposedException: The CancellationTokenSource has been disposed.
at System.Threading.CancellationTokenSource.Cancel()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()
### .NET Version
8.0.6
### Anything else?
_No response_
Contributor guide
Assessment
This issue has not been assessed yet.