tailscale/tailscale · error
failed to get rx timestamp: %v
Error message
failed to get rx timestamp: %v
What it means
Error "failed to get rx timestamp: %v" thrown in tailscale/tailscale.
Source
Thrown at cmd/stunstamp/stunstamp_linux.go:179
if rxMsg.Type != ipv4.ICMPTypeEchoReply {
continue
}
} else {
if rxMsg.Type != ipv6.ICMPTypeEchoReply {
continue
}
}
if rxMsg.Code != txMsg.Code {
continue
}
rxBody, ok := rxMsg.Body.(*icmp.Echo)
if !ok || rxBody.Seq != txBody.Seq || !bytes.Equal(rxBody.Data, txBody.Data) {
continue
}
if source == timestampSourceKernel {
rxAt, err = parseTimestampFromCmsgs(oob[:oobn])
if err != nil {
return 0, fmt.Errorf("failed to get rx timestamp: %v", err)
}
}
return rxAt.Sub(txAt), nil
}
}
func measureSTUNRTTKernel(conn io.ReadWriteCloser, _ string, dst netip.AddrPort) (rtt time.Duration, err error) {
sconn, ok := conn.(*socket.Conn)
if !ok {
return 0, fmt.Errorf("conn of unexpected type: %T", conn)
}
var to unix.Sockaddr
if dst.Addr().Is4() {
to = &unix.SockaddrInet4{
Port: int(dst.Port()),
}
copy(to.(*unix.SockaddrInet4).Addr[:], dst.Addr().AsSlice())View on GitHub (pinned to cfe32b8be6)
When it happens
Trigger: Thrown at cmd/stunstamp/stunstamp_linux.go:179 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of tailscale/tailscale@cfe32b8be6 (2026-08-15).
Data as JSON: /api/errors/51c8d23ce6e33323.
Report an issue: GitHub.