Skip to content

Self-hosted runner cannot connect: tokenghub.actions.githubusercontent.com (20.85.108.33) unreachable #4235

@VolkovIlia

Description

@VolkovIlia

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.com2620:1ec:21::16 (IPv6) → OK
  • vstoken.actions.githubusercontent.com2620:1ec:21::16 (IPv6) → OK
  • api.github.comOK
  • github.comOK

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 out

Observation

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.33 being unreachable

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions