-
Notifications
You must be signed in to change notification settings - Fork 4.9k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Tests failures: System.Net.NameResolution.Tests / DnsObsolete* & Dns_GetHostEntry* #1488
Comments
[EDIT] Test failure included in history in top post. |
Updated test failure history in top post. |
Seen in dotnet/corefx#35267 Debian.8.Amd64.Open-x64-Release
|
Same test failed with similar exception: Failed test: Message:
Stack Trace :
Build: -20190617.81(Master)
|
Triage: We should know why DNS resolution does not work sometimes -- we know it is not cached on Linux/Mac, but why does it happen so often in CI? Is it network flakiness? Or busy machine? Plan: Add production diagnostics into DNS, then make runs with those changes to catch it. It will be useful also for production diagnostic by customers. |
no failure on Linux for 90 days. Some tests are still disabled on OSX and ARM64 (tracked by #27622). |
@wfurt do we have any tests disabled against this specific bug? If not, let's close it. |
We have four tests disabled at this moment for OSX and the same for ARM64 (tracked in #27622). I suspect most of the failures are not product bugs and are caused by test environment. cc: @dotnet/ncl in case somebody has a better suggestion. |
A bunch of NameResolution tests failed again (including the ones mentioned in this issue): https://dnceng.visualstudio.com/public/_build/results?buildId=525372&view=ms.vss-test-web.build-test-results-tab&runId=16621996&resultId=137716&paneView=debug |
Doing name resolution in a CI environment will always be flaky most likely.
Perhaps we should consider an approach being done here in #32501 and only run these tests on a less regular basis. I.e.: [Trait(XunitConstants.Category, XunitConstants.IgnoreForCI)] // DNS is flaky FWIW, Our DNS APIs have been relatively stable from a product perspective and don't see a lot of risk running these tests less often. |
We should work towards stabilizing core services (like DNS) in CI. |
What about leveraging the |
Do we understand whether the problem is intermittent (i.e. retrying tests will help) or due to a mis-configuration of some kind in CI (which retrying tests will not help). |
I assumed it's intermittent but how would we find that out? |
Let's add some RetryHelper logic to some of the tests. Then run it in CI. If we see a significant improvement in test reliability, then we will know that the problem is intermittent. |
Tests were disabled on SLES with #48759. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This is a set of changes required to enable control flow guard enforcement within the process. Control flow guard is a security mitigation feature that validates that indirect calls only land on addresses that are valid targets of indirect calls. It has two parts: identifying valid targets of indirect calls within the process, and checking whether target of indirect call is valid before dispatching to it. This implements annotations and enforcement within the unmanaged parts of the NativeAOT runtime and the annotation-only part for the managed code. Enforcement will follow later. Three kinds of changes: * A new version of Runtime.lib that enables `/guard:cf` flag. This is in addition to the existing libraries since we don't want code to pay the perf penalty if CFG is not enabled. * Annotating methods as valid CFG targets in the AOT compiler and object file writer. * MSBuild support for new `<ControlFlowGuard>Guard</ControlFlowGuard>` property that enables all of this (passes a switch to the AOT compiler, selects the guarded version of runtime libraries to link with, and passes a switch to link.exe to enable CFG for the process).
Type of failures
Affected tests:
System.Net.NameResolution.Tests.GetHostByNameTest
(both always fail together)DnsObsoleteGetHostByName_EmptyString_ReturnsHostName
DnsObsoleteBeginEndGetHostByName_EmptyString_ReturnsHostName
System.Net.NameResolution.Tests.GetHostEntryTest
(both always fail together)Dns_GetHostEntry_HostString_Ok
Dns_GetHostEntryAsync_HostString_Ok
Failure text:
Note:
Dns_GetHostEntryAsync_HostString_Ok
fails almost always with same error twice, wrapped inSystem.AggregateException
.Older failure on OSX (prior to 2017/9/15)
History of failures
Each test couple always fails or passes - maybe bad machine setup?
Similar failures to dotnet/corefx#20245, but at different times (probably runs on different worker machine).
Runfo Tracking Issue: dnsobsoletegethostbyname_emptystring_returnshostname
Build Result Summary
The text was updated successfully, but these errors were encountered: