caddyserver/caddy · error
marshaling ECH config metadata: %v
Error message
marshaling ECH config metadata: %v
What it means
Error "marshaling ECH config metadata: %v" thrown in caddyserver/caddy.
Source
Thrown at modules/caddytls/ech.go:503
}
logger.Info("successfully published ECH configuration list for "+someAll+" domains",
zap.String("publisher", publisherKey),
zap.Strings("domains", successNames),
zap.Uint8s("config_ids", configIDs))
for _, cfg := range echCfgList {
if cfg.meta.Publications == nil {
cfg.meta.Publications = make(publicationHistory)
}
if _, ok := cfg.meta.Publications[publisherKey]; !ok {
cfg.meta.Publications[publisherKey] = make(map[string]time.Time)
}
for _, name := range successNames {
cfg.meta.Publications[publisherKey][name] = pubTime
}
metaBytes, err := json.Marshal(cfg.meta)
if err != nil {
return fmt.Errorf("marshaling ECH config metadata: %v", err)
}
if err := t.ctx.Storage().Store(t.ctx, echMetaKey(cfg.ConfigID), metaBytes); err != nil {
return fmt.Errorf("storing updated ECH config metadata: %v", err)
}
}
} else {
logger.Error("all domains failed to publish ECH configuration list (see earlier errors)",
zap.String("publisher", publisherKey),
zap.Strings("domains", dnsNamesToPublish),
zap.Uint8s("config_ids", configIDs))
}
}
}
return nil
}
// loadECHConfig loads the config from storage with the given configID.View on GitHub (pinned to 50e54ee279)
Solutions
- This is an internal serialization failure; check the wrapped error and report if persistent.
When it happens
Trigger: Thrown at modules/caddytls/ech.go:503 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of caddyserver/caddy@50e54ee279 (2026-08-15).
Data as JSON: /api/errors/d78a243106b8d56f.
Report an issue: GitHub.