{"record":{"id":"cf29c33170b0077a","repo":"golang/go","slug":"fetching-s-v","errorCode":null,"errorMessage":"fetching %s: %v","messagePattern":"fetching (.+?): (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/cmd/go/internal/vcs/vcs.go","lineNumber":1152,"sourceCode":"\t\tfetchCache[importPrefix] = res\n\t\treturn res, nil\n\t}\n\n\tresi, _, _ := fetchGroup.Do(importPrefix, func() (resi any, err error) {\n\t\tfetchCacheMu.Lock()\n\t\tif res, ok := fetchCache[importPrefix]; ok {\n\t\t\tfetchCacheMu.Unlock()\n\t\t\treturn res, nil\n\t\t}\n\t\tfetchCacheMu.Unlock()\n\n\t\turl, err := urlForImportPath(importPrefix)\n\t\tif err != nil {\n\t\t\treturn setCache(fetchResult{err: err})\n\t\t}\n\t\tresp, err := web.Get(security, url)\n\t\tif err != nil {\n\t\t\treturn setCache(fetchResult{url: url, err: fmt.Errorf(\"fetching %s: %v\", importPrefix, err)})\n\t\t}\n\t\tbody := resp.Body\n\t\tdefer body.Close()\n\t\timports, err := parseMetaGoImports(body, mod)\n\t\tif len(imports) == 0 {\n\t\t\tif respErr := resp.Err(); respErr != nil {\n\t\t\t\t// If the server's status was not OK, prefer to report that instead of\n\t\t\t\t// an XML parse error.\n\t\t\t\treturn setCache(fetchResult{url: url, err: respErr})\n\t\t\t}\n\t\t}\n\t\tif err != nil {\n\t\t\treturn setCache(fetchResult{url: url, err: fmt.Errorf(\"parsing %s: %v\", resp.URL, err)})\n\t\t}\n\t\tif len(imports) == 0 {\n\t\t\terr = fmt.Errorf(\"fetching %s: no go-import meta tag found in %s\", importPrefix, resp.URL)\n\t\t}\n\t\treturn setCache(fetchResult{url: url, imports: imports, err: err})","sourceCodeStart":1134,"sourceCodeEnd":1170,"githubUrl":"https://github.com/golang/go/blob/b6b368adc57c96c3151d224d172029f233ead2c3/src/cmd/go/internal/vcs/vcs.go#L1134-L1170","documentation":"Inside metaImportsForPrefix (the cached prefix-verification fetch), web.Get failed. The result is cached via setCache for the process lifetime. The %s is the import prefix; %v is the transport error.","triggerScenarios":"Secondary verification fetch for a non-authoritative prefix fails, OR the initial fetch in the prefix-resolution path fails — same transport-level causes as 1140 but on the prefix host.","commonSituations":"Transient network errors during prefix verification; the prefix host differs from the import host and is unreachable; CDN flakiness.","solutions":["Retry (the cached failure is only process-scoped)","Verify the prefix host is reachable and serves go-import tags","Clear module cache lock files and re-run; check GOPROXY/GONOSUMDB"],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":["Retry resolution on transient prefix-host failures (the failure cache is process-scoped)","Ensure the prefix host is as reachable as the import host"],"tags":["go","modules","network","vcs"],"analyzedSha":"b6b368adc57c96c3151d224d172029f233ead2c3","analyzedAt":"2026-08-12T00:22:02.250Z","schemaVersion":2},"datasetVersion":"2026-08-12T08:17:17.861Z"}