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

  1. Read p.Err's message — it states the edge's rejection reason.
  2. Verify UDP/ICMP support is enabled for the tunnel and origin config.
  3. Check for edge capacity/session-limit issues and retry.
  4. 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

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.