{"record":{"id":"51c8d23ce6e33323","repo":"tailscale/tailscale","slug":"failed-to-get-rx-timestamp-v","errorCode":null,"errorMessage":"failed to get rx timestamp: %v","messagePattern":"failed to get rx timestamp: (.+?)","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cmd/stunstamp/stunstamp_linux.go","lineNumber":179,"sourceCode":"\t\t\tif rxMsg.Type != ipv4.ICMPTypeEchoReply {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t} else {\n\t\t\tif rxMsg.Type != ipv6.ICMPTypeEchoReply {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t}\n\t\tif rxMsg.Code != txMsg.Code {\n\t\t\tcontinue\n\t\t}\n\t\trxBody, ok := rxMsg.Body.(*icmp.Echo)\n\t\tif !ok || rxBody.Seq != txBody.Seq || !bytes.Equal(rxBody.Data, txBody.Data) {\n\t\t\tcontinue\n\t\t}\n\t\tif source == timestampSourceKernel {\n\t\t\trxAt, err = parseTimestampFromCmsgs(oob[:oobn])\n\t\t\tif err != nil {\n\t\t\t\treturn 0, fmt.Errorf(\"failed to get rx timestamp: %v\", err)\n\t\t\t}\n\t\t}\n\t\treturn rxAt.Sub(txAt), nil\n\t}\n}\n\nfunc measureSTUNRTTKernel(conn io.ReadWriteCloser, _ string, dst netip.AddrPort) (rtt time.Duration, err error) {\n\tsconn, ok := conn.(*socket.Conn)\n\tif !ok {\n\t\treturn 0, fmt.Errorf(\"conn of unexpected type: %T\", conn)\n\t}\n\n\tvar to unix.Sockaddr\n\tif dst.Addr().Is4() {\n\t\tto = &unix.SockaddrInet4{\n\t\t\tPort: int(dst.Port()),\n\t\t}\n\t\tcopy(to.(*unix.SockaddrInet4).Addr[:], dst.Addr().AsSlice())","sourceCodeStart":161,"sourceCodeEnd":197,"githubUrl":"https://github.com/tailscale/tailscale/blob/cfe32b8be6a33f8e24fbc369cbfbf7c729d9e042/cmd/stunstamp/stunstamp_linux.go#L161-L197","documentation":"Error \"failed to get rx timestamp: %v\" thrown in tailscale/tailscale.","triggerScenarios":"Thrown at cmd/stunstamp/stunstamp_linux.go:179 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"cfe32b8be6a33f8e24fbc369cbfbf7c729d9e042","analyzedAt":"2026-08-15T19:58:31.583Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}