{"record":{"id":"8ce6335927f3ec68","repo":"caddyserver/caddy","slug":"setting-stek-module-configuration-v","errorCode":null,"errorMessage":"setting STEK module configuration: %v","messagePattern":"setting STEK module configuration: (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"modules/caddytls/sessiontickets.go","lineNumber":106,"sourceCode":"}\n\n// start loads the starting STEKs and spawns a goroutine\n// which loops to rotate the STEKs, which continues until\n// stop() is called. If start() was already called, this\n// is a no-op.\nfunc (s *SessionTicketService) start() error {\n\tif s.stopChan != nil {\n\t\treturn nil\n\t}\n\ts.stopChan = make(chan struct{})\n\n\t// initializing the key source gives us our\n\t// initial key(s) to start with; if successful,\n\t// we need to be sure to call Next() so that\n\t// the key source can know when it is done\n\tinitialKeys, err := s.keySource.Initialize(s)\n\tif err != nil {\n\t\treturn fmt.Errorf(\"setting STEK module configuration: %v\", err)\n\t}\n\n\ts.mu.Lock()\n\ts.currentKeys = initialKeys\n\ts.mu.Unlock()\n\n\t// keep the keys rotated\n\tgo s.stayUpdated()\n\n\treturn nil\n}\n\n// stayUpdated is a blocking function which rotates\n// the keys whenever new ones are sent. It reads\n// from keysChan until s.stop() is called.\nfunc (s *SessionTicketService) stayUpdated() {\n\tdefer func() {\n\t\tif err := recover(); err != nil {","sourceCodeStart":88,"sourceCodeEnd":124,"githubUrl":"https://github.com/caddyserver/caddy/blob/50e54ee279aa1e504fe218ca49ab6ae16c100410/modules/caddytls/sessiontickets.go#L88-L124","documentation":"Error \"setting STEK module configuration: %v\" thrown in caddyserver/caddy.","triggerScenarios":"Thrown at modules/caddytls/sessiontickets.go:106 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Fix the STEK module configuration; the wrapped error explains why it could not be applied."],"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-15T22:17:37.221Z"}