-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Description
Description
Two self-hosted runners (Linux x64, version 2.331.0) have been unable to connect to GitHub Actions for ~10 hours. The runners are stuck in a retry loop with Runner connect error: The HTTP request timed out after 00:01:40.
Root Cause
The OAuth token endpoint tokenghub.actions.githubusercontent.com resolves to 20.85.108.33 (Azure), and this IP is unreachable from our server. TCP connections to port 443 time out.
Other GitHub Actions endpoints work fine:
pipelines.actions.githubusercontent.com→2620:1ec:21::16(IPv6) → OKvstoken.actions.githubusercontent.com→2620:1ec:21::16(IPv6) → OKapi.github.com→ OKgithub.com→ OK
Diagnostics
MTR trace to 20.85.108.33
HOST: [redacted] Loss% Snt Last Avg Best Wrst StDev
1.|-- [gateway] 0.0% 3 0.2 0.3 0.2 0.3 0.0
...
10.|-- 104.44.230.20 0.0% 3 23.9 12.4 1.8 23.9 11.1
11.|-- ??? 100.0 3 0.0 0.0 0.0 0.0 0.0
Packets reach Azure edge (hop 10: 104.44.230.20) but are dropped at hop 11.
Runner diagnostic log
[2026-02-09 22:25:40Z INFO BrokerMessageListener] Connecting to the Broker Server...
[2026-02-09 22:25:40Z INFO RunnerServer] Establish connection with 100 seconds timeout.
[2026-02-09 22:25:40Z INFO GitHubActionsService] Starting operation Location.GetConnectionData
[2026-02-09 22:27:04Z ERR RunnerServer] System.Threading.Tasks.TaskCanceledException: A task was canceled.
at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(...)
at GitHub.Services.Location.Client.LocationHttpClient.GetConnectionDataAsync(...)
Runner logs
2026-02-09 21:06:00Z: Runner connect error: The HTTP request timed out after 00:01:40.. Retrying until reconnected.
2026-02-09 22:08:17Z: Runner connect error: The HTTP request timed out after 00:01:40.. Retrying until reconnected.
2026-02-09 22:41:45Z: Runner connect error: The HTTP request timed out after 00:01:40.. Retrying until reconnected.
2026-02-09 23:32:46Z: Runner connect error: The HTTP request timed out after 00:01:40.. Retrying until reconnected.
Verification from inside the container
# These work:
curl https://api.github.com/ # 200 OK
curl https://pipelines.actions.githubusercontent.com/_apis/health # 200 OK
curl https://vstoken.actions.githubusercontent.com/_apis/health # 200 OK
# This times out:
curl https://tokenghub.actions.githubusercontent.com/ # Connection timed outObservation
tokenghub.actions.githubusercontent.com resolves to an IPv4-only address (20.85.108.33), while other *.actions.githubusercontent.com endpoints resolve to IPv6 (2620:1ec:21::16) which works fine. The issue may be related to Azure routing for this specific IPv4 address from certain regions.
Environment
- Runner version: 2.331.0 (latest)
- OS: Ubuntu 22.04.5 LTS (Docker container)
- Server location: Europe
- Started: 2026-02-09 ~21:00 UTC
- Still ongoing: Yes
Expected Behavior
Runner should be able to connect to tokenghub.actions.githubusercontent.com for OAuth token exchange.
Workaround Attempted
- Restarted containers multiple times — same result
- Verified network, DNS, iptables — no local blocking
- The issue is specifically with the Azure IP
20.85.108.33being unreachable