{"record":{"id":"ee2934b1285c7faa","repo":"thanos-io/thanos","slug":"address-is-empty","errorCode":null,"errorMessage":"Address is empty.","messagePattern":"Address is empty\\.","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pkg/extkingpin/flags.go","lineNumber":54,"sourceCode":"\treturn strings.Join(*a, \",\")\n}\n\n// Ensure flag is repeatable.\nfunc (a *addressSlice) IsCumulative() bool {\n\treturn true\n}\n\nfunc Addrs(flags *kingpin.FlagClause) (target *addressSlice) {\n\ttarget = &addressSlice{}\n\tflags.SetValue((*addressSlice)(target))\n\treturn\n}\n\n// validateAddrs checks an address slice for empty or invalid elements.\nfunc validateAddrs(addrs addressSlice) error {\n\tfor _, addr := range addrs {\n\t\tif addr == \"\" {\n\t\t\treturn errors.New(\"Address is empty.\")\n\t\t}\n\n\t\tqtypeAndName := strings.SplitN(addr, \"+\", 2)\n\t\thostAndPort := strings.SplitN(addr, \":\", 2)\n\t\tif len(qtypeAndName) != 2 && len(hostAndPort) != 2 {\n\t\t\treturn errors.Errorf(\"Address %s is not of <host>:<port> format or a valid DNS query.\", addr)\n\t\t}\n\t}\n\n\treturn nil\n}\n\n// RegisterHTTPFlags register flags commonly used to configure http servers with.\nfunc RegisterHTTPFlags(cmd FlagClause) (httpBindAddr *string, httpGracePeriod *model.Duration, httpTLSConfig *string) {\n\thttpBindAddr = cmd.Flag(\"http-address\", \"Listen host:port for HTTP endpoints.\").Default(\"0.0.0.0:10902\").String()\n\thttpGracePeriod = ModelDuration(cmd.Flag(\"http-grace-period\", \"Time to wait after an interrupt received for HTTP Server.\").Default(\"2m\")) // by default it's the same as query.timeout.\n\thttpTLSConfig = cmd.Flag(\n\t\t\"http.config\",","sourceCodeStart":36,"sourceCodeEnd":72,"githubUrl":"https://github.com/thanos-io/thanos/blob/35b8b991177def87ed52dcf10f9b6d87f07282c8/pkg/extkingpin/flags.go#L36-L72","documentation":"validateAddrs (used by the repeatable address flags) rejects an address slice containing an empty string, meaning a peer/endpoint address was supplied as blank — usually an empty list entry or an unfilled environment substitution.","triggerScenarios":"Thrown at pkg/extkingpin/flags.go:54 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Provide a non-empty host:port address.","Check for unset environment variables substituted into the flag.","Remove empty entries from the address list."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"35b8b991177def87ed52dcf10f9b6d87f07282c8","analyzedAt":"2026-09-07T01:49:59.689Z","contentChangedAt":"2026-09-07T01:49:59.689Z","schemaVersion":2},"datasetVersion":"2026-09-15T23:17:13.987Z"}