golang/go

cmd/go: unexpected signal during runtime execution

myitcv opened this issue · 1 comments

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

$ go version
go version devel +3922c006ad Fri Nov 22 15:34:14 2019 +0000 linux/amd64

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
GO111MODULE="on"
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/myitcv/.cache/go-build"
GOENV="/home/myitcv/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/myitcv/gostuff"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/home/myitcv/gos"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/home/myitcv/gos/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/home/myitcv/gostuff/src/github.com/myitcv/govim/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build088209235=/tmp/go-build -gno-record-gcc-switches"

What did you do?

Suspect this falls under the banner of #35777

Unfortunately, per #35689 (comment), this is not reproducible.

$ GOPATH=$(mktemp -d) GOPROXY=file:///home/myitcv/gostuff/pkg/mod/cache/download GOCACHE=$(mktemp -d) gts -count=1 ./...
go: downloading golang.org/x/tools v0.0.0-20191122080028-f774e2e2e5be
go: downloading gopkg.in/tomb.v2 v2.0.0-20161208151619-d5d1b5820637
go: downloading github.com/fsnotify/fsnotify v1.4.7
go: downloading github.com/kr/pty v1.1.5
go: downloading gopkg.in/retry.v1 v1.0.3
go: downloading github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d
go: downloading github.com/kr/pretty v0.1.0
go: downloading golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7
go: downloading github.com/kr/text v0.1.0
go: downloading github.com/rogpeppe/go-internal v1.3.2
go: downloading golang.org/x/sync v0.0.0-20190423024810-112230192c58
go: downloading gopkg.in/errgo.v2 v2.1.0
go: downloading golang.org/x/sys v0.0.0-20190429190828-d89cdac9e872
# github.com/govim/govim/cmd/govim/internal/golang_org_x_tools/span
vet: cmd/govim/internal/golang_org_x_tools/span/uri.go:13:2: could not import runtime (cannot import "runtime" (unknown bexport format version -1 ("\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00ler.go\x02gc\x1e$GOROOT/src/runtime/cpuprof.go\x02hz\x00\x1eCPUProfile no longer available\x1c$GOROOT/src/runtime/debug.go\x01n\x04ncpu\x06gcount\x1c$GOROOT/src/runtime/error.go\fRuntimeError")), possibly version skew - reinstall package)
# go/build
fatal error: unexpected signal during runtime execution
[signal SIGSEGV: segmentation violation code=0x80 addr=0x0 pc=0x452e13]

runtime stack:
runtime.throw(0x76e9be, 0x2a)
        /home/myitcv/dev/go/src/runtime/panic.go:1106 +0x72
runtime.sigpanic()
        /home/myitcv/dev/go/src/runtime/signal_unix.go:651 +0x46a
runtime.tracebackdefers(0xc000000180, 0x776258, 0xc000091b08)
        /home/myitcv/dev/go/src/runtime/traceback.go:62 +0xf3
runtime.adjustdefers(0xc000000180, 0xc000091b08)
        /home/myitcv/dev/go/src/runtime/stack.go:746 +0x121
runtime.copystack(0xc000000180, 0x4000)
        /home/myitcv/dev/go/src/runtime/stack.go:875 +0x1b2
runtime.shrinkstack(0xc000000180)
        /home/myitcv/dev/go/src/runtime/stack.go:1140 +0x128
runtime.scanstack(0xc000000180, 0xc00002b690)
        /home/myitcv/dev/go/src/runtime/mgcmark.go:712 +0x538
runtime.markroot.func1()
        /home/myitcv/dev/go/src/runtime/mgcmark.go:228 +0xbf
runtime.markroot(0xc00002b690, 0x5)
        /home/myitcv/dev/go/src/runtime/mgcmark.go:201 +0x2f3
runtime.gcDrain(0xc00002b690, 0x3)
        /home/myitcv/dev/go/src/runtime/mgcmark.go:1001 +0x107
runtime.gcBgMarkWorker.func2()
        /home/myitcv/dev/go/src/runtime/mgc.go:1941 +0x80
runtime.systemstack(0x0)
        /home/myitcv/dev/go/src/runtime/asm_amd64.s:370 +0x66
runtime.mstart()
        /home/myitcv/dev/go/src/runtime/proc.go:1077

goroutine 18 [GC worker (idle)]:
runtime.systemstack_switch()
        /home/myitcv/dev/go/src/runtime/asm_amd64.s:330 fp=0xc00003e760 sp=0xc00003e758 pc=0x45d700
runtime.gcBgMarkWorker(0xc00002a000)
        /home/myitcv/dev/go/src/runtime/mgc.go:1928 +0x1be fp=0xc00003e7d8 sp=0xc00003e760 pc=0x41b65e
runtime.goexit()
        /home/myitcv/dev/go/src/runtime/asm_amd64.s:1375 +0x1 fp=0xc00003e7e0 sp=0xc00003e7d8 pc=0x45f691
created by runtime.gcBgMarkStartWorkers
        /home/myitcv/dev/go/src/runtime/mgc.go:1822 +0x77

goroutine 1 [GC assist marking (scan)]:
go/internal/gcimporter.(*iimporter).stringAt(0xc0000be1b0, 0x152, 0xc00001b2b0, 0xa)
        /home/myitcv/dev/go/src/go/internal/gcimporter/iimport.go:216 +0x163
go/internal/gcimporter.iImportData(0xc000126880, 0xc000224b70, 0xc00067c001, 0x693ac, 0x7fdff, 0xc0000b4c40, 0x6, 0x0, 0x0, 0x0, ...)
        /home/myitcv/dev/go/src/go/internal/gcimporter/iimport.go:137 +0x55b
go/internal/gcimporter.Import(0xc000126880, 0xc000224b70, 0xc0000b4c40, 0x6, 0x0, 0x0, 0xc000205fe0, 0x0, 0x0, 0x0)
        /home/myitcv/dev/go/src/go/internal/gcimporter/gcimporter.go:159 +0x4ab
go/importer.(*gcimports).ImportFrom(0xc000226d20, 0xc0000b4c40, 0x6, 0x0, 0x0, 0x0, 0xc0000cb698, 0x413123, 0xc0000cb680)
        /home/myitcv/dev/go/src/go/importer/importer.go:102 +0x7c
go/importer.(*gcimports).Import(0xc000226d20, 0xc0000b4c40, 0x6, 0x6, 0xc0000cb718, 0x70cb01)
        /home/myitcv/dev/go/src/go/importer/importer.go:95 +0x50
cmd/vendor/golang.org/x/tools/go/analysis/unitchecker.run.func2(0xc0000b5001, 0x6, 0x70c560, 0x1, 0x0)
        /home/myitcv/dev/go/src/cmd/vendor/golang.org/x/tools/go/analysis/unitchecker/unitchecker.go:221 +0x95
cmd/vendor/golang.org/x/tools/go/analysis/unitchecker.importerFunc.Import(0xc000226d40, 0xc0000b5001, 0x6, 0x0, 0x0, 0x768800)
        /home/myitcv/dev/go/src/cmd/vendor/golang.org/x/tools/go/analysis/unitchecker/unitchecker.go:396 +0x3a
go/types.(*Checker).importPackage(0xc0000c1680, 0xde, 0xc0000b5001, 0x6, 0xc0000b0210, 0x1d, 0xc0000bc7d0)
        /home/myitcv/dev/go/src/go/types/resolver.go:158 +0x602
go/types.(*Checker).collectObjects(0xc0000c1680)
        /home/myitcv/dev/go/src/go/types/resolver.go:253 +0x8c6
go/types.(*Checker).checkFiles(0xc0000c1680, 0xc00022a000, 0x6, 0x8, 0x0, 0x0)
        /home/myitcv/dev/go/src/go/types/check.go:253 +0x95
go/types.(*Checker).Files(...)
        /home/myitcv/dev/go/src/go/types/check.go:246
go/types.(*Config).Check(0xc00022a180, 0xc0000b4bf8, 0x8, 0xc000126880, 0xc00022a000, 0x6, 0x8, 0xc000216cd0, 0x0, 0x16, ...)
        /home/myitcv/dev/go/src/go/types/api.go:348 +0x134
cmd/vendor/golang.org/x/tools/go/analysis/unitchecker.run(0xc000126880, 0xc0000c4c60, 0xc0000ec600, 0x15, 0x20, 0x2e746c7573, 0x7de360, 0x707d40, 0xc0000b483c, 0xc000093c10)
        /home/myitcv/dev/go/src/cmd/vendor/golang.org/x/tools/go/analysis/unitchecker/unitchecker.go:235 +0x404
cmd/vendor/golang.org/x/tools/go/analysis/unitchecker.Run(0x7ffcc2e4ece3, 0x23, 0xc0000ec600, 0x15, 0x20)
        /home/myitcv/dev/go/src/cmd/vendor/golang.org/x/tools/go/analysis/unitchecker/unitchecker.go:131 +0x113
cmd/vendor/golang.org/x/tools/go/analysis/unitchecker.Main(0xc0000ec600, 0x15, 0x20)
        /home/myitcv/dev/go/src/cmd/vendor/golang.org/x/tools/go/analysis/unitchecker/unitchecker.go:118 +0x25f
main.main()
        /home/myitcv/dev/go/src/cmd/vet/main.go:35 +0x2bd

What did you expect to see?

No fatal error

What did you see instead?

Fatal error

CC @mdempsky @aclements @mknyszek @ianlancetaylor @bcmills @randall77

Thanks. Folding into the super-bug. I'm not 100% positive about the go/build failure, but the vet failure is clearly the same corruption issue. (Closing since this one isn't reproducible.)