cloudflare/cloudflared · error
%s
Error message
%s
What it means
While unmarshalling a RegisterUdpSessionResponse, the remote edge reported a non-empty Err string. cloudflared converts that string into p.Err so the session-registration caller sees the server-side rejection reason verbatim.
Source
Thrown at tunnelrpc/pogs/session_manager.go:130
}
func (p *RegisterUdpSessionResponse) Marshal(s proto.RegisterUdpSessionResponse) error {
if p.Err != nil {
return s.SetErr(p.Err.Error())
}
if err := s.SetSpans(p.Spans); err != nil {
return err
}
return nil
}
func (p *RegisterUdpSessionResponse) Unmarshal(s proto.RegisterUdpSessionResponse) error {
respErr, err := s.Err()
if err != nil {
return err
}
if respErr != "" {
p.Err = fmt.Errorf("%s", respErr)
}
p.Spans, err = s.Spans()
if err != nil {
return err
}
return nil
}
type SessionManager_PogsClient struct {
Client capnp.Client
Conn *rpc.Conn
}
func NewSessionManager_PogsClient(client capnp.Client, conn *rpc.Conn) SessionManager_PogsClient {
return SessionManager_PogsClient{
Client: client,
Conn: conn,
}View on GitHub (pinned to 2253eeeb25)
Solutions
- Read p.Err's message — it states the edge's rejection reason.
- Verify UDP/ICMP support is enabled for the tunnel and origin config.
- Check for edge capacity/session-limit issues and retry.
- Update cloudflared on both ends to compatible versions.
Defensive patterns
Strategy: try-catch
Try / catch
var resp RegisterUdpSessionResponse
if err := resp.Unmarshal(s); err == nil && resp.Err != nil {
log.Warn().Err(resp.Err).Msg("UDP session rejected by edge; retrying")
retryWithBackoff()
} Prevention
- Confirm UDP proxying is enabled for the tunnel
- Monitor edge session limits
- Keep cloudflared versions consistent across client and server
When it happens
Trigger: Unmarshal of RegisterUdpSessionResponse where s.Err() returns a non-empty string — i.e., the edge refused the UDP session registration.
Common situations: Edge has no route/capacity for the requested UDP destination; session limits reached; ICMP/UDP proxying disabled for the tunnel; version skew causing unsupported options.
Related errors
AI-assisted analysis of cloudflare/cloudflared@2253eeeb25 (2026-09-06).
Data as JSON: /api/errors/6f50af007fa0050e.
Report an issue: GitHub.