Skip to content

fix: bump coder/tailscale to pick up RTM_MISS fix (cherry-pick #24187)#24214

Merged
spikecurtis merged 1 commit intorelease/2.32from
cherry-pick/24187/release/2.32
Apr 10, 2026
Merged

fix: bump coder/tailscale to pick up RTM_MISS fix (cherry-pick #24187)#24214
spikecurtis merged 1 commit intorelease/2.32from
cherry-pick/24187/release/2.32

Conversation

@spikecurtis
Copy link
Copy Markdown
Contributor

Cherry-pick of #24187 onto release/2.32

This cherry-picks commit ad2415e to bring the coder/tailscale bump (e956a95, PR #113) onto the release/2.32 branch.

Context

On Darwin, RTM_MISS route-socket messages (fired on every failed route lookup) were not filtered by netmon, causing each one to be treated as a LinkChange. When netcheck sends STUN probes to an IPv6 address with no route, this creates a self-sustaining feedback loop: RTM_MISSLinkChangeReSTUN → netcheck → v6 STUN probe → RTM_MISS → …

The loop drives DERP home-region flapping at ~70× baseline, which at fleet scale saturates PostgreSQL's NOTIFY lock and causes coordinator health-check timeouts.

The upstream fix adds a single if msg.Type == unix.RTM_MISS { return true } check to skipRouteMessage, which is safe because RTM_MISS is a lookup-path signal, not a table-mutation signal.

This issue has been reported since users updated to macOS 26.4.

Relates to ENG-2394

🤖 Generated by Coder Agents

@github-actions github-actions bot added the community Pull Requests and issues created by the community. label Apr 9, 2026
@matifali matifali removed the community Pull Requests and issues created by the community. label Apr 9, 2026
@spikecurtis spikecurtis marked this pull request as draft April 9, 2026 20:07
@spikecurtis spikecurtis marked this pull request as ready for review April 10, 2026 18:37
## What

Bumps `coder/tailscale` to
[`e956a95`](coder/tailscale@e956a95)
([PR #113](coder/tailscale#113)) to pick up the
`RTM_MISS` fix for the Darwin network monitor.

Already released on `release/2.31` as v2.31.8. (#24185) to unblock a
customer. This PR is to update `main`.

## Why

On Darwin, `RTM_MISS` route-socket messages (fired on every failed route
lookup) were not filtered by `netmon`, causing each one to be treated as
a `LinkChange`. When netcheck sends STUN probes to an IPv6 address with
no route, this creates a self-sustaining feedback loop: `RTM_MISS` →
`LinkChange` → `ReSTUN` → netcheck → v6 STUN probe → `RTM_MISS` → …

The loop drives DERP home-region flapping at ~70× baseline, which at
fleet scale saturates PostgreSQL's `NOTIFY` lock and causes coordinator
health-check timeouts.

The upstream fix adds a single `if msg.Type == unix.RTM_MISS { return
true }` check to `skipRouteMessage`. This is safe because `RTM_MISS` is
a lookup-path signal, not a table-mutation signal — route withdrawals
always emit `RTM_DELETE` before any subsequent lookup can miss.

Of note is that this issue has only been reported recently, since users
updated to macOS 26.4.

Relates to ENG-2394
@spikecurtis spikecurtis force-pushed the cherry-pick/24187/release/2.32 branch from cb69b23 to 047477c Compare April 10, 2026 18:38
@spikecurtis spikecurtis merged commit bd1568b into release/2.32 Apr 10, 2026
26 checks passed
@spikecurtis spikecurtis deleted the cherry-pick/24187/release/2.32 branch April 10, 2026 20:05
@github-actions github-actions bot locked and limited conversation to collaborators Apr 10, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants