You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
System.Net.NameResolution.Tests DNS failures: Name or service not known #126641
{
"ErrorMessage": "",
"ErrorPattern": "System\\.Net\\.Sockets\\.SocketException : Name or service not known|System\\.Exception : Failed for empty hostname",
"BuildRetry": false,
"ExcludeConsoleLog": false
}
Known issue validation
Build: 🔎https://dev.azure.com/dnceng-public/public/_build/results?buildId=1368622 Error message validated:[System\.Net\.Sockets\.SocketException : Name or service not known|System\.Exception : Failed for empty hostname] Result validation: ✅ Known issue matched with the provided build. Validation performed at: 4/8/2026 12:37:43 PM UTC
Analysis
What's happening
The test calls Dns.GetHostEntry("") which:
1. Gets the local hostname via Dns.GetHostName() → returns a00BOMC (the
Helix machine name)
2. Tries to resolve a00BOMC via DNS → "Name or service not known"
The test's diagnostic output reveals the root cause:
Dns.GetHostName() == a00BOMC
/etc/hosts ==
::1 localhost localhost.localdomain ipv6-localhost ipv6-loopback
The machine's /etc/hosts file only has the localhost entry. The hostname
a00BOMC is not in /etc/hosts and is not resolvable via DNS.
Why it's happening now
- All 10 hits in the last 24 hours — this started today (April 8)
- All on the AzureLinux.3.Amd64.Open queue
- All different machines (a00BPIG, a00BPYE, a00BQ20, a00BQ0P, a00BOMC) — not
a single bad machine
- All on the coreclr_checked test configuration with
net11.0-linux-Release-x64
This pattern indicates a fleet-wide infrastructure change on the AzureLinux 3
Helix machines — either:
1. New machines were provisioned without /etc/hosts entries for their own
hostname
2. A configuration management change removed the hostname entry from
/etc/hosts
3. A DNS server change caused the machine names to stop resolving
Fix options
Infrastructure fix (preferred): Ensure /etc/hosts on AzureLinux 3 Helix
machines includes a line like:
127.0.0.1 a00BOMC a00BOMC.localdomain
Test resilience fix: The test at GetHostEntryTest.cs:53 could skip or mark as
inconclusive when the local hostname can't be resolved, since this is an
environment issue:
[InlineData("")]
public async Task Dns_GetHostEntry_HostString_Ok(string hostName)
{
// Skip if local hostname can't be resolved (Helix infra issue)
if (hostName == "" && !CanResolveLocalHostname())
return;
// ...
}
This should be reported to @dotnet/dnceng or the Helix infrastructure team as
a fleet configuration issue on the AzureLinux.3.Amd64.Open queue.
System.Net.Sockets.SocketException : Name or service not known
Stack Trace:
at System.Net.Dns.GetHostEntryOrAddressesCore(String hostName, Boolean justAddresses, AddressFamily addressFamily, Nullable`1 activityOrDefault) in /_/src/libraries/System.Net.NameResolution/src/System/Net/Dns.cs:line 522
at System.Net.Dns.GetHostEntry(String hostNameOrAddress, AddressFamily family) in /_/src/libraries/System.Net.NameResolution/src/System/Net/Dns.cs:line 87
at System.Net.NameResolution.Tests.GetHostEntryTest.Dns_GetHostEntry_HostString_Ok(String hostName) in /_/src/libraries/System.Net.NameResolution/tests/FunctionalTests/GetHostEntryTest.cs:line 53
Analysis:
These are DNS resolution failures where Dns.GetHostEntry("") fails with "Name or service not known" on Helix Linux machines. The test machines hostnames are not resolvable via DNS or /etc/hosts. This is a Helix infrastructure issue, not JIT/stress related. Tracked by #126641.
Generated by ci-pipeline-monitor/scripts/generate_report.py *
DNS resolution failures in Helix test machines. Tests fail because hostname cannot be resolved via DNS. Known infrastructure issue affecting jitstress, jitstressregs, and pgo pipelines.
System.Net.Sockets.SocketException : Name or service not known
Stack Trace:
at System.Net.Dns.GetHostEntryOrAddressesCore(String hostName, Boolean justAddresses, AddressFamily addressFamily, Nullable`1 activityOrDefault) in /_/src/libraries/System.Net.NameResolution/src/System/Net/Dns.cs:line 522
at System.Net.Dns.GetHostEntry(String hostNameOrAddress, AddressFamily family) in /_/src/libraries/System.Net.NameResolution/src/System/Net/Dns.cs:line 87
Analysis:
Infrastructure issue with DNS resolution on Helix machines. Not a product bug. Known from prior runs.
Generated by ci-pipeline-monitor/scripts/generate_report.py
Some additional findings from investigating dotnet-helix-machines:
Tests run directly on the VM, not in Docker. The Helix logs show hostname a00BVKN (no D prefix — Docker containers prepend D to the VM hostname via dockerhelper.py). The VM's /etc/hosts only has localhost entries — the hostname is completely absent. Multiple machines are affected (a00BOMC, a00C1G0, a00C13G, a00BVKN), so this is fleet-wide.
An artifact to fix exactly this already exists — linux-add-localhost-to-hosts (created in PR 13243 for "self-resolution issues"). It adds 127.0.0.1\t$(hostname) to /etc/hosts. However, it is not applied to any AzureLinux 3 queue in definitions/shared/linux.yaml.
Timeline correlates with AutoScalerACA deployment:
March 18: AutoScalerSystem: AutoScalerACA added to AzureLinux.3.Amd64.Open.Rt (PR 59010)
April 1: Production rollout deploys this change
April 2: AutoScalerACA also added to AzureLinux.3.Amd64.Open and .Open.Svc (PR 59711)
April 3: Last green jitstress build (existing VMs still had working DNS)
April 4–7: No jitstress runs (gap)
April 8: First DNS failures appear
The likely mechanism: old VMs (provisioned under AutoScalerSF) had hostname DNS resolution working through Azure infrastructure. When AutoScalerACA took over and cycled the VMSS (scale down/up over the weekend gap), newly provisioned VMs lost that resolution — possibly due to differences in VNET config, custom extension ordering, or Azure DNS behavior for the new VMSS.
wfurt has an in-progress fix on branch wfurt/systemd (commit 41a553fa) — adds a linux-enable-systemd-resolver artifact that enables systemd-resolved and points /etc/resolv.conf at its stub resolver. This is a more comprehensive DNS fix than just patching /etc/hosts.
A simpler alternative would be to add the existing linux-add-localhost-to-hosts artifact to the AzureLinux 3 artifact list — that would fix hostname self-resolution specifically without changing the broader DNS setup.
System.Net.Sockets.SocketException : Name or service not known
Stack trace:
at System.Net.Dns.GetHostEntryOrAddressesCore(String hostName, Boolean justAddresses, AddressFamily addressFamily, Nullable`1 activityOrDefault) in /_/src/libraries/System.Net.NameResolution/src/System/Net/Dns.cs:line 522
at System.Net.Dns.<>c.<GetHostEntryOrAddressesCoreAsync>b__39_1(Object s, NameResolutionActivity activity) in /_/src/libraries/System.Net.NameResolution/src/System/Net/Dns.cs:line 756
at System.Net.Dns.<>c__DisplayClass45_0`1.<RunAsync>b__0(Task <p0>, Object <p1>) in /_/src/libraries/System.Net.NameResolution/src/System/Net/Dns.cs:line 906
at System.Threading.Tasks.ContinuationResultTaskFromTask`1.InnerInvoke() in /_/src/libraries/System.Private.CoreLib/src/System/Threading/Tasks/TaskContinuation.cs:line 94
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) in /_/src/libraries/System.Private.CoreLib/src/System/Threading/ExecutionContext.cs:line 194
--- End of stack trace from previous location ---
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) in /_/src/libraries/System.Private.CoreLib/src/System/Threading/ExecutionContext.cs:line 218
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread) in /_/src/libraries/System.Private.CoreLib/src/System/Threading/Tasks/Task.cs:line 2420
--- End of stack trace from previous location ---
at System.Threading.Tasks.TaskToAsyncResult.End[TResult](IAsyncResult asyncResult) in /_/src/libraries/Common/src/System/Threading/Tasks/TaskToAsyncResult.cs:line 61
at System.Net.NameResolution.Tests.GetHostByNameTest.DnsObsoleteBeginEndGetHostByName_EmptyString_ReturnsHostName() in /_/src/libraries/System.Net.NameResolution/tests/FunctionalTests/GetHostByNameTest.cs:line 123
at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args) in /_/src/coreclr/System.Private.CoreLib/src/System/Reflection/MethodBaseInvoker.CoreCLR.cs:line 39
at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr) in /_/src/libraries/System.Private.CoreLib/src/System/Reflection/MethodBaseInvoker.cs:line 57
System.Net.Sockets.SocketException : Name or service not known
Stack trace:
at System.Net.Dns.GetHostEntryOrAddressesCore(String hostName, Boolean justAddresses, AddressFamily addressFamily, Nullable`1 activityOrDefault) in /_/src/libraries/System.Net.NameResolution/src/System/Net/Dns.cs:line 522
at System.Net.Dns.<>c.<GetHostEntryOrAddressesCoreAsync>b__39_1(Object s, NameResolutionActivity activity) in /_/src/libraries/System.Net.NameResolution/src/System/Net/Dns.cs:line 756
at System.Net.Dns.<>c__DisplayClass45_0`1.<RunAsync>b__0(Task <p0>, Object <p1>) in /_/src/libraries/System.Net.NameResolution/src/System/Net/Dns.cs:line 906
at System.Threading.Tasks.ContinuationResultTaskFromTask`1.InnerInvoke() in /_/src/libraries/System.Private.CoreLib/src/System/Threading/Tasks/TaskContinuation.cs:line 94
at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state) in /_/src/libraries/System.Private.CoreLib/src/System/Threading/ExecutionContext.cs:line 279
--- End of stack trace from previous location ---
at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state) in /_/src/libraries/System.Private.CoreLib/src/System/Threading/ExecutionContext.cs:line 304
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread) in /_/src/libraries/System.Private.CoreLib/src/System/Threading/Tasks/Task.cs:line 2506
--- End of stack trace from previous location ---
at System.Threading.Tasks.TaskToAsyncResult.End[TResult](IAsyncResult asyncResult) in /_/src/libraries/Common/src/System/Threading/Tasks/TaskToAsyncResult.cs:line 61
at System.Net.NameResolution.Tests.GetHostByNameTest.DnsObsoleteBeginEndGetHostByName_EmptyString_ReturnsHostName() in /_/src/libraries/System.Net.NameResolution/tests/FunctionalTests/GetHostByNameTest.cs:line 123
at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args) in /_/src/coreclr/System.Private.CoreLib/src/System/Reflection/MethodBaseInvoker.CoreCLR.cs:line 39
at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr) in /_/src/libraries/System.Private.CoreLib/src/System/Reflection/MethodBaseInvoker.cs:line 57
Activity
dotnet-policy-service commentedon Apr 8, 2026
Tagging subscribers to this area: @karelz, @dotnet/ncl
See info in area-owners.md if you want to be subscribed.
MihuBot commentedon Apr 8, 2026
I'm a bot. Here are possible related and/or duplicate issues (I may be wrong):
wfurt commentedon Apr 8, 2026
It seems like the machines cannot resolve own name.
mangod9 commentedon Apr 8, 2026
diag analysis:
kg commentedon Apr 9, 2026
Summary:
DNS resolution fails with SocketException on Helix machines where hostname is not in /etc/hosts.
Failed in (3):
runtime-coreclr libraries-jitstress 20260409.1
runtime-coreclr libraries-jitstressregs 20260408.1
runtime-coreclr libraries-pgo 20260408.1
Console Log: Console Log
Source: runtime-coreclr libraries-jitstress / net11.0-linux-Release-x64-no_tiered_compilation-AzureLinux.3.Amd64.Open / System.Net.NameResolution.Tests.GetHostEntryTest.Dns_GetHostEntry_HostString_Ok
Failed tests:
Error Message:
Stack Trace:
Analysis:
These are DNS resolution failures where Dns.GetHostEntry("") fails with "Name or service not known" on Helix Linux machines. The test machines hostnames are not resolvable via DNS or /etc/hosts. This is a Helix infrastructure issue, not JIT/stress related. Tracked by #126641.
JulieLeeMSFT commentedon Apr 10, 2026
Summary:
DNS resolution failures in Helix test machines. Tests fail because hostname cannot be resolved via DNS. Known infrastructure issue affecting jitstress, jitstressregs, and pgo pipelines.
Failed in (3):
runtime-coreclr libraries-jitstress 20260410.1
runtime-coreclr libraries-jitstressregs 20260408.1
runtime-coreclr libraries-pgo 20260408.1
Console Log: Console Log
Source: runtime-coreclr libraries-jitstress / net11.0-linux-Release-x64-no_tiered_compilation-AzureLinux.3.Amd64.Open / System.Net.NameResolution.Tests.GetHostEntryTest.Dns_GetHostEntry_HostString_Ok
Failed tests:
Error Message:
Stack Trace:
Analysis:
Infrastructure issue with DNS resolution on Helix machines. Not a product bug. Known from prior runs.
Generated by ci-pipeline-monitor/scripts/generate_report.py
danmoseley commentedon Apr 11, 2026
Note
This comment was drafted with Copilot assistance.
Some additional findings from investigating
dotnet-helix-machines:Tests run directly on the VM, not in Docker. The Helix logs show hostname
a00BVKN(noDprefix — Docker containers prependDto the VM hostname viadockerhelper.py). The VM's/etc/hostsonly haslocalhostentries — the hostname is completely absent. Multiple machines are affected (a00BOMC,a00C1G0,a00C13G,a00BVKN), so this is fleet-wide.An artifact to fix exactly this already exists —
linux-add-localhost-to-hosts(created in PR 13243 for "self-resolution issues"). It adds127.0.0.1\t$(hostname)to/etc/hosts. However, it is not applied to any AzureLinux 3 queue indefinitions/shared/linux.yaml.Timeline correlates with AutoScalerACA deployment:
AutoScalerSystem: AutoScalerACAadded toAzureLinux.3.Amd64.Open.Rt(PR 59010)AzureLinux.3.Amd64.Openand.Open.Svc(PR 59711)The likely mechanism: old VMs (provisioned under AutoScalerSF) had hostname DNS resolution working through Azure infrastructure. When AutoScalerACA took over and cycled the VMSS (scale down/up over the weekend gap), newly provisioned VMs lost that resolution — possibly due to differences in VNET config, custom extension ordering, or Azure DNS behavior for the new VMSS.
wfurt has an in-progress fix on branch
wfurt/systemd(commit 41a553fa) — adds alinux-enable-systemd-resolverartifact that enablessystemd-resolvedand points/etc/resolv.confat its stub resolver. This is a more comprehensive DNS fix than just patching/etc/hosts.A simpler alternative would be to add the existing
linux-add-localhost-to-hostsartifact to the AzureLinux 3 artifact list — that would fix hostname self-resolution specifically without changing the broader DNS setup.VincentBu commentedon Apr 13, 2026
Failed in: runtime-coreclr libraries-jitstress2-jitstressregs 20260411.1
Failed tests:
Error message:
Stack trace:
EgorBo commentedon Apr 14, 2026
Is this something being worked on? it seems to have a wide-spread impact on all PRs.
wfurt commentedon Apr 14, 2026
yes. it will be fixed on Helix side but I don't have ETA yet.
VincentBu commentedon Apr 20, 2026
Failed in: runtime-coreclr libraries-jitstress2-jitstressregs 20260418.1
Failed tests:
Error message:
Stack trace:
wfurt commentedon Aug 4, 2026
no recent failures. This looks like infra problem where the OS fails to resolve names.