goroutine 1 [chan receive, 1 minutes]:
cmd/go/internal/modload.loadFromRoots(0x2eb1a47c05a0, {0xafa7f8, 0x11932a0}, {{{0x0, 0x0}, 0x2eb1a483b740, 0x0, 0x0, {0x0, 0x0}, ...}, ...})
/sdk/gotip/src/cmd/go/internal/modload/load.go:1169 +0x590
cmd/go/internal/modload.LoadPackages(0x2eb1a47c05a0, {0xafa7f8, 0x11932a0}, {{0x0, 0x0}, 0x2eb1a483b740, 0x0, 0x0, {0x0, 0x0}, ...}, ...)
/sdk/gotip/src/cmd/go/internal/modload/load.go:372 +0x57c
cmd/go/internal/modcmd.RunVendor(0x2eb1a47c05a0, {0xafa7f8, 0x11932a0}, 0x0, {0x0, 0x0}, {0x2eb1a47a4260?, 0x486825?, 0x16?})
/sdk/gotip/src/cmd/go/internal/modcmd/vendor.go:92 +0x19e
cmd/go/internal/modcmd.runVendor({0xafa7f8, 0x11932a0}, 0x2eb1a47ea8e8?, {0x2eb1a47a4260, 0x0, 0x0})
/sdk/gotip/src/cmd/go/internal/modcmd/vendor.go:74 +0x14b
main.invoke(0x1162b00, {0x2eb1a47a4260, 0x1, 0x1})
/sdk/gotip/src/cmd/go/main.go:340 +0x8b9
main.main()
/sdk/gotip/src/cmd/go/main.go:219 +0xeb6
goroutine 9 [chan send]:
cmd/go/internal/base.AcquireNet()
/sdk/gotip/src/cmd/go/internal/base/limit.go:50 +0x138
cmd/go/internal/web.get.func1(0x2eb1a4978450)
/sdk/gotip/src/cmd/go/internal/web/http.go:150 +0x357
cmd/go/internal/web.get(0x0, 0x2eb1a4a10360)
/sdk/gotip/src/cmd/go/internal/web/http.go:206 +0x4e3
cmd/go/internal/web.Get(...)
/sdk/gotip/src/cmd/go/internal/web/api.go:186
cmd/go/internal/vcs.metaImportsForPrefix.func2()
/sdk/gotip/src/cmd/go/internal/vcs/vcs.go:1241 +0x1f0
internal/singleflight.(*Group).doCall(0x116e940, 0x2eb1a47f69b0, {0x2eb1a49fea20, 0x27}, 0x0?)
/sdk/gotip/src/internal/singleflight/singleflight.go:93 +0x34
internal/singleflight.(*Group).Do(0x116e940, {0x2eb1a49fea20, 0x27}, 0x2eb1a4978910)
/sdk/gotip/src/internal/singleflight/singleflight.go:63 +0x1a9
cmd/go/internal/vcs.metaImportsForPrefix({0x2eb1a49fea20?, 0x0?}, 0x2eb1a4ba5280?, 0x1?)
/sdk/gotip/src/cmd/go/internal/vcs/vcs.go:1229 +0x8e
cmd/go/internal/vcs.repoRootForImportDynamic({0x2eb1a48c69a1, 0x2a}, 0x1, 0x0)
/sdk/gotip/src/cmd/go/internal/vcs/vcs.go:1130 +0x88a
cmd/go/internal/vcs.RepoRootForImportPath({0x2eb1a48c69a1, 0x2a}, 0x1, 0x0)
/sdk/gotip/src/cmd/go/internal/vcs/vcs.go:879 +0xce
cmd/go/internal/modfetch.lookupDirect({0xafa7f8, 0x11932a0}, {0x2eb1a48c69a1, 0x2a})
/sdk/gotip/src/cmd/go/internal/modfetch/repo.go:305 +0x65
cmd/go/internal/modfetch.lookup(0x10e4100?, {0xafa7f8, 0x11932a0}, {0xa8d0c6, 0x7}, {0x2eb1a48c69a1, 0x2a})
/sdk/gotip/src/cmd/go/internal/modfetch/repo.go:264 +0x1f9
cmd/go/internal/modfetch.(*Fetcher).Lookup.func1.1({0xafa7f8?, 0x11932a0?})
/sdk/gotip/src/cmd/go/internal/modfetch/repo.go:210 +0x3a
cmd/go/internal/modfetch.(*cachingRepo).repo.func1()
/sdk/gotip/src/cmd/go/internal/modfetch/cache.go:211 +0x2f
sync.(*Once).doSlow(0x2eb1a483b590?, 0xb02de0?)
/sdk/gotip/src/sync/once.go:78 +0xac
sync.(*Once).Do(...)
/sdk/gotip/src/sync/once.go:69
cmd/go/internal/modfetch.(*cachingRepo).repo(0x2eb1a4bb2100, {0xafa7f8?, 0x11932a0?})
/sdk/gotip/src/cmd/go/internal/modfetch/cache.go:209 +0x54
cmd/go/internal/modfetch.(*cachingRepo).Zip(0x2eb1a479b490?, {0xafa7f8, 0x11932a0}, {0xaf3560, 0x2eb1a49880c0}, {0x2eb1a47aed30, 0x6})
/sdk/gotip/src/cmd/go/internal/modfetch/cache.go:340 +0x95
cmd/go/internal/modfetch.(*Fetcher).downloadZip.func2({0xa8d0c6?, 0xaf3580?})
/sdk/gotip/src/cmd/go/internal/modfetch/fetch.go:309 +0xa2
cmd/go/internal/modfetch.TryProxies(0x2eb1a4979280)
/sdk/gotip/src/cmd/go/internal/modfetch/proxy.go:163 +0xaf
cmd/go/internal/modfetch.(*Fetcher).downloadZip(0x2eb1a47c0600, {0xafa7f8, 0x11932a0}, {{0x2eb1a48c69a1?, 0x2eb1a47aed30?}, {0x2eb1a47aed30?, 0x2?}}, {0x2eb1a4a38f60, 0x5d})
/sdk/gotip/src/cmd/go/internal/modfetch/fetch.go:304 +0x44a
cmd/go/internal/modfetch.(*Fetcher).DownloadZip.func1()
/sdk/gotip/src/cmd/go/internal/modfetch/fetch.go:241 +0x43a
cmd/internal/par.(*ErrCache[...]).Do.func1()
/sdk/gotip/src/cmd/internal/par/work.go:119 +0x13
cmd/internal/par.(*Cache[...]).Do(0xb02d60, {{0x2eb1a48c69a1, 0x2a}, {0x2eb1a47aed30, 0x6}}, 0x2eb1a4985588)
/sdk/gotip/src/cmd/internal/par/work.go:160 +0x144
cmd/internal/par.(*ErrCache[...]).Do(0x1152060?, {{0x2eb1a48c69a1?, 0x2eb1a48c69a1?}, {0x2eb1a47aed30?, 0x15?}}, 0x1102708?)
/sdk/gotip/src/cmd/internal/par/work.go:118 +0x45
cmd/go/internal/modfetch.(*Fetcher).DownloadZip(0xaf36e0?, {0xafa7f8?, 0x11932a0?}, {{0x2eb1a48c69a1?, 0x2eb1a47aed30?}, {0x2eb1a47aed30?, 0x485cb8?}})
/sdk/gotip/src/cmd/go/internal/modfetch/fetch.go:203 +0x85
cmd/go/internal/modfetch.(*Fetcher).download(0x2eb1a47c0600, {0xafa7f8, 0x11932a0}, {{0x2eb1a48c69a1?, 0x10b2d40?}, {0x2eb1a47aed30?, 0x10b2d40?}})
/sdk/gotip/src/cmd/go/internal/modfetch/fetch.go:112 +0x1ca
cmd/go/internal/modfetch.(*Fetcher).Download.func1()
/sdk/gotip/src/cmd/go/internal/modfetch/fetch.go:53 +0x6a
cmd/internal/par.(*ErrCache[...]).Do.func1()
/sdk/gotip/src/cmd/internal/par/work.go:119 +0x13
cmd/internal/par.(*Cache[...]).Do(0xb02d60, {{0x2eb1a48c69a1, 0x2a}, {0x2eb1a47aed30, 0x6}}, 0x2eb1a49858b8)
/sdk/gotip/src/cmd/internal/par/work.go:160 +0x144
cmd/internal/par.(*ErrCache[...]).Do(0x2a?, {{0x2eb1a48c69a1?, 0x6?}, {0x2eb1a47aed30?, 0x2f?}}, 0x0?)
/sdk/gotip/src/cmd/internal/par/work.go:118 +0x45
cmd/go/internal/modfetch.(*Fetcher).Download(0x2eb1a47c0600, {0xafa7f8, 0x11932a0}, {{0x2eb1a48c69a1?, 0x6?}, {0x2eb1a47aed30?, 0x1?}})
/sdk/gotip/src/cmd/go/internal/modfetch/fetch.go:52 +0x13e
cmd/go/internal/modload.fetch(0x2eb1a47c05a0, {0xafa7f8, 0x11932a0}, {{0x2eb1a48c69a1?, 0x72a759495e5b?}, {0x2eb1a47aed30?, 0x1?}})
/sdk/gotip/src/cmd/go/internal/modload/import.go:824 +0x407
cmd/go/internal/modload.importFromModules(0x2eb1a47c05a0, {0xafa7f8, 0x11932a0}, {0x2eb1a48c69a1, 0x2a}, 0x2eb1a47f6230, 0x0, 0x0)
/sdk/gotip/src/cmd/go/internal/modload/import.go:420 +0xb7a
cmd/go/internal/modload.(*loader).load(0x2eb1a4886000, 0x2eb1a47c05a0, {0xafa7f8, 0x11932a0}, 0x2eb1a4868f70)
/sdk/gotip/src/cmd/go/internal/modload/load.go:1859 +0xb5
cmd/go/internal/modload.(*loader).pkg.func1.1()
/sdk/gotip/src/cmd/go/internal/modload/load.go:1673 +0x27
cmd/internal/par.(*Queue).Add.func1()
/sdk/gotip/src/cmd/internal/par/queue.go:58 +0x57
created by cmd/internal/par.(*Queue).Add in goroutine 1
/sdk/gotip/src/cmd/internal/par/queue.go:56 +0x1cd
goroutine 10 [chan send]:
cmd/go/internal/base.AcquireNet()
/sdk/gotip/src/cmd/go/internal/base/limit.go:50 +0x138
cmd/go/internal/web.get.func1(0x2eb1a4772db0)
/sdk/gotip/src/cmd/go/internal/web/http.go:150 +0x357
cmd/go/internal/web.get(0x1, 0x2eb1a4772e78)
/sdk/gotip/src/cmd/go/internal/web/http.go:206 +0x4e3
cmd/go/internal/web.Get(...)
/sdk/gotip/src/cmd/go/internal/web/api.go:186
cmd/go/internal/modfetch.(*proxyRepo).getBody(0x2eb1a4a66690, {0x21?, 0xe?}, {0x2eb1a4773040, 0xe})
/sdk/gotip/src/cmd/go/internal/modfetch/proxy.go:281 +0x17c
cmd/go/internal/modfetch.(*proxyRepo).getBytes(0x2eb1a47aeda0?, {0xafa910?, 0x11932a0?}, {0x2eb1a4773040?, 0x4860d9?})
/sdk/gotip/src/cmd/go/internal/modfetch/proxy.go:259 +0x5b
cmd/go/internal/modfetch.(*proxyRepo).GoMod(0x2eb1a4a66690, {0xafa910, 0x11932a0}, {0x2eb1a47aeda0, 0x7})
/sdk/gotip/src/cmd/go/internal/modfetch/proxy.go:411 +0x145
cmd/go/internal/modfetch.(*cachingRepo).GoMod.func1()
/sdk/gotip/src/cmd/go/internal/modfetch/cache.go:319 +0xb5
cmd/internal/par.(*ErrCache[...]).Do.func1()
/sdk/gotip/src/cmd/internal/par/work.go:119 +0x29
cmd/internal/par.(*Cache[...]).Do(0xb02fe0, {0x2eb1a47aeda0, 0x7}, 0x2eb1a47732a0)
/sdk/gotip/src/cmd/internal/par/work.go:160 +0x156
cmd/internal/par.(*ErrCache[...]).Do(0x2eb1a483b590?, {0x2eb1a47aeda0?, 0x2eb1a47de1a0?}, 0x18?)
/sdk/gotip/src/cmd/internal/par/work.go:118 +0x47
cmd/go/internal/modfetch.(*cachingRepo).GoMod(0x41960d?, {0xafa910?, 0x11932a0?}, {0x2eb1a47aeda0, 0x7})
/sdk/gotip/src/cmd/go/internal/modfetch/cache.go:312 +0xfa
cmd/go/internal/modfetch.(*Fetcher).GoMod.func2({0x2eb1a47de1a0?, 0x2eb1a47b4370?})
/sdk/gotip/src/cmd/go/internal/modfetch/cache.go:412 +0x77
cmd/go/internal/modfetch.TryProxies(0x2eb1a47734c8)
/sdk/gotip/src/cmd/go/internal/modfetch/proxy.go:163 +0xaf
cmd/go/internal/modfetch.(*Fetcher).GoMod(0x2eb1a47c0600, {0xafa910, 0x11932a0}, {0x2eb1a49562ce, 0xf}, {0x2eb1a47aeda0, 0x7})
/sdk/gotip/src/cmd/go/internal/modfetch/cache.go:411 +0x248
cmd/go/internal/modload.rawGoModData(0x2eb1a47c05a0, {{0x2eb1a49562ce?, 0x1?}, {0x2eb1a47aeda0?, 0x72a7596d29e8?}})
/sdk/gotip/src/cmd/go/internal/modload/modfile.go:813 +0x17e
cmd/go/internal/modload.rawGoModSummary.func1()
/sdk/gotip/src/cmd/go/internal/modload/modfile.go:712 +0x47
cmd/internal/par.(*ErrCache[...]).Do.func1()
/sdk/gotip/src/cmd/internal/par/work.go:119 +0x13
cmd/internal/par.(*Cache[...]).Do(0xb02e60, {{0x2eb1a49562ce, 0xf}, {0x2eb1a47aeda0, 0x7}}, 0x2eb1a4773840)
/sdk/gotip/src/cmd/internal/par/work.go:160 +0x13c
cmd/internal/par.(*ErrCache[...]).Do(0xe?, {{0x2eb1a49562ce?, 0x2f?}, {0x2eb1a47aeda0?, 0x2eb1a47c0638?}}, 0x2eb1a49562ce?)
/sdk/gotip/src/cmd/internal/par/work.go:118 +0x45
cmd/go/internal/modload.rawGoModSummary(0x2eb1a47c05a0, {{0x2eb1a49562ce, 0xf}, {0x2eb1a47aeda0, 0x7}})
/sdk/gotip/src/cmd/go/internal/modload/modfile.go:711 +0x426
cmd/go/internal/modload.goModSummary(0x2eb1a47c05a0, {{0x2eb1a49562ce?, 0x2eb1a49562ce?}, {0x2eb1a47aeda0?, 0x10707a0?}})
/sdk/gotip/src/cmd/go/internal/modload/modfile.go:612 +0x3f6
cmd/go/internal/modload.importFromModules(0x2eb1a47c05a0, {0xafa7f8, 0x11932a0}, {0x2eb1a49562ce, 0xf}, 0x2eb1a47f6230, 0x0, 0x0)
/sdk/gotip/src/cmd/go/internal/modload/import.go:484 +0x1a6e
cmd/go/internal/modload.(*loader).load(0x2eb1a4886000, 0x2eb1a47c05a0, {0xafa7f8, 0x11932a0}, 0x2eb1a483c5b0)
/sdk/gotip/src/cmd/go/internal/modload/load.go:1859 +0xb5
cmd/go/internal/modload.(*loader).pkg.func1.1()
/sdk/gotip/src/cmd/go/internal/modload/load.go:1673 +0x27
cmd/internal/par.(*Queue).Add.func1()
/sdk/gotip/src/cmd/internal/par/queue.go:58 +0x57
created by cmd/internal/par.(*Queue).Add in goroutine 1
/sdk/gotip/src/cmd/internal/par/queue.go:56 +0x1cd
goroutine 11 [chan send]:
cmd/go/internal/base.AcquireNet()
/sdk/gotip/src/cmd/go/internal/base/limit.go:50 +0x138
cmd/go/internal/modfetch/codehost.(*gitRepo).stat(0x2eb1a481ea20, {0xafa7f8, 0x11932a0}, {0x2eb1a47aece6, 0x6})
/sdk/gotip/src/cmd/go/internal/modfetch/codehost/git.go:574 +0x75d
cmd/go/internal/modfetch/codehost.(*gitRepo).Stat.func1()
/sdk/gotip/src/cmd/go/internal/modfetch/codehost/git.go:726 +0x27
cmd/internal/par.(*ErrCache[...]).Do.func1()
/sdk/gotip/src/cmd/internal/par/work.go:119 +0x13
cmd/internal/par.(*Cache[...]).Do(0xb036e0, {0x2eb1a47aece6, 0x6}, 0x2eb1a4a446c0)
/sdk/gotip/src/cmd/internal/par/work.go:160 +0x111
cmd/internal/par.(*ErrCache[...]).Do(0x2eb1a4992030?, {0x2eb1a47aece6?, 0x6?}, 0x2eb1a4a44798?)
/sdk/gotip/src/cmd/internal/par/work.go:118 +0x38
cmd/go/internal/modfetch/codehost.(*gitRepo).Stat(0x1?, {0xafa7f8?, 0x11932a0?}, {0x2eb1a47aece6?, 0x0?})
/sdk/gotip/src/cmd/go/internal/modfetch/codehost/git.go:725 +0x87
cmd/go/internal/modfetch/codehost.(*gitRepo).ReadFile(0x2eb1a481ea20, {0xafa7f8, 0x11932a0}, {0x2eb1a47aece6?, 0x2eb1a4cf2a10?}, {0x2eb1a4992030, 0x6}, 0xb022d0?)
/sdk/gotip/src/cmd/go/internal/modfetch/codehost/git.go:732 +0x3b
cmd/go/internal/modfetch.(*codeRepo).findDir(0x2eb1a47f00e0, {0xafa7f8, 0x11932a0}, {0x2eb1a47aece6, 0x6})
/sdk/gotip/src/cmd/go/internal/modfetch/coderepo.go:843 +0x11d
cmd/go/internal/modfetch.(*codeRepo).Zip(0x2eb1a47f00e0, {0xafa7f8, 0x11932a0}, {0xaf3560, 0x2eb1a4924068}, {0x2eb1a47aece6, 0x6})
/sdk/gotip/src/cmd/go/internal/modfetch/coderepo.go:1087 +0x1be
cmd/go/internal/modfetch.(*cachingRepo).Zip(0x2eb1a48147e0?, {0xafa7f8, 0x11932a0}, {0xaf3560, 0x2eb1a4924068}, {0x2eb1a47aece6, 0x6})
/sdk/gotip/src/cmd/go/internal/modfetch/cache.go:340 +0xbc
cmd/go/internal/modfetch.(*Fetcher).downloadZip.func2({0xa8d0c6?, 0xaf3580?})
/sdk/gotip/src/cmd/go/internal/modfetch/fetch.go:309 +0xa2
cmd/go/internal/modfetch.TryProxies(0x2eb1a4a45280)
/sdk/gotip/src/cmd/go/internal/modfetch/proxy.go:163 +0xaf
cmd/go/internal/modfetch.(*Fetcher).downloadZip(0x2eb1a47c0600, {0xafa7f8, 0x11932a0}, {{0x2eb1a46f167b?, 0x2eb1a47aece6?}, {0x2eb1a47aece6?, 0x2?}}, {0x2eb1a4998af0, 0x4f})
/sdk/gotip/src/cmd/go/internal/modfetch/fetch.go:304 +0x44a
cmd/go/internal/modfetch.(*Fetcher).DownloadZip.func1()
/sdk/gotip/src/cmd/go/internal/modfetch/fetch.go:241 +0x43a
cmd/internal/par.(*ErrCache[...]).Do.func1()
/sdk/gotip/src/cmd/internal/par/work.go:119 +0x13
cmd/internal/par.(*Cache[...]).Do(0xb02d60, {{0x2eb1a46f167b, 0x1c}, {0x2eb1a47aece6, 0x6}}, 0x2eb1a4a45588)
/sdk/gotip/src/cmd/internal/par/work.go:160 +0x144
cmd/internal/par.(*ErrCache[...]).Do(0x1152060?, {{0x2eb1a46f167b?, 0x2eb1a46f167b?}, {0x2eb1a47aece6?, 0x15?}}, 0x1102708?)
/sdk/gotip/src/cmd/internal/par/work.go:118 +0x45
cmd/go/internal/modfetch.(*Fetcher).DownloadZip(0xaf36e0?, {0xafa7f8?, 0x11932a0?}, {{0x2eb1a46f167b?, 0x2eb1a47aece6?}, {0x2eb1a47aece6?, 0x72a75952a1e0?}})
/sdk/gotip/src/cmd/go/internal/modfetch/fetch.go:203 +0x85
cmd/go/internal/modfetch.(*Fetcher).download(0x2eb1a47c0600, {0xafa7f8, 0x11932a0}, {{0x2eb1a46f167b?, 0x10b2d40?}, {0x2eb1a47aece6?, 0x4242b4?}})
/sdk/gotip/src/cmd/go/internal/modfetch/fetch.go:112 +0x1ca
cmd/go/internal/modfetch.(*Fetcher).Download.func1()
/sdk/gotip/src/cmd/go/internal/modfetch/fetch.go:53 +0x6a
cmd/internal/par.(*ErrCache[...]).Do.func1()
/sdk/gotip/src/cmd/internal/par/work.go:119 +0x13
cmd/internal/par.(*Cache[...]).Do(0xb02d60, {{0x2eb1a46f167b, 0x1c}, {0x2eb1a47aece6, 0x6}}, 0x2eb1a4a458b8)
/sdk/gotip/src/cmd/internal/par/work.go:160 +0x144
cmd/internal/par.(*ErrCache[...]).Do(0x1c?, {{0x2eb1a46f167b?, 0x6?}, {0x2eb1a47aece6?, 0x2f?}}, 0x0?)
/sdk/gotip/src/cmd/internal/par/work.go:118 +0x45
cmd/go/internal/modfetch.(*Fetcher).Download(0x2eb1a47c0600, {0xafa7f8, 0x11932a0}, {{0x2eb1a46f167b?, 0x6?}, {0x2eb1a47aece6?, 0x14?}})
/sdk/gotip/src/cmd/go/internal/modfetch/fetch.go:52 +0x13e
cmd/go/internal/modload.fetch(0x2eb1a47c05a0, {0xafa7f8, 0x11932a0}, {{0x2eb1a46f167b?, 0x0?}, {0x2eb1a47aece6?, 0x0?}})
/sdk/gotip/src/cmd/go/internal/modload/import.go:824 +0x407
cmd/go/internal/modload.importFromModules(0x2eb1a47c05a0, {0xafa7f8, 0x11932a0}, {0x2eb1a46f167b, 0x1c}, 0x2eb1a47f6230, 0x0, 0x0)
/sdk/gotip/src/cmd/go/internal/modload/import.go:420 +0xb7a
cmd/go/internal/modload.(*loader).load(0x2eb1a4886000, 0x2eb1a47c05a0, {0xafa7f8, 0x11932a0}, 0x2eb1a4837380)
/sdk/gotip/src/cmd/go/internal/modload/load.go:1859 +0xb5
cmd/go/internal/modload.(*loader).pkg.func1.1()
/sdk/gotip/src/cmd/go/internal/modload/load.go:1673 +0x27
cmd/internal/par.(*Queue).Add.func1()
/sdk/gotip/src/cmd/internal/par/queue.go:58 +0x57
created by cmd/internal/par.(*Queue).Add in goroutine 1
/sdk/gotip/src/cmd/internal/par/queue.go:56 +0x1cd
goroutine 12 [chan send, 1 minutes]:
cmd/go/internal/base.AcquireNet()
/sdk/gotip/src/cmd/go/internal/base/limit.go:50 +0x138
cmd/go/internal/web.get.func1(0x2eb1a4f3ad48)
/sdk/gotip/src/cmd/go/internal/web/http.go:150 +0x357
cmd/go/internal/web.get(0x1, 0x2eb1a4f3ae10)
/sdk/gotip/src/cmd/go/internal/web/http.go:206 +0x4e3
cmd/go/internal/web.Get(...)
/sdk/gotip/src/cmd/go/internal/web/api.go:186
cmd/go/internal/modfetch.(*proxyRepo).getBody(0x2eb1a4a669b0, {0xa8b3e3?, 0x2eb1a4f3af60?}, {0x2eb1a4f3af18, 0xe})
/sdk/gotip/src/cmd/go/internal/modfetch/proxy.go:281 +0x17c
cmd/go/internal/modfetch.(*proxyRepo).Zip(0x2eb1a4a669b0, {0xafa7f8, 0x11932a0}, {0xaf3560, 0x2eb1a46dc240}, {0x2eb1a47aed56, 0x7})
/sdk/gotip/src/cmd/go/internal/modfetch/proxy.go:428 +0x17e
cmd/go/internal/modfetch.(*cachingRepo).Zip(0xaf3580?, {0xafa7f8, 0x11932a0}, {0xaf3560, 0x2eb1a46dc240}, {0x2eb1a47aed56, 0x7})
/sdk/gotip/src/cmd/go/internal/modfetch/cache.go:340 +0xbc
cmd/go/internal/modfetch.(*Fetcher).downloadZip.func2({0x2eb1a47de1a0?, 0x2eb1a47b4370?})
/sdk/gotip/src/cmd/go/internal/modfetch/fetch.go:309 +0xa2
cmd/go/internal/modfetch.TryProxies(0x2eb1a4f3b280)
/sdk/gotip/src/cmd/go/internal/modfetch/proxy.go:163 +0xaf
cmd/go/internal/modfetch.(*Fetcher).downloadZip(0x2eb1a47c0600, {0xafa7f8, 0x11932a0}, {{0x2eb1a4a78bc9?, 0x2eb1a47aed56?}, {0x2eb1a47aed56?, 0x2?}}, {0x2eb1a49fe900, 0x51})
/sdk/gotip/src/cmd/go/internal/modfetch/fetch.go:304 +0x44a
cmd/go/internal/modfetch.(*Fetcher).DownloadZip.func1()
/sdk/gotip/src/cmd/go/internal/modfetch/fetch.go:241 +0x43a
cmd/internal/par.(*ErrCache[...]).Do.func1()
/sdk/gotip/src/cmd/internal/par/work.go:119 +0x13
cmd/internal/par.(*Cache[...]).Do(0xb02d60, {{0x2eb1a4a78bc9, 0x1d}, {0x2eb1a47aed56, 0x7}}, 0x2eb1a4f3b588)
/sdk/gotip/src/cmd/internal/par/work.go:160 +0x144
cmd/internal/par.(*ErrCache[...]).Do(0x1152060?, {{0x2eb1a4a78bc9?, 0x2eb1a4a78bc9?}, {0x2eb1a47aed56?, 0x15?}}, 0x1102708?)
/sdk/gotip/src/cmd/internal/par/work.go:118 +0x45
cmd/go/internal/modfetch.(*Fetcher).DownloadZip(0xaf36e0?, {0xafa7f8?, 0x11932a0?}, {{0x2eb1a4a78bc9?, 0x2eb1a47aed56?}, {0x2eb1a47aed56?, 0x72a7596d3848?}})
/sdk/gotip/src/cmd/go/internal/modfetch/fetch.go:203 +0x85
cmd/go/internal/modfetch.(*Fetcher).download(0x2eb1a47c0600, {0xafa7f8, 0x11932a0}, {{0x2eb1a4a78bc9?, 0x10b2d40?}, {0x2eb1a47aed56?, 0x4242b4?}})
/sdk/gotip/src/cmd/go/internal/modfetch/fetch.go:112 +0x1ca
cmd/go/internal/modfetch.(*Fetcher).Download.func1()
/sdk/gotip/src/cmd/go/internal/modfetch/fetch.go:53 +0x6a
cmd/internal/par.(*ErrCache[...]).Do.func1()
/sdk/gotip/src/cmd/internal/par/work.go:119 +0x13
cmd/internal/par.(*Cache[...]).Do(0xb02d60, {{0x2eb1a4a78bc9, 0x1d}, {0x2eb1a47aed56, 0x7}}, 0x2eb1a4f3b8b8)
/sdk/gotip/src/cmd/internal/par/work.go:160 +0x144
cmd/internal/par.(*ErrCache[...]).Do(0x1d?, {{0x2eb1a4a78bc9?, 0x7?}, {0x2eb1a47aed56?, 0x2f?}}, 0x0?)
/sdk/gotip/src/cmd/internal/par/work.go:118 +0x45
cmd/go/internal/modfetch.(*Fetcher).Download(0x2eb1a47c0600, {0xafa7f8, 0x11932a0}, {{0x2eb1a4a78bc9?, 0x7?}, {0x2eb1a47aed56?, 0x3?}})
/sdk/gotip/src/cmd/go/internal/modfetch/fetch.go:52 +0x13e
cmd/go/internal/modload.fetch(0x2eb1a47c05a0, {0xafa7f8, 0x11932a0}, {{0x2eb1a4a78bc9?, 0x0?}, {0x2eb1a47aed56?, 0x0?}})
/sdk/gotip/src/cmd/go/internal/modload/import.go:824 +0x407
cmd/go/internal/modload.importFromModules(0x2eb1a47c05a0, {0xafa7f8, 0x11932a0}, {0x2eb1a4a78bc9, 0x1d}, 0x2eb1a47f6230, 0x0, 0x0)
/sdk/gotip/src/cmd/go/internal/modload/import.go:420 +0xb7a
cmd/go/internal/modload.(*loader).load(0x2eb1a4886000, 0x2eb1a47c05a0, {0xafa7f8, 0x11932a0}, 0x2eb1a4868ea0)
/sdk/gotip/src/cmd/go/internal/modload/load.go:1859 +0xb5
cmd/go/internal/modload.(*loader).pkg.func1.1()
/sdk/gotip/src/cmd/go/internal/modload/load.go:1673 +0x27
cmd/internal/par.(*Queue).Add.func1()
/sdk/gotip/src/cmd/internal/par/queue.go:58 +0x57
created by cmd/internal/par.(*Queue).Add in goroutine 1
/sdk/gotip/src/cmd/internal/par/queue.go:56 +0x1cd
Go version:
Description:
$ GODEBUG=cmdgonetlimit=1 gotip mod vendor fatal error: all goroutines are asleep - deadlock!Stack trace
When using
GODEBUG=cmdgonetlimit=1to limit concurrent network operations,go mod vendor(and other module commands) can deadlock. The issue occurs because the net semaphore token is not properly released in certain error paths in theweb.get.fetchfunction.Steps to reproduce:
GODEBUG=cmdgonetlimit=1(or any limit > 0)gotip mod vendorin a project that requires fetching multiple modulesWhat happens:
The program hangs with a "fatal error: all goroutines are asleep - deadlock!" message. Multiple goroutines are stuck waiting to acquire net semaphore tokens via
base.AcquireNet(), while the main goroutine waits for the load queue to finish processing.Root cause:
In
src/cmd/go/internal/web/http.go, thefetchfunction has a defer statement that is supposed to release the net semaphore token on error:However, this defer only releases the token when
err != nil. The problem occurs when:err == nilafter line 159)In this case, the defer does not release the token because
errwas nil after the successful first request. The token is only supposed to be released viahookCloser.Close()when the response body is closed, but when an error occurs before returning a response, the token leaks.