{"record":{"id":"73d1b04bfeff4e08","repo":"cloudflare/cloudflared","slug":"s","errorCode":null,"errorMessage":"%s","messagePattern":"%s","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"tunnelrpc/pogs/configuration_manager.go","lineNumber":99,"sourceCode":"\tErr                error `json:\"err\"`\n}\n\nfunc (p *UpdateConfigurationResponse) Marshal(s proto.UpdateConfigurationResponse) error {\n\ts.SetLatestAppliedVersion(p.LastAppliedVersion)\n\tif p.Err != nil {\n\t\treturn s.SetErr(p.Err.Error())\n\t}\n\treturn nil\n}\n\nfunc (p *UpdateConfigurationResponse) Unmarshal(s proto.UpdateConfigurationResponse) error {\n\tp.LastAppliedVersion = s.LatestAppliedVersion()\n\trespErr, err := s.Err()\n\tif err != nil {\n\t\treturn err\n\t}\n\tif respErr != \"\" {\n\t\tp.Err = fmt.Errorf(\"%s\", respErr)\n\t}\n\treturn nil\n}\n","sourceCodeStart":81,"sourceCodeEnd":103,"githubUrl":"https://github.com/cloudflare/cloudflared/blob/2253eeeb25a44a713a4b60b8ba1e1b3f377d1a0f/tunnelrpc/pogs/configuration_manager.go#L81-L103","documentation":"When unmarshalling a ConfigurationManager RPC response, the remote side reported an error string (s.Err()). cloudflared wraps that raw string into a Go error verbatim and stores it on the parsed response. The message content is entirely determined by the remote peer.","triggerScenarios":"Unmarshal of a ConfigurationManager response whose Err field is non-empty; typically surfaces when the server-side configuration apply/reconcile failed.","commonSituations":"Edge rejects a tunnel configuration update; remote configuration changed concurrently; server hit an internal error while applying configuration; version skew between client and server RPC payloads.","solutions":["Read the embedded string — it contains the server's explanation.","Re-fetch/re-apply configuration; transient remote errors often clear on retry.","Verify cloudflared and edge are on compatible versions (update cloudflared).","Check tunnel configuration validity in the Cloudflare dashboard."],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":"var resp ConfigurationManagerResponse\nif err := resp.Unmarshal(s); err != nil {\n    log.Warn().Err(err).Msg(\"remote configuration apply failed; retrying\")\n    retryWithBackoff()\n}","preventionTips":["Keep cloudflared updated to stay RPC-compatible with the edge","Validate tunnel configuration before pushing it","Treat the embedded error string as authoritative server feedback"],"tags":["rpc","capnproto","remote-error"],"backgroundTag":"rpc-remote-error","analyzedSha":"2253eeeb25a44a713a4b60b8ba1e1b3f377d1a0f","analyzedAt":"2026-09-06T04:14:33.757Z","contentChangedAt":"2026-09-06T04:14:33.757Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}