Triage for dotnet/runtime#127565.
Repo filter: All networking issues.
MihuBot version: 5a5ee7.
Ping MihaZupan for any issues.
This is a test triage report generated by AI, aimed at helping the triage team quickly identify past issues/PRs that may be related.
Take any conclusions with a large grain of salt.
Tool logs
dotnet/runtime#127565: System.Net.Sockets IPv6 dual-mode tests fail on Android with Connection refused by github-actions[bot]
Extracted 5 search queries: System.Net.Sockets dual-mode IPv6 tests failing on Android 'Connection refused' to ::1, Android emulator / Helix missing IPv6 support causing socket tests to fail, DualModeConnectAsync_DnsEndPointToHost_Helper Connection refused ::1 on Android, SocketAsyncEventArgsTest.Connect_Parallel_FailsOver (preferIPv6: True) failing on Android, Skip IPv6-specific socket tests on Android (SkipOnPlatform/TestPlatforms.Android)
Found 25 candidate issues
Issue #127422 (Apr 25 2026) - "Android socket tests failing with IPv6 connectivity issues"
Summary: Automated runner identified the same pattern of failures (SocketException: Connection refused when tests try to talk to ::1) and concluded these are infrastructure/environment issues on the Android Helix pool. Recommendations were to skip IPv6-specific tests on Android and to investigate emulator/Helix IPv6 configuration. The issue was used to track the Android regressions and was closed (notes indicate similar follow-up work). Relevance: near‑duplicate to the new issue and supports the immediate skip-on-Android recommendation.
Issue #124751 (Feb 23 2026) - "DNS localhost subdomain tests with AddressFamily fail on Android"
Summary: Detailed analysis of name-resolution behaviour on Android: family-specific getaddrinfo("localhost", AF_INET/AF_INET6) can fail on Android while AF_UNSPEC succeeds. The issue explains the RFC-6761 fallback logic and suggests two fixes: (a) change fallback to resolve with AF_UNSPEC then filter by family, or (b) fix the emulator/Helix resolver. Relevance: explains why name-resolution tests fail on Android and shows this is a platform/environment difference (not a product bug).
PR #124752 (Feb 23 2026) - "Disable localhost subdomain AddressFamily tests on Android"
Summary: Adds ActiveIssue skips for the two AddressFamily-based localhost-subdomain tests on Android. Rationale: consistent failures on Android CI due to the resolver behaviour discussed in #124751. Relevance: precedence for disabling name-resolution tests on Android while infra or code changes are evaluated.
PR #127420 (Apr 25 2026) (merged Apr 28 2026) - "[mobile] Skip DnsGetHostEntry_LocalHost test on Android"
Summary: Added platform skip (converted to ActiveIssue during review) for a GetHostEntry_LocalHost test on Android because Android emulators return non-loopback addresses for "localhost". Discussion focused on using ActiveIssue vs SkipOnPlatform and ensuring the skip references an appropriate tracking issue. Relevance: immediate remediation already applied for a related name-resolution test; shows team practice prefers ActiveIssue with tracking when possible.
Issue #104709 (Jul 11 2024, closed Jul 23 2024) - "[android] Connection issues in Sockets and Functional networking tests"
Summary: Earlier outage where Android devices/emulators lacked internet connectivity (Network is unreachable) causing many socket/functional test failures. The infrastructure issue was resolved (internet restored) and the issue closed. Relevance: demonstrates Android Helix infrastructure can and has caused broad networking test failures; useful precedent when engaging DNCEng.
Issue #23798 (Oct 10 2017) - "Unit tests are failing if IPv6 is not configured"
Summary: Longstanding guidance: tests must not assume IPv6 is configured on every test machine. The discussion proposed test-time checks (e.g., try binding IPv6 loopback) and skipping IPv6-only tests when IPv6/loopback is not available. Relevance: provides a recommended approach for test authors — detect IPv6 availability at runtime and skip IPv6-specific tests rather than fail.
Issue #50568 (Apr 1 2021) - "System.Net.Sockets.Tests fails on Android"
Summary: Historic collection of socket tests failing on Android; many of those tests were disabled or skipped over time. Comments highlight that some failures are due to platform limitations rather than product bugs. Relevance: shows pattern of Android-specific socket limitations and precedent for disabling tests on Android.
PR #75341 (Sep 9 2022) - "Skip Quic IPv6 tests on unsupported platforms"
Summary: Adds skips for IPv6 tests on platforms where IPv6 would produce EADDRNOTAVAIL, i.e., a precedent to skip IPv6 tests on platforms/environments that don't reliably support IPv6. Relevance: policy precedent for skipping IPv6 tests when platform doesn't support them.
Issue #95228 (Nov 25 2023, closed Dec 2 2023) - "Broken Build: Linux build with ipv6 connectivity"
Summary: A developer system with IPv6 led to intermittent "Connection reset by peer" during restore/download; packet captures showed retransmits and server RSTs. The root cause was environmental/network-level and not a runtime bug. Relevance: an example showing IPv6 networking can cause varied failures (not always product bugs) and that packet captures / infra investigation may be needed.
Issue #123797 (Jan 30 2026) - "Assert.Equal failure in SocketAsyncEventArgsTest.Connect_Parallel_FailsOver ..."
Summary: A test very similar to one listed in the new issue (Connect_Parallel_FailsOver) failed on tvOS with unexpected local endpoint (127.0.0.1). The thread concluded platform-specific investigation was needed. Relevance: shows that Connect_Parallel_FailsOver has had platform-specific failures previously (not unique to Android) — useful context when judging whether to skip the test vs investigate the product code.
Conclusions / actionable points from the related history
- This class of failures has repeatedly been an infrastructure/platform issue on Android (and other mobile CI queues). Prior work has:
- disabled/skipped name-resolution localhost tests on Android (PR #127420, #124752),
- recommended skipping IPv6 tests where the platform/emulator lacks IPv6,
- and advised detecting IPv6/loopback availability in tests (#23798).
- Two reasonable near-term options:
- Add ActiveIssue/SkipOnPlatform annotations for the failing IPv6 dual-mode socket tests (prefer ActiveIssue with a tracking issue so the skip is discoverable), mirroring prior PRs for name-resolution tests.
- Engage dnceng to verify whether IPv6 can be enabled/configured in the Android Helix queue (if enabling IPv6 in the emulator/host is feasible and desired, that may be the longer-term fix).
- If you go the skip route, follow existing precedents: prefer ActiveIssue(...) with a link to this tracking issue and limit the skip to tests that require IPv6 loopback (::1) or set preferIPv6=true. If you prefer a runtime skip, add a small helper that checks whether binding IPv6 loopback succeeds (per discussion in #23798) and skip tests when not available.
If you want, I can:
- propose a concise ActiveIssue attribute list for the exact test methods named in the new issue, or
- draft a small runtime OSSupportsIPv6+loopback check helper to gate the IPv6 tests.
Triage for dotnet/runtime#127565.
Repo filter: All networking issues.
MihuBot version:
5a5ee7.Ping MihaZupan for any issues.
This is a test triage report generated by AI, aimed at helping the triage team quickly identify past issues/PRs that may be related.
Take any conclusions with a large grain of salt.
Tool logs
Issue #127422 (Apr 25 2026) - "Android socket tests failing with IPv6 connectivity issues"
Summary: Automated runner identified the same pattern of failures (SocketException: Connection refused when tests try to talk to ::1) and concluded these are infrastructure/environment issues on the Android Helix pool. Recommendations were to skip IPv6-specific tests on Android and to investigate emulator/Helix IPv6 configuration. The issue was used to track the Android regressions and was closed (notes indicate similar follow-up work). Relevance: near‑duplicate to the new issue and supports the immediate skip-on-Android recommendation.
Issue #124751 (Feb 23 2026) - "DNS localhost subdomain tests with AddressFamily fail on Android"
Summary: Detailed analysis of name-resolution behaviour on Android: family-specific getaddrinfo("localhost", AF_INET/AF_INET6) can fail on Android while AF_UNSPEC succeeds. The issue explains the RFC-6761 fallback logic and suggests two fixes: (a) change fallback to resolve with AF_UNSPEC then filter by family, or (b) fix the emulator/Helix resolver. Relevance: explains why name-resolution tests fail on Android and shows this is a platform/environment difference (not a product bug).
PR #124752 (Feb 23 2026) - "Disable localhost subdomain AddressFamily tests on Android"
Summary: Adds ActiveIssue skips for the two AddressFamily-based localhost-subdomain tests on Android. Rationale: consistent failures on Android CI due to the resolver behaviour discussed in #124751. Relevance: precedence for disabling name-resolution tests on Android while infra or code changes are evaluated.
PR #127420 (Apr 25 2026) (merged Apr 28 2026) - "[mobile] Skip DnsGetHostEntry_LocalHost test on Android"
Summary: Added platform skip (converted to ActiveIssue during review) for a GetHostEntry_LocalHost test on Android because Android emulators return non-loopback addresses for "localhost". Discussion focused on using ActiveIssue vs SkipOnPlatform and ensuring the skip references an appropriate tracking issue. Relevance: immediate remediation already applied for a related name-resolution test; shows team practice prefers ActiveIssue with tracking when possible.
Issue #104709 (Jul 11 2024, closed Jul 23 2024) - "[android] Connection issues in Sockets and Functional networking tests"
Summary: Earlier outage where Android devices/emulators lacked internet connectivity (Network is unreachable) causing many socket/functional test failures. The infrastructure issue was resolved (internet restored) and the issue closed. Relevance: demonstrates Android Helix infrastructure can and has caused broad networking test failures; useful precedent when engaging DNCEng.
Issue #23798 (Oct 10 2017) - "Unit tests are failing if IPv6 is not configured"
Summary: Longstanding guidance: tests must not assume IPv6 is configured on every test machine. The discussion proposed test-time checks (e.g., try binding IPv6 loopback) and skipping IPv6-only tests when IPv6/loopback is not available. Relevance: provides a recommended approach for test authors — detect IPv6 availability at runtime and skip IPv6-specific tests rather than fail.
Issue #50568 (Apr 1 2021) - "System.Net.Sockets.Tests fails on Android"
Summary: Historic collection of socket tests failing on Android; many of those tests were disabled or skipped over time. Comments highlight that some failures are due to platform limitations rather than product bugs. Relevance: shows pattern of Android-specific socket limitations and precedent for disabling tests on Android.
PR #75341 (Sep 9 2022) - "Skip Quic IPv6 tests on unsupported platforms"
Summary: Adds skips for IPv6 tests on platforms where IPv6 would produce EADDRNOTAVAIL, i.e., a precedent to skip IPv6 tests on platforms/environments that don't reliably support IPv6. Relevance: policy precedent for skipping IPv6 tests when platform doesn't support them.
Issue #95228 (Nov 25 2023, closed Dec 2 2023) - "Broken Build: Linux build with ipv6 connectivity"
Summary: A developer system with IPv6 led to intermittent "Connection reset by peer" during restore/download; packet captures showed retransmits and server RSTs. The root cause was environmental/network-level and not a runtime bug. Relevance: an example showing IPv6 networking can cause varied failures (not always product bugs) and that packet captures / infra investigation may be needed.
Issue #123797 (Jan 30 2026) - "Assert.Equal failure in SocketAsyncEventArgsTest.Connect_Parallel_FailsOver ..."
Summary: A test very similar to one listed in the new issue (Connect_Parallel_FailsOver) failed on tvOS with unexpected local endpoint (127.0.0.1). The thread concluded platform-specific investigation was needed. Relevance: shows that Connect_Parallel_FailsOver has had platform-specific failures previously (not unique to Android) — useful context when judging whether to skip the test vs investigate the product code.
Conclusions / actionable points from the related history
If you want, I can: