Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cmd/go: get hangs without error output from unknown revisions #53905

Open
Justin-W opened this issue Jul 15, 2022 · 10 comments
Open

cmd/go: get hangs without error output from unknown revisions #53905

Justin-W opened this issue Jul 15, 2022 · 10 comments
Labels
GoCommand cmd/go modules NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Milestone

Comments

@Justin-W
Copy link

What version of Go are you using (go version)?

$ go version
go version go1.18.4 darwin/arm64

$ git version
git version 2.37.1

Does this issue reproduce with the latest release?

Yes.

What operating system and processor architecture are you using (go env)?

go env Output
$ go env

% go env
GO111MODULE="auto"
GOARCH="arm64"
GOBIN=""
GOCACHE="REDACTED"
GOENV="REDACTED"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="arm64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE="REDACTED"
GONOPROXY="REDACTED"
GONOSUMDB="REDACTED"
GOOS="darwin"
GOPATH="REDACTED"
GOPRIVATE="REDACTED"
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_arm64"
GOVCS=""
GOVERSION="go1.18.4"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD=""
GOWORK=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -arch arm64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/vy/ryp4d95n75q5j6kf58hc551m0000gn/T/go-build559884269=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?

  1. Create/identify 3 go modules/repos: A depended on by B depended on by C (so C indirectly depends on A)
  2. make B's go.mod reference to A invalid
    (for us, A's git history was rewritten; but you could probably manually edit B's go.mod with a invalid pseudo-version to get the same effect)
  3. run go get -u ./... in either B or C (or any module that depends on either of them)
  4. wait for the go process to hang with high CPU, then terminate it
  5. run go list -m -u -json all | jq --raw-output 'select((.Indirect or .Main)|not) | .Path' | xargs -t -I % go get -u -t %@latest, to find any "error:" or "panic:" output
  6. Revert any changes to go.* files resulting from step 5.

What did you expect to see?

Either some output indicating the dependency reference problem(s), or else normal operation of the go get ... command in step 3.

What did you see instead?

Step 3 starts running normally (there may or may not be some output, downloads, etc., with typical levels of CPU by the process), but at some point all output ceases and CPU spikes to 350%-450% and stays basically flat at that level until the go process is terminated.

Step 5 did not hang, and output contained several sections with errors like these:

go: downloading github.com/private-org/module-two v0.0.0-20220713230938-ae346380ff64
go: github.com/private-org/module-one@v0.0.0-20220203083605-df6cd891c11a: invalid version: unknown revision df6cd891c11a
go get -u -t github.com/private-org/module-three@latest
go: github.com/private-org/module-one@v0.0.0-20220203083605-df6cd891c11a: invalid version: unknown revision df6cd891c11a

Workaround

  1. Add a replace directive for each of the "invalid version"s identified in step 5 to the go.mod files of each dependent repo (including indirectly-dependent ones).
  2. Repeat steps 3 through 7 until step 3 finishes normally (i.e. without hanging)

Notes:

  • The hanging behavior happened consistently (100% repeatable; always hanged) on only some of the M1 macs tested. Others with identical hardware and similar go, git, etc. versions, even when running exactly the same commands on the same repos. Not sure why the issue only affected some envs and not others.
  • The root cause for us was that 3 repos had at least 1 pseudo-version reference (by other repos) to a commit which no longer existed in the referenced repo. Once the workaround above was completed for each missing revision, the unexpected go get behavior ceased.
    • I only identified a current go.mod reference to 1 of the 4 "missing revision"s which were in the error output. The other 3 seemed to be referenced exclusively from historical versions of go.mod and go.sum files (e.g. the git history of no-longer-referenced versions of certain modules), but not by any versions which were still directly referenced. IDK how un-referenced versions' go.* contents could still be affecting go get behavior, but it seemed to be the case. Very weird. If true, more details would be appreciated, since that might indicate that the replace directives need to remain in place forever (which would be unfortunate).
  • All repos involved are private repos, but IDK whether that matters or not. I suspect not. (All of the usual "private repo"-related config issues are not an issue for us, since all commands work fine on some machines, and work fine for repos with un-corrupted go.* files even on affected envs.)
  • The hanging happened with latest git and go versions (installed yesterday morning), and also with older versions of go (v1.18) and git. (IDK whether the git version matters or not, since upgrading seemed to have no effect.)
  • All of the repos involved had go 1.17 or go 1.18 directives in their go.mod files. We weren't attempting to preserve pre-v1.17 compatibility.
  • Adding git tags with names equal to the missing pseudoversions (e.g. v0.0.0-20220203083605-df6cd891c11a) did not work as a workaround.
    • It would be nice to have a tag-based way to retroactively "fix" go.mod refs which get broken as a result of commits which get irrevocably deleted. That would be much preferred vs the replace directives workaround.
  • Adding retract directives to the repos which were the source of the "missing" versions did not resolve the problem. (Would've been much nicer if it had, so that the same replace directives didn't need to be replicated in dozens of dependent repos.)
    • I know that retract isn't intended to prevent a dependent repo from referencing a retracted version once it already is, but since I was actually trying to upgrade all the deps, it would've been nice if the go get -u ./... command simply updated the "bad" refs with good ones (and didn't hang), which would have allowed me to iteratively upgrade all dependencies to stop using the bad revisions (without the need to manually identify and replace the "missing" revisions).
@Justin-W
Copy link
Author

FYI: Step 3 of the steps to reproduce produced no output related to the hanging behavior or to the underlying invalid versions being referenced, even with the -v flag and/or the -t flag specified. Having the command output some kind of useful error message would have significantly lessened the effort involved in troubleshooting this issue.

@mknyszek mknyszek added NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. GoCommand cmd/go labels Jul 15, 2022
@mknyszek mknyszek added this to the Backlog milestone Jul 15, 2022
@mknyszek
Copy link
Contributor

CC @bcmills @matloob

@bcmills
Copy link
Contributor

bcmills commented Jul 18, 2022

Without a self-contained example that (at least sometimes) reproduces the issue it's hard to know where to start.

@Justin-W, is it possible that one or more of the attempts had the modules within a workspace (defined by a go.work file)?
If so, this would match #53874 (fixed at HEAD).

@bcmills bcmills added the WaitingForInfo Issue is not actionable because of missing required information, which needs to be provided. label Jul 18, 2022
@Justin-W
Copy link
Author

@Justin-W, is it possible that one or more of the attempts had the modules within a workspace (defined by a go.work file)? If so, this would match #53874 (fixed at HEAD).

Nope. No use of workspaces and no go.work files. Also, the modules did not contain vendored deps.

@bcmills bcmills removed the WaitingForInfo Issue is not actionable because of missing required information, which needs to be provided. label Jul 19, 2022
@bcmills
Copy link
Contributor

bcmills commented Jul 19, 2022

@Justin-W, what happens if you send SIGQUIT or SIGSEGV to the go command once it hangs? (If you get a goroutine dump, please attach it here.)

@bcmills bcmills added the WaitingForInfo Issue is not actionable because of missing required information, which needs to be provided. label Jul 19, 2022
@Justin-W
Copy link
Author

Justin-W commented Jul 19, 2022

@Justin-W, what happens if you send SIGQUIT or SIGSEGV to the go command once it hangs? (If you get a goroutine dump, please attach it here.)

@bcmills This is the SIGQUIT dump when the process for go get -u ./... was "stable" at ~400% CPU:

% go get -u ./...
^\SIGQUIT: quit
PC=0x1aca41628 m=0 sigcode=0

goroutine 0 [idle]:
syscall.syscall(0x140000c4540?, 0x14000000000?, 0x57?, 0x57?)
        /usr/local/go/src/runtime/sys_darwin.go:22 +0x38 fp=0x14001136ba0 sp=0x14001136b40 pc=0x100dcca88
syscall.Close(0x400112d620?)
        /usr/local/go/src/syscall/zsyscall_darwin_arm64.go:509 +0x38 fp=0x14001136bd0 sp=0x14001136ba0 pc=0x100de2038
internal/poll.(*FD).destroy(0x14001419f20)
        /usr/local/go/src/internal/poll/fd_unix.go:84 +0x58 fp=0x14001136c00 sp=0x14001136bd0 pc=0x100e2f848
internal/poll.(*FD).decref(0x14001419f20?)
        /usr/local/go/src/internal/poll/fd_mutex.go:213 +0x8c fp=0x14001136c20 sp=0x14001136c00 pc=0x100e2e55c
internal/poll.(*FD).Close(0x14001419f20)
        /usr/local/go/src/internal/poll/fd_unix.go:107 +0x4c fp=0x14001136c50 sp=0x14001136c20 pc=0x100e2f8dc
os.(*file).close(0x14001419f20)
        /usr/local/go/src/os/file_unix.go:252 +0x78 fp=0x14001136cb0 sp=0x14001136c50 pc=0x100e3c008
os.(*File).Close(0x1013cf648?)
        /usr/local/go/src/os/file_posix.go:25 +0x28 fp=0x14001136cd0 sp=0x14001136cb0 pc=0x100e3a608
go/build.(*Context).matchFile(0x1016ada20, {0x14000ca2640, 0x44}, {0x1400112d365, 0x12}, 0x14000ca2656?, 0x140019804e0, 0x14000020dc0)
        /usr/local/go/src/go/build/build.go:1437 +0x7c0 fp=0x14001136d90 sp=0x14001136cd0 pc=0x100ee5390
go/build.(*Context).Import(0x1016ada20, {0x1011f1ce6, 0x1}, {0x14000ca25f0, 0x44}, 0x0)
        /usr/local/go/src/go/build/build.go:848 +0x1858 fp=0x14001137480 sp=0x14001136d90 pc=0x100edf688
go/build.(*Context).ImportDir(...)
        /usr/local/go/src/go/build/build.go:485
cmd/go/internal/modload.resolveLocalPackage({0x1013d3860, 0x14000122000}, {0x14001bada50?, 0xd?}, 0x14000e61738?)
        /usr/local/go/src/cmd/go/internal/modload/load.go:503 +0xdc fp=0x14001137650 sp=0x14001137480 pc=0x101104a6c
cmd/go/internal/modload.LoadPackages.func1(0x0?, 0x14001a028f0)
        /usr/local/go/src/cmd/go/internal/modload/load.go:277 +0x7e8 fp=0x140011377e0 sp=0x14001137650 pc=0x101104098
cmd/go/internal/modload.LoadPackages({0x1013d3860?, 0x14000122000}, {{0x0, 0x0}, 0x140002da0f0, 0x0, {0x0, 0x0}, 0x1, 0x0, ...}, ...)
        /usr/local/go/src/cmd/go/internal/modload/load.go:359 +0x27c fp=0x14001137aa0 sp=0x140011377e0 pc=0x101102cac
cmd/go/internal/modget.(*resolver).loadPackages(0x140002c0000, {0x1013d3860?, 0x14000122000}, {0x14000fa4cf0, 0x1, 0x1}, 0x140013cf480)
        /usr/local/go/src/cmd/go/internal/modget/get.go:1138 +0xfc fp=0x14001137c00 sp=0x14001137aa0 pc=0x1011cedbc
cmd/go/internal/modget.(*resolver).findAndUpgradeImports(0x140002c0000, {0x1013d3860, 0x14000122000}, {0x14000138048, 0x1, 0x1013b9440?})
        /usr/local/go/src/cmd/go/internal/modget/get.go:1093 +0x228 fp=0x14001137cb0 sp=0x14001137c00 pc=0x1011ce688
cmd/go/internal/modget.runGet({0x1013d3860, 0x14000122000}, 0x140001504b0?, {0x1400013e030, 0x1, 0x1})
        /usr/local/go/src/cmd/go/internal/modget/get.go:350 +0x3ac fp=0x14001137d80 sp=0x14001137cb0 pc=0x1011c902c
main.invoke(0x1016a1b60, {0x1400013e010, 0x3, 0x3})
        /usr/local/go/src/cmd/go/main.go:218 +0x2b0 fp=0x14001137e50 sp=0x14001137d80 pc=0x1011f11f0
main.main()
        /usr/local/go/src/cmd/go/main.go:175 +0x770 fp=0x14001137f70 sp=0x14001137e50 pc=0x1011f0c60
runtime.main()
        /usr/local/go/src/runtime/proc.go:250 +0x250 fp=0x14001137fd0 sp=0x14001137f70 pc=0x100da2490
runtime.goexit()
        /usr/local/go/src/runtime/asm_arm64.s:1263 +0x4 fp=0x14001137fd0 sp=0x14001137fd0 pc=0x100dd0404

goroutine 1 [syscall]:
syscall.syscall(0x140000c4540?, 0x14000000000?, 0x57?, 0x57?)
        /usr/local/go/src/runtime/sys_darwin.go:22 +0x38 fp=0x14001136ba0 sp=0x14001136b40 pc=0x100dcca88
syscall.Close(0x400112d620?)
        /usr/local/go/src/syscall/zsyscall_darwin_arm64.go:509 +0x38 fp=0x14001136bd0 sp=0x14001136ba0 pc=0x100de2038
internal/poll.(*FD).destroy(0x14001419f20)
        /usr/local/go/src/internal/poll/fd_unix.go:84 +0x58 fp=0x14001136c00 sp=0x14001136bd0 pc=0x100e2f848
internal/poll.(*FD).decref(0x14001419f20?)
        /usr/local/go/src/internal/poll/fd_mutex.go:213 +0x8c fp=0x14001136c20 sp=0x14001136c00 pc=0x100e2e55c
internal/poll.(*FD).Close(0x14001419f20)
        /usr/local/go/src/internal/poll/fd_unix.go:107 +0x4c fp=0x14001136c50 sp=0x14001136c20 pc=0x100e2f8dc
os.(*file).close(0x14001419f20)
        /usr/local/go/src/os/file_unix.go:252 +0x78 fp=0x14001136cb0 sp=0x14001136c50 pc=0x100e3c008
os.(*File).Close(0x1013cf648?)
        /usr/local/go/src/os/file_posix.go:25 +0x28 fp=0x14001136cd0 sp=0x14001136cb0 pc=0x100e3a608
go/build.(*Context).matchFile(0x1016ada20, {0x14000ca2640, 0x44}, {0x1400112d365, 0x12}, 0x14000ca2656?, 0x140019804e0, 0x14000020dc0)
        /usr/local/go/src/go/build/build.go:1437 +0x7c0 fp=0x14001136d90 sp=0x14001136cd0 pc=0x100ee5390
go/build.(*Context).Import(0x1016ada20, {0x1011f1ce6, 0x1}, {0x14000ca25f0, 0x44}, 0x0)
        /usr/local/go/src/go/build/build.go:848 +0x1858 fp=0x14001137480 sp=0x14001136d90 pc=0x100edf688
go/build.(*Context).ImportDir(...)
        /usr/local/go/src/go/build/build.go:485
cmd/go/internal/modload.resolveLocalPackage({0x1013d3860, 0x14000122000}, {0x14001bada50?, 0xd?}, 0x14000e61738?)
        /usr/local/go/src/cmd/go/internal/modload/load.go:503 +0xdc fp=0x14001137650 sp=0x14001137480 pc=0x101104a6c
cmd/go/internal/modload.LoadPackages.func1(0x0?, 0x14001a028f0)
        /usr/local/go/src/cmd/go/internal/modload/load.go:277 +0x7e8 fp=0x140011377e0 sp=0x14001137650 pc=0x101104098
cmd/go/internal/modload.LoadPackages({0x1013d3860?, 0x14000122000}, {{0x0, 0x0}, 0x140002da0f0, 0x0, {0x0, 0x0}, 0x1, 0x0, ...}, ...)
        /usr/local/go/src/cmd/go/internal/modload/load.go:359 +0x27c fp=0x14001137aa0 sp=0x140011377e0 pc=0x101102cac
cmd/go/internal/modget.(*resolver).loadPackages(0x140002c0000, {0x1013d3860?, 0x14000122000}, {0x14000fa4cf0, 0x1, 0x1}, 0x140013cf480)
        /usr/local/go/src/cmd/go/internal/modget/get.go:1138 +0xfc fp=0x14001137c00 sp=0x14001137aa0 pc=0x1011cedbc
cmd/go/internal/modget.(*resolver).findAndUpgradeImports(0x140002c0000, {0x1013d3860, 0x14000122000}, {0x14000138048, 0x1, 0x1013b9440?})
        /usr/local/go/src/cmd/go/internal/modget/get.go:1093 +0x228 fp=0x14001137cb0 sp=0x14001137c00 pc=0x1011ce688
cmd/go/internal/modget.runGet({0x1013d3860, 0x14000122000}, 0x140001504b0?, {0x1400013e030, 0x1, 0x1})
        /usr/local/go/src/cmd/go/internal/modget/get.go:350 +0x3ac fp=0x14001137d80 sp=0x14001137cb0 pc=0x1011c902c
main.invoke(0x1016a1b60, {0x1400013e010, 0x3, 0x3})
        /usr/local/go/src/cmd/go/main.go:218 +0x2b0 fp=0x14001137e50 sp=0x14001137d80 pc=0x1011f11f0
main.main()
        /usr/local/go/src/cmd/go/main.go:175 +0x770 fp=0x14001137f70 sp=0x14001137e50 pc=0x1011f0c60
runtime.main()
        /usr/local/go/src/runtime/proc.go:250 +0x250 fp=0x14001137fd0 sp=0x14001137f70 pc=0x100da2490
runtime.goexit()
        /usr/local/go/src/runtime/asm_arm64.s:1263 +0x4 fp=0x14001137fd0 sp=0x14001137fd0 pc=0x100dd0404

r0      0x0
r1      0x0
r2      0x0
r3      0x1016adda0
r4      0x1500
r5      0x14000002230
r6      0x1016de37e
r7      0x1
r8      0x1016aeba0
r9      0x14001136b60
r10     0x3
r11     0x0
r12     0x100de5000
r13     0x16f093120
r14     0x0
r15     0x140001a607f
r16     0x6
r17     0x1aca41620
r18     0x0
r19     0x14
r20     0x20
r21     0x4
r22     0x14000120930
r23     0x14000146ce0
r24     0x22
r25     0x14000120930
r26     0x1013cc6c0
r27     0x840
r28     0x1016adda0
r29     0x16f093108
lr      0x100dd186c
sp      0x16f093100
pc      0x1aca41628
fault   0x1aca41628

@bcmills bcmills removed the WaitingForInfo Issue is not actionable because of missing required information, which needs to be provided. label Jul 19, 2022
@bcmills bcmills self-assigned this Oct 21, 2022
@mfarazahmad
Copy link

I am having the same issue on a M1 Mac unfortunately.

@francislavoie
Copy link

I have another reproducible case when building Caddy with our build tool xcaddy. go get -d -v hangs indefinitely.

In this situation, we're building a newer version of Caddy and trying to plugin another package which depends on an older version of Caddy.

Admittedly this might be a bit noisy because both xcaddy itself and the go get that it runs receive SIGQUIT so they both dump out. But the exact commands xcaddy runs are there in the logs for reproducing if necessary.

Details
$ go version                                                                                                 
go version go1.20.1 linux/amd64

$ xcaddy build v2.6.3 --with github.com/silinternational/certmagic-storage-dynamodb/v3@392afa74
2023/02/15 18:42:17 [INFO] Temporary folder: /tmp/buildenv_2023-02-15-1842.52686811
2023/02/15 18:42:17 [INFO] Writing main module: /tmp/buildenv_2023-02-15-1842.52686811/main.go
package main

import (
	caddycmd "github.com/caddyserver/caddy/v2/cmd"

	// plug in Caddy modules here
	_ "github.com/caddyserver/caddy/v2/modules/standard"
	_ "github.com/silinternational/certmagic-storage-dynamodb/v3"
)

func main() {
	caddycmd.Main()
}
2023/02/15 18:42:17 [INFO] Initializing Go module
2023/02/15 18:42:17 [INFO] exec (timeout=10s): /usr/local/go/bin/go mod init caddy 
go: creating new go.mod: module caddy
go: to add module requirements and sums:
	go mod tidy
2023/02/15 18:42:17 [INFO] Pinning versions
2023/02/15 18:42:17 [INFO] exec (timeout=0s): /usr/local/go/bin/go get -d -v github.com/caddyserver/caddy/v2@v2.6.3 
go: added github.com/beorn7/perks v1.0.1
go: added github.com/caddyserver/caddy/v2 v2.6.3
go: added github.com/caddyserver/certmagic v0.17.2
go: added github.com/cespare/xxhash/v2 v2.1.2
go: added github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0
go: added github.com/golang/mock v1.6.0
go: added github.com/golang/protobuf v1.5.2
go: added github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38
go: added github.com/google/uuid v1.3.0
go: added github.com/klauspost/cpuid/v2 v2.2.3
go: added github.com/libdns/libdns v0.2.1
go: added github.com/matttproud/golang_protobuf_extensions v1.0.1
go: added github.com/mholt/acmez v1.0.4
go: added github.com/miekg/dns v1.1.50
go: added github.com/onsi/ginkgo/v2 v2.2.0
go: added github.com/prometheus/client_golang v1.14.0
go: added github.com/prometheus/client_model v0.3.0
go: added github.com/prometheus/common v0.37.0
go: added github.com/prometheus/procfs v0.8.0
go: added github.com/quic-go/qpack v0.4.0
go: added github.com/quic-go/qtls-go1-18 v0.2.0
go: added github.com/quic-go/qtls-go1-19 v0.2.0
go: added github.com/quic-go/qtls-go1-20 v0.1.0
go: added github.com/quic-go/quic-go v0.32.0
go: added go.uber.org/atomic v1.9.0
go: added go.uber.org/multierr v1.6.0
go: added go.uber.org/zap v1.24.0
go: added golang.org/x/crypto v0.5.0
go: added golang.org/x/exp v0.0.0-20221205204356-47842c84f3db
go: added golang.org/x/mod v0.6.0
go: added golang.org/x/net v0.5.0
go: added golang.org/x/sys v0.5.0
go: added golang.org/x/term v0.5.0
go: added golang.org/x/text v0.6.0
go: added golang.org/x/tools v0.2.0
go: added google.golang.org/protobuf v1.28.1
2023/02/15 18:42:18 [INFO] exec (timeout=0s): /usr/local/go/bin/go get -d -v github.com/silinternational/certmagic-storage-dynamodb/v3@392afa74 github.com/caddyserver/caddy/v2@v2.6.3 
go: added github.com/aws/aws-sdk-go v1.43.26
go: added github.com/jmespath/go-jmespath v0.4.0
go: added github.com/silinternational/certmagic-storage-dynamodb/v3 v3.0.0-20220331125556-392afa743bcf
go: upgraded go.uber.org/multierr v1.6.0 => v1.8.0
2023/02/15 18:42:19 [INFO] exec (timeout=0s): /usr/local/go/bin/go get -d -v  
^\SIGQUIT: quitSIGQUIT: quit

PC=PC=0x47c7880x466059 m= m=00 sigcode= sigcode=128128



goroutine 11goroutine  [192618syscall []:
running]:
aeshashbody(syscall.Syscall6)
(	0xf7/usr/local/go/src/runtime/asm_amd64.s, :0x11168,  +0x319fa40x79,  fp=0xc00004b6300xc00006db48,  sp=0x10000040xc00006db40,  pc=0x00x466059, 
0x0)
	runtime.typehashsyscall/asm_linux_amd64.s(:0x043? +, 0x50xc0012e4f10 fp=, 0xc00004b5e00xc00087bd28 sp=?0xc00004b5d8)
 pc=	0x47c765/usr/local/go/src/runtime/alg.go
:166 +0xef fp=0xc00006dbb8 sp=0xc00006db48 pc=0x404b0fos.(*Process).blockUntilWaitable
(runtime.typehash0xc00001a900()
0x404b0f	?os/wait_waitid.go, :0xc0012e4f0032,  +0x9af0200x9c? fp=)
0xc00004b6d0	sp=/usr/local/go/src/runtime/alg.go0xc00004b5e0: pc=1850x4cec1c +
0x1d6 fp=os.(*Process).wait0xc00006dc28( sp=0xc00001a9000xc00006dbb8)
 pc=	0x404bf6os/exec_unix.go
:22runtime.nilinterhash +(0x280xa02f80 fp=?0xc00004b730,  sp=0xc0013f07180xc00004b6d0? pc=)
0x4c9388	
/usr/local/go/src/runtime/alg.go:130os.(*Process).Wait +(...)
0x86	fp=os/exec.go0xc00006dc60: sp=1320xc00006dc28
 pc=0x404986os/exec.(*Cmd).Wait
(0xc000146580)
runtime.evacuate	(os/exec/exec.go0x9afb60:, 5100xc000506f60 +, 0x540x1 fp=?0xc00004b7a8)
 sp=	0xc00004b730/usr/local/go/src/runtime/map.go pc=:0x4fb0741195
 +github.com/caddyserver/xcaddy.environment.runCommand.func10x25d( fp=)
0xc00006dd18	sp=github.com/caddyserver/xcaddy@v0.3.1/environment.go0xc00006dc60: pc=2600x41245d +
0x26runtime.growWork fp=(0xc00004b7e00x10 sp=?0xc00004b7a8,  pc=0xc000506f600x54e3a6, 
0x9a4120?runtime.goexit)
(	)
/usr/local/go/src/runtime/map.go	:runtime/asm_amd64.s1135: +15710x66 + fp=0x10xc00006dd48 fp= sp=0xc00004b7e80xc00006dd18 sp= pc=0xc00004b7e00x4121c6 pc=
0x462301
runtime.mapassigncreated by (github.com/caddyserver/xcaddy.environment.runCommand0x9afb60
, 	0xc000506f60github.com/caddyserver/xcaddy@v0.3.1/environment.go, :0xe5ef00259? +)
0x1ea	
/usr/local/go/src/runtime/map.go:
610goroutine  +10x14c [ fp=select0xc00006ddd0]:
 sp=0xc00006dd48 pc=github.com/caddyserver/xcaddy.environment.runCommand0x410dac(
{{sync.(*Map).LoadOrStore0x7ffe4bafc1e7(, 0xc0018656880x6, }{, 0x9e3820{, 0xc0000683200xc00166f440, }0x1, , {0x10x97cda0}, , 0xc00166f460{}0xc00001cba0)
, 	0x1f/usr/local/go/src/sync/map.go}:, 230{ +0xc00001a4500x249,  fp=0x260xc00006de30} sp=, 0xc00006ddd00x0 pc=, 0x471ee9...
}, cmd/go/internal/par.(*Cache).Do...()
0xc001865688	, github.com/caddyserver/xcaddy@v0.3.1/environment.go{:0x9e3820265,  +0xc00166f4400x257}
, github.com/caddyserver/xcaddy.environment.execGoGet0xc00006deb0()
{	{/usr/local/go/src/cmd/go/internal/par/work.go0x7ffe4bafc1e7:, 1220x6 +}0x65,  fp={0xc00006de780xc000068320 sp=, 0xc00006de300x1 pc=, 0x5cb0850x1
}, cmd/go/internal/modload.readModGraph.func2{(0xc00001cba0{, {0x1f0xc000a99123}, , 0x18{}0xc00001a450, , {0x260xc000214107}, , 0x70x0}, }...)
}	, /usr/local/go/src/cmd/go/internal/modload/buildlist.go...:)
329	+github.com/caddyserver/xcaddy@v0.3.1/environment.go0xfd: fp=3090xc00006df00 + sp=0x38e0xc00006de78
 pc=0x80125d
cmd/go/internal/modload.readModGraph.func3.1github.com/caddyserver/xcaddy.Builder.newEnvironment(()
{	{/usr/local/go/src/cmd/go/internal/modload/buildlist.go{:{3620x0 +, 0x440x0 fp=}0xc00006df60,  sp={0xc00006df000x0 pc=, 0x8010a40x0
}, cmd/go/internal/par.(*Queue).Add.func1{(0x0)
, 	0x0/usr/local/go/src/cmd/go/internal/par/queue.go}:}58,  +0x00x5f} fp=, 0xc00006dfe0{ sp=0x7ffe4bafc1e70xc00006df60,  pc=0x60x5ca81f}
, {runtime.goexit0xc000068320(, )
...	}/usr/local/go/src/runtime/asm_amd64.s, :...1598} +, 0x1... fp=)
0xc00006dfe8	sp=github.com/caddyserver/xcaddy@v0.3.1/environment.go0xc00006dfe0: pc=1680x468f81 +
0xf6a
created by cmd/go/internal/par.(*Queue).Addgithub.com/caddyserver/xcaddy.Builder.Build
(	{/usr/local/go/src/cmd/go/internal/par/queue.go{:{56{ +0x00x1df, 
0x0
}goroutine , 1{ [0x0chan receive, ]:
0x0}runtime.gopark, ({0x10x0?, , 0x00xc000448f98}?}, , 0x140x0?}, , 0xaa{?0x7ffe4bafc1e7, , 0x800x6?})
, 	{/usr/local/go/src/runtime/proc.go0xc000068320:, 381... +}0xd6,  fp=...0xc000448ef0} sp=, 0xc000448ed0... pc=)
0x439896	
github.com/caddyserver/xcaddy@v0.3.1/builder.go:78 +0x188runtime.chanrecv
(0xc000516a20github.com/caddyserver/xcaddy/cmd.runBuild, (0x0{, 0x5c70200x1, )
0xc0000264c0	}/usr/local/go/src/runtime/chan.go, :{5830xc0000100c0 +, 0x49d0x3 fp=, 0xc000448f800x6b5020 sp=?0xc000448ef0} pc=)
0x4087bd	
github.com/caddyserver/xcaddy@v0.3.1/cmd/main.goruntime.chanrecv1:(1420xc000fddf60 +?0x8c5, 
0x11github.com/caddyserver/xcaddy/cmd.Main?()
)
		/usr/local/go/src/runtime/chan.gogithub.com/caddyserver/xcaddy@v0.3.1/cmd/main.go::44253 + +0x180x12f fp=
0xc000448fa8main.main sp=(0xc000448f80)
 pc=	0x4082b8./main.go
:22 +cmd/go/internal/modload.readModGraph0x17(
{0xc000449600?, 
0xb3bd58goroutine ?6} [, select0x0]:
, {0xc00025f900github.com/caddyserver/xcaddy/cmd.trapSignals?(, {0x820x5c7020, , 0x830xc0000264c0}})
, 	0xc00005c910/usr/local/go/src/cmd/go/internal/modload/buildlist.go)
:	387github.com/caddyserver/xcaddy@v0.3.1/cmd/main.go +:0x394336 fp= +0xc0004495180xc9 sp=
0xc000448fa8created by  pc=github.com/caddyserver/xcaddy/cmd.Main0x8007f4

	github.com/caddyserver/xcaddy@v0.3.1/cmd/main.gocmd/go/internal/modload.selectPotentiallyImportedModules:(50{ +0xb3bd580xb8, 
0xc0000280c8}
, goroutine 0xc001dafa1018,  [0xc0015d0c80syscall, ]:
{0x0?os/signal.signal_recv, (0x0)
, 	0xc000961ea0runtime/sigqueue.go?:}151)
 +	0x2f/usr/local/go/src/cmd/go/internal/modload/edit.go
:os/signal.loop395( +)
0x49f	fp=os/signal/signal_unix.go0xc000449670: sp=230xc000449518 + pc=0x190x808e3f

created by os/signal.Notify.func1.1cmd/go/internal/modload.editRequirements
(	{os/signal/signal.go0xb3bd58:, 1510xc0000280c8 +}0x2a, 
0xc0015d0c80
, rax    {0xf70x0
, rbx    0x00xc000028000, 
0x0rcx    }0x47c78a, 
{rdx    0xc000961ea00xc00004b630, 
0x0rdi    , 0x10xc0003d2000
?rsi    }0x319fa4)

	rbp    /usr/local/go/src/cmd/go/internal/modload/edit.go0xc00004b6c0:
66rsp     +0xc00004b5d80x3d5
 fp=r8     0xc0004498080x0 sp=
0xc000449670r9      pc=0x00x8069d5

r10    cmd/go/internal/modload.EditBuildList0x1000004(
{r11    0xb3bd580x212, 
0xc0000280c8r12    }0xc00004b660, 
{r13    0x00xc000094120, 
0x0r14    , 0xc0001108200x0
}r15    , 0x0{
0xc000961ea0rip    , 0x47c7880x0
, rflags 0x10x212}
)
cs     	0x33/usr/local/go/src/cmd/go/internal/modload/buildlist.go
:fs     6030x0 +
0x87gs      fp=0x00xc000449860
 sp=0xc000449808 pc=0x801d27
cmd/go/internal/modget.(*resolver).updateBuildList(0xc0003be000, {0xb3bd58, 0xc0000280c8}, {0x0, 0x0, 0x0})
	/usr/local/go/src/cmd/go/internal/modget/get.go:1749 +0x2a5 fp=0xc000449a50 sp=0xc000449860 pc=0x931e45
cmd/go/internal/modget.(*resolver).applyUpgrades(0xc0003be000, {0xb3bd58, 0xc0000280c8}, {0x0?, 0x0, 0xc00010fd70?})
	/usr/local/go/src/cmd/go/internal/modget/get.go:1312 +0x465 fp=0xc000449cc0 sp=0xc000449a50 pc=0x92e4c5
cmd/go/internal/modget.runGet({0xb3bd58, 0xc0000280c8}, 0xc00002c678?, {0xc0000240e0, 0x1, 0x1})
	/usr/local/go/src/cmd/go/internal/modget/get.go:351 +0x458 fp=0xc000449d80 sp=0xc000449cc0 pc=0x926c78
main.invoke(0xe522a0, {0xc0000240b0, 0x4, 0x4})
	/usr/local/go/src/cmd/go/main.go:225 +0x3d9 fp=0xc000449e58 sp=0xc000449d80 pc=0x952dd9
main.main()
	/usr/local/go/src/cmd/go/main.go:179 +0x7ce fp=0xc000449f80 sp=0xc000449e58 pc=0x9526ce
runtime.main()
	/usr/local/go/src/runtime/proc.go:250 +0x207 fp=0xc000449fe0 sp=0xc000449f80 pc=0x439467
runtime.goexit()
	/usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000449fe8 sp=0xc000449fe0 pc=0x468f81

goroutine 2 [force gc (idle), 1 minutes]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
	/usr/local/go/src/runtime/proc.go:381 +0xd6 fp=0xc00005afb0 sp=0xc00005af90 pc=0x439896
runtime.goparkunlock(...)
	/usr/local/go/src/runtime/proc.go:387
runtime.forcegchelper()
	/usr/local/go/src/runtime/proc.go:305 +0xb0 fp=0xc00005afe0 sp=0xc00005afb0 pc=0x4396d0
runtime.goexit()
	/usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc00005afe8 sp=0xc00005afe0 pc=0x468f81
created by runtime.init.6
	/usr/local/go/src/runtime/proc.go:293 +0x25

goroutine 3 [GC sweep wait]:
runtime.gopark(0xe5d101?, 0x0?, 0x0?, 0x0?, 0x0?)
	/usr/local/go/src/runtime/proc.go:381 +0xd6 fp=0xc00005b780 sp=0xc00005b760 pc=0x439896
runtime.goparkunlock(...)
	/usr/local/go/src/runtime/proc.go:387
runtime.bgsweep(0x0?)
	/usr/local/go/src/runtime/mgcsweep.go:319 +0xde fp=0xc00005b7c8 sp=0xc00005b780 pc=0x425b3e
runtime.gcenable.func1()
	/usr/local/go/src/runtime/mgc.go:178 +0x26 fp=0xc00005b7e0 sp=0xc00005b7c8 pc=0x41adc6
runtime.goexit()
	/usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc00005b7e8 sp=0xc00005b7e0 pc=0x468f81
created by runtime.gcenable
	/usr/local/go/src/runtime/mgc.go:178 +0x6b

goroutine 4 [sleep]:
runtime.gopark(0xc000024050?, 0x500f8add3f1c7?, 0x0?, 0x0?, 0xaa5f68?)
	/usr/local/go/src/runtime/proc.go:381 +0xd6 fp=0xc00005bf30 sp=0xc00005bf10 pc=0x439896
runtime.goparkunlock(...)
	/usr/local/go/src/runtime/proc.go:387
runtime.(*scavengerState).sleep(0xe5d740, 0x40d3748000000000)
	/usr/local/go/src/runtime/mgcscavenge.go:479 +0x125 fp=0xc00005bfa0 sp=0xc00005bf30 pc=0x423c45
runtime.bgscavenge(0x0?)
	/usr/local/go/src/runtime/mgcscavenge.go:637 +0x7f fp=0xc00005bfc8 sp=0xc00005bfa0 pc=0x42403f
runtime.gcenable.func2()
	/usr/local/go/src/runtime/mgc.go:179 +0x26 fp=0xc00005bfe0 sp=0xc00005bfc8 pc=0x41ad66
runtime.goexit()
	/usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc00005bfe8 sp=0xc00005bfe0 pc=0x468f81
created by runtime.gcenable
	/usr/local/go/src/runtime/mgc.go:179 +0xaa

goroutine 5 [finalizer wait]:
runtime.gopark(0x0?, 0xc0005d5968?, 0x60?, 0x40?, 0x1000000010?)
	/usr/local/go/src/runtime/proc.go:381 +0xd6 fp=0xc000067e28 sp=0xc000067e08 pc=0x439896
runtime.runfinq()
	/usr/local/go/src/runtime/mfinal.go:193 +0x107 fp=0xc000067fe0 sp=0xc000067e28 pc=0x419e07
runtime.goexit()
	/usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000067fe8 sp=0xc000067fe0 pc=0x468f81
created by runtime.createfing
	/usr/local/go/src/runtime/mfinal.go:163 +0x45

goroutine 192619 [chan receive]:
runtime.gopark(0x10?, 0xc001e79e08?, 0x30?, 0x76?, 0xc001e79dc8?)
	/usr/local/go/src/runtime/proc.go:381 +0xd6 fp=0xc001e79d48 sp=0xc001e79d28 pc=0x439896
runtime.chanrecv(0xc00007cd20, 0xc001e79e70, 0x1)
	/usr/local/go/src/runtime/chan.go:583 +0x49d fp=0xc001e79dd8 sp=0xc001e79d48 pc=0x4087bd
runtime.chanrecv1(0xc000b7f028?, 0xc001e79e70?)
	/usr/local/go/src/runtime/chan.go:442 +0x18 fp=0xc001e79e00 sp=0xc001e79dd8 pc=0x4082b8
cmd/go/internal/par.(*Queue).Add(0xc000fddf60, 0xc000767480)
	/usr/local/go/src/cmd/go/internal/par/queue.go:43 +0xa5 fp=0xc001e79ea8 sp=0xc001e79e00 pc=0x5ca645
cmd/go/internal/modload.readModGraph.func3({{0xc000ebc330, 0x10}, {0xc000f36de0, 0x22}}, 0x1)
	/usr/local/go/src/cmd/go/internal/modload/buildlist.go:361 +0x15d fp=0xc001e79f00 sp=0xc001e79ea8 pc=0x800ffd
cmd/go/internal/modload.readModGraph.func3.1()
	/usr/local/go/src/cmd/go/internal/modload/buildlist.go:378 +0xc3 fp=0xc001e79f60 sp=0xc001e79f00 pc=0x801123
cmd/go/internal/par.(*Queue).Add.func1()
	/usr/local/go/src/cmd/go/internal/par/queue.go:58 +0x5f fp=0xc001e79fe0 sp=0xc001e79f60 pc=0x5ca81f
runtime.goexit()
	/usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc001e79fe8 sp=0xc001e79fe0 pc=0x468f81
created by cmd/go/internal/par.(*Queue).Add
	/usr/local/go/src/cmd/go/internal/par/queue.go:56 +0x1df

goroutine 18 [GC worker (idle)]:
runtime.gopark(0x500f8ac138b1b?, 0x3?, 0x94?, 0xf0?, 0x0?)
	/usr/local/go/src/runtime/proc.go:381 +0xd6 fp=0xc000522750 sp=0xc000522730 pc=0x439896
runtime.gcBgMarkWorker()
	/usr/local/go/src/runtime/mgc.go:1275 +0xf1 fp=0xc0005227e0 sp=0xc000522750 pc=0x41cb31
runtime.goexit()
	/usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc0005227e8 sp=0xc0005227e0 pc=0x468f81
created by runtime.gcBgMarkStartWorkers
	/usr/local/go/src/runtime/mgc.go:1199 +0x25

goroutine 34 [GC worker (idle)]:
runtime.gopark(0x500f8ac0cc01d?, 0x3?, 0xe?, 0x25?, 0x0?)
	/usr/local/go/src/runtime/proc.go:381 +0xd6 fp=0xc00051e750 sp=0xc00051e730 pc=0x439896
runtime.gcBgMarkWorker()
	/usr/local/go/src/runtime/mgc.go:1275 +0xf1 fp=0xc00051e7e0 sp=0xc00051e750 pc=0x41cb31
runtime.goexit()
	/usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc00051e7e8 sp=0xc00051e7e0 pc=0x468f81
created by runtime.gcBgMarkStartWorkers
	/usr/local/go/src/runtime/mgc.go:1199 +0x25

goroutine 35 [GC worker (idle)]:
runtime.gopark(0x500f8ac15f90c?, 0x3?, 0x47?, 0x4d?, 0x0?)
	/usr/local/go/src/runtime/proc.go:381 +0xd6 fp=0xc00051ef50 sp=0xc00051ef30 pc=0x439896
runtime.gcBgMarkWorker()
	/usr/local/go/src/runtime/mgc.go:1275 +0xf1 fp=0xc00051efe0 sp=0xc00051ef50 pc=0x41cb31
runtime.goexit()
	/usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc00051efe8 sp=0xc00051efe0 pc=0x468f81
created by runtime.gcBgMarkStartWorkers
	/usr/local/go/src/runtime/mgc.go:1199 +0x25

goroutine 36 [GC worker (idle)]:
runtime.gopark(0x500f8ac15f865?, 0x3?, 0xcb?, 0x3c?, 0x0?)
	/usr/local/go/src/runtime/proc.go:381 +0xd6 fp=0xc00051f750 sp=0xc00051f730 pc=0x439896
runtime.gcBgMarkWorker()
	/usr/local/go/src/runtime/mgc.go:1275 +0xf1 fp=0xc00051f7e0 sp=0xc00051f750 pc=0x41cb31
runtime.goexit()
	/usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc00051f7e8 sp=0xc00051f7e0 pc=0x468f81
created by runtime.gcBgMarkStartWorkers
	/usr/local/go/src/runtime/mgc.go:1199 +0x25

goroutine 37 [GC worker (idle)]:
runtime.gopark(0x500f8ac16044a?, 0x1?, 0xca?, 0x1a?, 0x0?)
	/usr/local/go/src/runtime/proc.go:381 +0xd6 fp=0xc00051ff50 sp=0xc00051ff30 pc=0x439896
runtime.gcBgMarkWorker()
	/usr/local/go/src/runtime/mgc.go:1275 +0xf1 fp=0xc00051ffe0 sp=0xc00051ff50 pc=0x41cb31
runtime.goexit()
	/usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc00051ffe8 sp=0xc00051ffe0 pc=0x468f81
created by runtime.gcBgMarkStartWorkers
	/usr/local/go/src/runtime/mgc.go:1199 +0x25

goroutine 38 [GC worker (idle)]:
runtime.gopark(0x500f6f1a285ea?, 0x3?, 0x3d?, 0xd3?, 0x0?)
	/usr/local/go/src/runtime/proc.go:381 +0xd6 fp=0xc000520750 sp=0xc000520730 pc=0x439896
runtime.gcBgMarkWorker()
	/usr/local/go/src/runtime/mgc.go:1275 +0xf1 fp=0xc0005207e0 sp=0xc000520750 pc=0x41cb31
runtime.goexit()
	/usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc0005207e8 sp=0xc0005207e0 pc=0x468f81
created by runtime.gcBgMarkStartWorkers
	/usr/local/go/src/runtime/mgc.go:1199 +0x25

goroutine 39 [GC worker (idle)]:
runtime.gopark(0x500f8ac15fa26?, 0x1?, 0x5c?, 0x54?, 0x0?)
	/usr/local/go/src/runtime/proc.go:381 +0xd6 fp=0xc000520f50 sp=0xc000520f30 pc=0x439896
runtime.gcBgMarkWorker()
	/usr/local/go/src/runtime/mgc.go:1275 +0xf1 fp=0xc000520fe0 sp=0xc000520f50 pc=0x41cb31
runtime.goexit()
	/usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000520fe8 sp=0xc000520fe0 pc=0x468f81
created by runtime.gcBgMarkStartWorkers
	/usr/local/go/src/runtime/mgc.go:1199 +0x25

goroutine 40 [GC worker (idle)]:
runtime.gopark(0x500f8ac0cbfb0?, 0x3?, 0x5f?, 0x12?, 0x0?)
	/usr/local/go/src/runtime/proc.go:381 +0xd6 fp=0xc000521750 sp=0xc000521730 pc=0x439896
runtime.gcBgMarkWorker()
	/usr/local/go/src/runtime/mgc.go:1275 +0xf1 fp=0xc0005217e0 sp=0xc000521750 pc=0x41cb31
runtime.goexit()
	/usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc0005217e8 sp=0xc0005217e0 pc=0x468f81
created by runtime.gcBgMarkStartWorkers
	/usr/local/go/src/runtime/mgc.go:1199 +0x25

goroutine 192615 [chan receive]:
runtime.gopark(0x10?, 0xc000275e08?, 0x30?, 0x76?, 0xc000275dc8?)
	/usr/local/go/src/runtime/proc.go:381 +0xd6 fp=0xc000275d48 sp=0xc000275d28 pc=0x439896
runtime.chanrecv(0xc00007cd20, 0xc000275e70, 0x1)
	/usr/local/go/src/runtime/chan.go:583 +0x49d fp=0xc000275dd8 sp=0xc000275d48 pc=0x4087bd
runtime.chanrecv1(0xc000b7f010?, 0xc000275e70?)
	/usr/local/go/src/runtime/chan.go:442 +0x18 fp=0xc000275e00 sp=0xc000275dd8 pc=0x4082b8
cmd/go/internal/par.(*Queue).Add(0xc000fddf60, 0xc000767400)
	/usr/local/go/src/cmd/go/internal/par/queue.go:43 +0xa5 fp=0xc000275ea8 sp=0xc000275e00 pc=0x5ca645
cmd/go/internal/modload.readModGraph.func3({{0xc0006dc750, 0x22}, {0xc0005ce398, 0x6}}, 0x1)
	/usr/local/go/src/cmd/go/internal/modload/buildlist.go:361 +0x15d fp=0xc000275f00 sp=0xc000275ea8 pc=0x800ffd
cmd/go/internal/modload.readModGraph.func3.1()
	/usr/local/go/src/cmd/go/internal/modload/buildlist.go:378 +0xc3 fp=0xc000275f60 sp=0xc000275f00 pc=0x801123
cmd/go/internal/par.(*Queue).Add.func1()
	/usr/local/go/src/cmd/go/internal/par/queue.go:58 +0x5f fp=0xc000275fe0 sp=0xc000275f60 pc=0x5ca81f
runtime.goexit()
	/usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000275fe8 sp=0xc000275fe0 pc=0x468f81
created by cmd/go/internal/par.(*Queue).Add
	/usr/local/go/src/cmd/go/internal/par/queue.go:56 +0x1df

goroutine 192620 [chan receive]:
runtime.gopark(0xc000fddf60?, 0xc000767300?, 0x40?, 0xf1?, 0x0?)
	/usr/local/go/src/runtime/proc.go:381 +0xd6 fp=0xc001e7cea8 sp=0xc001e7ce88   pc=0x439896
runtime.chanrecv(0xc00007cd20, 0xc001e7cfa8, 0x1)
	/usr/local/go/src/runtime/chan.go:583 +0x49d fp=0xc001e7cf38 sp=0xc001e7cea8 pc=0x4087bd
runtime.chanrecv1(0x5?, 0x5?)
	/usr/local/go/src/runtime/chan.go:442 +0x18 fp=0xc001e7cf60 sp=0xc001e7cf38 pc=0x4082b8
cmd/go/internal/par.(*Queue).Add.func1()
	/usr/local/go/src/cmd/go/internal/par/queue.go:60 +0x87 fp=0xc001e7cfe0 sp=0xc001e7cf60 pc=0x5ca847
runtime.goexit()
	/usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc001e7cfe8 sp=0xc001e7cfe0 pc=0x468f81
created by cmd/go/internal/par.(*Queue).Add
	/usr/local/go/src/cmd/go/internal/par/queue.go:56 +0x1df

goroutine 192616 [chan receive]:
runtime.gopark(0xc0015be008?, 0x8012e0?, 0x80?, 0xc7?, 0x18?)
	/usr/local/go/src/runtime/proc.go:381 +0xd6 fp=0xc000069ea8 sp=0xc000069e88 pc=0x439896
runtime.chanrecv(0xc00007cd20, 0xc000069fa8, 0x1)
	/usr/local/go/src/runtime/chan.go:583 +0x49d fp=0xc000069f38 sp=0xc000069ea8 pc=0x4087bd
runtime.chanrecv1(0x5?, 0x5?)
	/usr/local/go/src/runtime/chan.go:442 +0x18 fp=0xc000069f60 sp=0xc000069f38 pc=0x4082b8
cmd/go/internal/par.(*Queue).Add.func1()
	/usr/local/go/src/cmd/go/internal/par/queue.go:60 +0x87 fp=0xc000069fe0 sp=0xc000069f60 pc=0x5ca847
runtime.goexit()
	/usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000069fe8 sp=0xc000069fe0 pc=0x468f81
created by cmd/go/internal/par.(*Queue).Add
	/usr/local/go/src/cmd/go/internal/par/queue.go:56 +0x1df

goroutine 192621 [chan receive]:
runtime.gopark(0x10?, 0xc0001f2e08?, 0x30?, 0x76?, 0xc0001f2dc8?)
	/usr/local/go/src/runtime/proc.go:381 +0xd6 fp=0xc0001f2d48 sp=0xc0001f2d28 pc=0x439896
runtime.chanrecv(0xc00007cd20, 0xc0001f2e70, 0x1)
	/usr/local/go/src/runtime/chan.go:583 +0x49d fp=0xc0001f2dd8 sp=0xc0001f2d48 pc=0x4087bd
runtime.chanrecv1(0xc00118aa28?, 0xc0001f2e70?)
	/usr/local/go/src/runtime/chan.go:442 +0x18 fp=0xc0001f2e00 sp=0xc0001f2dd8 pc=0x4082b8
cmd/go/internal/par.(*Queue).Add(0xc000fddf60, 0xc000bbf580)
	/usr/local/go/src/cmd/go/internal/par/queue.go:43 +0xa5 fp=0xc0001f2ea8 sp=0xc0001f2e00 pc=0x5ca645
cmd/go/internal/modload.readModGraph.func3({{0xc0009490a0, 0x1e}, {0xc0008535f0, 0x22}}, 0x1)
	/usr/local/go/src/cmd/go/internal/modload/buildlist.go:361 +0x15d fp=0xc0001f2f00 sp=0xc0001f2ea8 pc=0x800ffd
cmd/go/internal/modload.readModGraph.func3.1()
	/usr/local/go/src/cmd/go/internal/modload/buildlist.go:378 +0xc3 fp=0xc0001f2f60 sp=0xc0001f2f00 pc=0x801123
cmd/go/internal/par.(*Queue).Add.func1()
	/usr/local/go/src/cmd/go/internal/par/queue.go:58 +0x5f fp=0xc0001f2fe0 sp=0xc0001f2f60 pc=0x5ca81f
runtime.goexit()
	/usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc0001f2fe8 sp=0xc0001f2fe0 pc=0x468f81
created by cmd/go/internal/par.(*Queue).Add
	/usr/local/go/src/cmd/go/internal/par/queue.go:56 +0x1df

goroutine 192622 [runnable]:
runtime.gopark(0x10?, 0xc000274e08?, 0x30?, 0x76?, 0xc000274dc8?)
	/usr/local/go/src/runtime/proc.go:381 +0xd6 fp=0xc000274d48 sp=0xc000274d28 pc=0x439896
runtime.chanrecv(0xc00007cd20, 0xc000274e70, 0x1)
	/usr/local/go/src/runtime/chan.go:583 +0x49d fp=0xc000274dd8 sp=0xc000274d48 pc=0x4087bd
runtime.chanrecv1(0xc000b7eff8?, 0xc000274e70?)
	/usr/local/go/src/runtime/chan.go:442 +0x18 fp=0xc000274e00 sp=0xc000274dd8 pc=0x4082b8
cmd/go/internal/par.(*Queue).Add(0xc000fddf60, 0xc0007673c0)
	/usr/local/go/src/cmd/go/internal/par/queue.go:43 +0xa5 fp=0xc000274ea8 sp=0xc000274e00 pc=0x5ca645
cmd/go/internal/modload.readModGraph.func3({{0xc000948b00, 0x19}, {0xc000fb2d38, 0x6}}, 0x1)
	/usr/local/go/src/cmd/go/internal/modload/buildlist.go:361 +0x15d fp=0xc000274f00 sp=0xc000274ea8 pc=0x800ffd
cmd/go/internal/modload.readModGraph.func3.1()
	/usr/local/go/src/cmd/go/internal/modload/buildlist.go:378 +0xc3 fp=0xc000274f60 sp=0xc000274f00 pc=0x801123
cmd/go/internal/par.(*Queue).Add.func1()
	/usr/local/go/src/cmd/go/internal/par/queue.go:58 +0x5f fp=0xc000274fe0 sp=0xc000274f60 pc=0x5ca81f
runtime.goexit()
	/usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000274fe8 sp=0xc000274fe0 pc=0x468f81
created by cmd/go/internal/par.(*Queue).Add
	/usr/local/go/src/cmd/go/internal/par/queue.go:56 +0x1df

goroutine 192617 [chan receive]:
runtime.gopark(0xc002193ea0?, 0x9e3820?, 0xa0?, 0xf3?, 0x0?)
	/usr/local/go/src/runtime/proc.go:381 +0xd6 fp=0xc0001f5ea8 sp=0xc0001f5e88 pc=0x439896
runtime.chanrecv(0xc00007cd20, 0xc0001f5fa8, 0x1)
	/usr/local/go/src/runtime/chan.go:583 +0x49d fp=0xc0001f5f38 sp=0xc0001f5ea8 pc=0x4087bd
runtime.chanrecv1(0x4?, 0x7fe03876a6d0?)
	/usr/local/go/src/runtime/chan.go:442 +0x18 fp=0xc0001f5f60 sp=0xc0001f5f38 pc=0x4082b8
cmd/go/internal/par.(*Queue).Add.func1()
	/usr/local/go/src/cmd/go/internal/par/queue.go:60 +0x87 fp=0xc0001f5fe0 sp=0xc0001f5f60 pc=0x5ca847
runtime.goexit()
	/usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc0001f5fe8 sp=0xc0001f5fe0 pc=0x468f81
created by cmd/go/internal/par.(*Queue).Add
	/usr/local/go/src/cmd/go/internal/par/queue.go:56 +0x1df

rax    0xb404e0
rbx    0x1631828d6bc1d5ce
rcx    0xe
rdx    0xb
rdi    0x0
rsi    0xb3ea80
rbp    0xc00006dba8
rsp    0xc00006db40
r8     0xffffffffffffffff
r9     0x7
r10    0x10
r11    0xc000bd66d8
r12    0x46
r13    0xc000bd66d8
r14    0xc000e31520
r15    0x4
rip    0x466059
rflags 0x202
cs     0x33
fs     0x0
gs     0x0

@bcmills
Copy link
Contributor

bcmills commented Feb 16, 2023

The caddy commands didn't deadlock for me, so I'm guessing this is some kind of race condition in the graph loader. 😞

@LaPingvino
Copy link

LaPingvino commented Aug 14, 2023

I am experiencing the same issue trying to build dolthub/dolt on Linux/ARM64 (Lenovo Chromebook, Crostini, Debian Sid). Building with GOARCH=arm64 on my Linux/AMD64 VPS and then copying to the system circumvents the issue.

Can this be an issue with how the Go tool is compiled with ARM64 specific elements?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
GoCommand cmd/go modules NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Projects
None yet
Development

No branches or pull requests

6 participants