{"record":{"id":"39d7e60dd6d11edf","repo":"jackc/pgx","slug":"error-parsing-port-s-from-lookup-w","errorCode":null,"errorMessage":"error parsing port (%s) from lookup: %w","messagePattern":"error parsing port \\((.+?)\\) from lookup: %w","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pgconn/pgconn.go","lineNumber":221,"sourceCode":"\t\t\t\toriginalHostname: fb.Host,\n\t\t\t\ttlsConfig:        fb.TLSConfig,\n\t\t\t})\n\n\t\t\tcontinue\n\t\t}\n\n\t\tips, err := config.LookupFunc(ctx, fb.Host)\n\t\tif err != nil {\n\t\t\tallErrors = append(allErrors, err)\n\t\t\tcontinue\n\t\t}\n\n\t\tfor _, ip := range ips {\n\t\t\tsplitIP, splitPort, err := net.SplitHostPort(ip)\n\t\t\tif err == nil {\n\t\t\t\tport, err := strconv.ParseUint(splitPort, 10, 16)\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn nil, []error{fmt.Errorf(\"error parsing port (%s) from lookup: %w\", splitPort, err)}\n\t\t\t\t}\n\t\t\t\tnetwork, address := NetworkAddress(splitIP, uint16(port))\n\t\t\t\tconfigs = append(configs, &connectOneConfig{\n\t\t\t\t\tnetwork:          network,\n\t\t\t\t\taddress:          address,\n\t\t\t\t\toriginalHostname: fb.Host,\n\t\t\t\t\ttlsConfig:        fb.TLSConfig,\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\tnetwork, address := NetworkAddress(ip, fb.Port)\n\t\t\t\tconfigs = append(configs, &connectOneConfig{\n\t\t\t\t\tnetwork:          network,\n\t\t\t\t\taddress:          address,\n\t\t\t\t\toriginalHostname: fb.Host,\n\t\t\t\t\ttlsConfig:        fb.TLSConfig,\n\t\t\t\t})\n\t\t\t}\n\t\t}","sourceCodeStart":203,"sourceCodeEnd":239,"githubUrl":"https://github.com/jackc/pgx/blob/ec1a0befd22592cffffdeeb0a50311b506372f4c/pgconn/pgconn.go#L203-L239","documentation":"A custom LookupFunc returned an address string that embedded a port, but that port was not a valid uint16. The %s shows the unparseable port string returned by the resolver.","triggerScenarios":"Thrown at pgconn/pgconn.go:221 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Fix the custom LookupFunc to return valid host or host:port strings","Ensure returned ports are numeric and in the 0-65535 range","Return bare IPs/hostnames if ports are not needed"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"ec1a0befd22592cffffdeeb0a50311b506372f4c","analyzedAt":"2026-08-04T22:52:11.263Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}