-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[release/6.0] Fix DNS cancellation deadlock #67291
Conversation
Tagging subscribers to this area: @dotnet/ncl Issue DetailsBackport of #63904 to release/6.0 /cc @rzikm @antonfirsov Customer ImpactTestingRiskIMPORTANT: If this change touches code that ships in a NuGet package, please make certain that you have added any necessary package authoring and gotten it explicitly reviewed.
|
Windows CI failures are |
@CarnaViire isn't this similar to your recent struggles with 6.0 branch? |
Yes. The tracking issue is #67048 |
This doesn't need packaging work, right? |
Fortunately not, it's BCL System.Net.NameResolution. |
This got approved for 6.0 conditional on (if possible) the original customer validating (at least on 7.0) @MartyIX did you get a chance to try a 7.0 build to verify that it seems to fix it for you. |
Looking at https://github.com/dotnet/runtime/releases and 7.0 preview 2 was released 22 days ago and the original bugfix being merged 16 days ago, I don't think there is a public release for me to test. Or is there a way to download something like "the latest dotnet/runtime binary/build for Windows" without me having to compile everything? |
You can download latest builds from https://github.com/dotnet/installer#table |
@danmoseley So I have run a few times the repro program on .NET 6 and .NET 7 (thanks @rzikm) and it appears to be fixed in .NET 7 as it finishes as expected. I don't observe any deadlock or "unnecessary" delay. Thank you
{
"sdk": {
"version": "7.0.0-preview.3.22175.4",
"rollForward": "latestFeature"
}
} |
Thanks for confirming @MartyIX . This will be merged next week for the May servicing release. |
Fixes #63552
Backport of #63904 to release/6.0
/cc @rzikm @antonfirsov
Customer Impact
Customer reported hang calling Dns.GetHostAddressesAsync. This is because when cancellation kicks in during DNS call, it can lead to deadlock.
Testing
Tested on locally built runtime bits from this branch and running the repro app from the original issue.
Risk
Low -- Removal of a lock which was not necessary in the first place, see original PR. Change has been in main for over 2 months.