{"record":{"id":"d78a243106b8d56f","repo":"caddyserver/caddy","slug":"marshaling-ech-config-metadata-v","errorCode":null,"errorMessage":"marshaling ECH config metadata: %v","messagePattern":"marshaling ECH config metadata: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"modules/caddytls/ech.go","lineNumber":503,"sourceCode":"\t\t\t\t}\n\t\t\t\tlogger.Info(\"successfully published ECH configuration list for \"+someAll+\" domains\",\n\t\t\t\t\tzap.String(\"publisher\", publisherKey),\n\t\t\t\t\tzap.Strings(\"domains\", successNames),\n\t\t\t\t\tzap.Uint8s(\"config_ids\", configIDs))\n\n\t\t\t\tfor _, cfg := range echCfgList {\n\t\t\t\t\tif cfg.meta.Publications == nil {\n\t\t\t\t\t\tcfg.meta.Publications = make(publicationHistory)\n\t\t\t\t\t}\n\t\t\t\t\tif _, ok := cfg.meta.Publications[publisherKey]; !ok {\n\t\t\t\t\t\tcfg.meta.Publications[publisherKey] = make(map[string]time.Time)\n\t\t\t\t\t}\n\t\t\t\t\tfor _, name := range successNames {\n\t\t\t\t\t\tcfg.meta.Publications[publisherKey][name] = pubTime\n\t\t\t\t\t}\n\t\t\t\t\tmetaBytes, err := json.Marshal(cfg.meta)\n\t\t\t\t\tif err != nil {\n\t\t\t\t\t\treturn fmt.Errorf(\"marshaling ECH config metadata: %v\", err)\n\t\t\t\t\t}\n\t\t\t\t\tif err := t.ctx.Storage().Store(t.ctx, echMetaKey(cfg.ConfigID), metaBytes); err != nil {\n\t\t\t\t\t\treturn fmt.Errorf(\"storing updated ECH config metadata: %v\", err)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tlogger.Error(\"all domains failed to publish ECH configuration list (see earlier errors)\",\n\t\t\t\t\tzap.String(\"publisher\", publisherKey),\n\t\t\t\t\tzap.Strings(\"domains\", dnsNamesToPublish),\n\t\t\t\t\tzap.Uint8s(\"config_ids\", configIDs))\n\t\t\t}\n\t\t}\n\t}\n\n\treturn nil\n}\n\n// loadECHConfig loads the config from storage with the given configID.","sourceCodeStart":485,"sourceCodeEnd":521,"githubUrl":"https://github.com/caddyserver/caddy/blob/50e54ee279aa1e504fe218ca49ab6ae16c100410/modules/caddytls/ech.go#L485-L521","documentation":"Error \"marshaling ECH config metadata: %v\" thrown in caddyserver/caddy.","triggerScenarios":"Thrown at modules/caddytls/ech.go:503 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["This is an internal serialization failure; check the wrapped error and report if persistent."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"50e54ee279aa1e504fe218ca49ab6ae16c100410","analyzedAt":"2026-08-15T09:20:21.641Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}