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/compile: [signal SIGBUS: bus error] on Apple Silicon DTK (amd64 emulation) #41933

Closed
petemoore opened this issue Oct 12, 2020 · 4 comments
Closed
Labels
FrozenDueToAge NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. WaitingForInfo Issue is not actionable because of missing required information, which needs to be provided.

Comments

@petemoore
Copy link

petemoore commented Oct 12, 2020

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

$ go version
go1.13.7

Does this issue reproduce with the latest release?

Not sure. I only saw it once even on go 1.13.7, so could be a flake.

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

This is an Apple Silicon DTK (arm64) running go 1.13.7 darwin/amd64 via emulation

go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/task_160250726230154/Library/Caches/go-build"
GOENV="/Users/task_160250726230154/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/task_160250726230154/gopath1.13.7"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/Users/task_160250726230154/go1.13.7/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/Users/task_160250726230154/go1.13.7/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="0"
GOMOD=""
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 -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build813136243=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?

export ENGINE='multiuser'
export GITHUB_SHA='5ebc949affbb5c3ca2d7fb4fa22c66c727fb4147'
export NO_TEST_SKIP='true'
export GITHUB_CLONE_URL='https://github.com/taskcluster/taskcluster'

function b64 {
  [ "$(uname -s)" != "Darwin" ] || base64 -D
  [ "$(uname -s)" != "Linux" ]  || base64 -d
}
# go test: -race and -msan are only supported on linux/amd64, freebsd/amd64, darwin/amd64 and windows/amd64
if [ "$(uname -m)" == "x86_64" ]; then
  RACE=-race
  CGO_ENABLED_TESTS=1
  # See https://github.com/golang/go/issues/27089#issuecomment-415329050
  VET=-vet=off
else
  RACE=
  CGO_ENABLED_TESTS=0
  VET=
fi
export CGO_ENABLED=0
export GOROOT="$(pwd)/go1.13.7/go"
export GOPATH="$(pwd)/gopath1.13.7"
export PATH="${GOPATH}/bin:${GOROOT}/bin:$(pwd)/bin:${PATH}"
git --version
go version
go env
curl -s "${TASKCLUSTER_PROXY_URL}/secrets/v1/secret/project/taskcluster/testing/generic-worker/ci-creds" | sed -n 's/.*"b64_encoded_credentials_script": "\(.*\)".*/\1/p' | b64 > tc-creds.sh
source tc-creds.sh
if [ ! -d taskcluster/.git ]; then
  rm -rf taskcluster
  git clone "${GITHUB_CLONE_URL}" taskcluster
fi
cd taskcluster
git fetch "${GITHUB_CLONE_URL}" "+${GITHUB_SHA}:refs/heads/X${TASK_ID}"
git checkout -f "X${TASK_ID}"
git reset --hard "${GITHUB_SHA}"
git clean -fdx
git checkout -B tmp -t "X${TASK_ID}"
cd workers/generic-worker
# go.mod and go.sum will be affected by above go get commands, so
# tidy them before checking for changes. Not needed in go 1.14:
# https://github.com/golang/go/issues/30515#issuecomment-581984371
# TODO: use go get -modfile instead when running go 1.14, and remove
# go mod tidy command
go mod tidy
git status
# output of wc command can contain spaces on darwin, so no quotes around expression
test $(git status --porcelain | wc -l) == 0
go install -tags "${ENGINE}" -v -ldflags "-X main.revision=${GITHUB_SHA}" ./...
go install ../../tools/taskcluster-proxy
go install ../../tools/livelog
go vet -tags "${ENGINE}" ./...
if [ "${ENGINE}" == "multiuser" ]; then
  cp "${TASK_USER_CREDENTIALS}" next-task-user.json
  # IMPORTANT - run go test with GW_TESTS_RUN_AS_CURRENT_USER=true *before* running it without
  # otherwise tests that call `go run ....` will write go object files to .cache as root
  GW_TESTS_RUN_AS_CURRENT_USER=true GORACE=history_size=7 CGO_ENABLED=1 go test -tags "${ENGINE}" -timeout 45m -ldflags "-X github.com/taskcluster/taskcluster/v37/workers/generic-worker.revision=${GITHUB_SHA}" -v ${RACE} ${VET}
fi
GORACE=history_size=7 CGO_ENABLED=${CGO_ENABLED_TESTS} go test -tags "${ENGINE}" -timeout 45m -ldflags "-X github.com/taskcluster/taskcluster/v37/workers/generic-worker.revision=${GITHUB_SHA}" -v ${RACE} ${VET} ./...
../../../golangci-lint/golangci-lint-1.23.6-*/golangci-lint run --build-tags "${ENGINE}" --timeout=15m

What did you expect to see?

Successful build and compile

What did you see instead?

go: finding github.com/gorilla/websocket v1.4.2
go: finding github.com/ghodss/yaml v1.0.0
go: finding github.com/taskcluster/shell v0.0.0-20191115171910-c688067f12d3
go: finding github.com/kr/text v0.2.0
go: finding github.com/dgrijalva/jwt-go v3.2.0+incompatible
go: finding github.com/peterbourgon/mergemap v0.0.0-20130613134717-e21c03b7a721
go: finding github.com/taskcluster/slugid-go v1.1.0
go: finding github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815
go: finding gopkg.in/yaml.v2 v2.3.0
go: finding golang.org/x/tools v0.0.0-20200728160517-2ad651e9e297
go: finding github.com/elastic/go-sysinfo v1.3.0
go: finding github.com/getsentry/raven-go v0.2.0
go: finding github.com/gorilla/mux v1.7.4
go: finding github.com/pborman/uuid v1.2.0
go: finding github.com/aws/aws-sdk-go v1.33.5
go: finding github.com/mholt/archiver v2.1.0+incompatible
go: finding github.com/taskcluster/httpbackoff/v3 v3.1.0
go: finding github.com/fatih/camelcase v1.0.0
go: finding github.com/cenkalti/backoff/v3 v3.2.2
go: finding github.com/pkg/errors v0.9.1
go: finding github.com/taskcluster/taskcluster-lib-urls v13.0.0+incompatible
go: finding golang.org/x/mod v0.3.0
go: finding howett.net/plist v0.0.0-20181124034731-591f970eefbb
go: finding github.com/dchest/uniuri v0.0.0-20200228104902-7aecb25e1fe5
go: finding github.com/tent/hawk-go v0.0.0-20161026210932-d341ea318957
go: finding github.com/jmespath/go-jmespath v0.3.0
go: finding github.com/dsnet/compress v0.0.1
go: finding github.com/golang/snappy v0.0.1
go: finding github.com/certifi/gocertifi v0.0.0-20200211180108-c7c1fbc02894
go: finding github.com/nwaples/rardecode v1.1.0
go: finding github.com/google/uuid v1.0.0
go: finding github.com/pierrec/lz4 v2.5.2+incompatible
go: finding github.com/ulikunitz/xz v0.5.7
go: finding golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543
go: finding github.com/xeipuuv/gojsonschema v1.2.0
go: finding golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a
go: finding github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415
go: finding github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb
github.com/elastic/go-sysinfo/providers/windows
github.com/dsnet/compress/internal
github.com/dsnet/compress/bzip2/internal/sais
github.com/ulikunitz/xz/internal/hash
github.com/docopt/docopt-go
github.com/pkg/errors
howett.net/plist
net
github.com/elastic/go-sysinfo/types
os/user
github.com/elastic/go-sysinfo/internal/registry
github.com/elastic/go-sysinfo/providers/linux
github.com/elastic/go-sysinfo/providers/darwin
archive/tar
github.com/dsnet/compress/internal/errors
github.com/elastic/go-sysinfo
github.com/dsnet/compress
github.com/golang/snappy
github.com/dsnet/compress/internal/prefix
crypto/x509
net/textproto
vendor/golang.org/x/net/http/httpproxy
vendor/golang.org/x/net/http/httpguts
github.com/dsnet/compress/bzip2
github.com/nwaples/rardecode
github.com/pierrec/lz4/internal/xxh32
crypto/tls
github.com/certifi/gocertifi
github.com/pierrec/lz4
github.com/ulikunitz/xz/internal/xlog
github.com/ulikunitz/xz/lzma
github.com/cenkalti/backoff/v3
github.com/taskcluster/shell
github.com/google/uuid
github.com/taskcluster/taskcluster-lib-urls
github.com/fatih/camelcase
github.com/pborman/uuid
github.com/ulikunitz/xz
github.com/taskcluster/taskcluster/v37/tools/jsonschema2go/text
net/http/httptrace
github.com/taskcluster/slugid-go/slugid
github.com/taskcluster/taskcluster/v37/internal
github.com/taskcluster/taskcluster/v37/internal/workerproto
github.com/dgrijalva/jwt-go
net/http
github.com/mholt/archiver
github.com/taskcluster/taskcluster/v37/workers/generic-worker/errorreport
github.com/taskcluster/taskcluster/v37/tools/websocktunnel/util
github.com/taskcluster/taskcluster/v37/workers/generic-worker/host
github.com/taskcluster/taskcluster/v37/workers/generic-worker/graceful
github.com/peterbourgon/mergemap
github.com/taskcluster/taskcluster/v37/workers/generic-worker/fileutil
github.com/dchest/uniuri
github.com/taskcluster/taskcluster/v37/workers/generic-worker/kc
github.com/xeipuuv/gojsonpointer
golang.org/x/crypto/ed25519
github.com/taskcluster/taskcluster/v37/workers/generic-worker/runtime
github.com/taskcluster/taskcluster/v37/workers/generic-worker/gdm3
github.com/xeipuuv/gojsonreference
github.com/taskcluster/taskcluster/v37/workers/generic-worker/process
gopkg.in/yaml.v2
github.com/kr/text
github.com/taskcluster/taskcluster/v37/internal/jsontest
golang.org/x/mod/semver
golang.org/x/tools/internal/event/label
golang.org/x/xerrors/internal
golang.org/x/xerrors
golang.org/x/tools/internal/event/keys
# golang.org/x/tools/internal/event/keys
unexpected fault address 0x18a90a2
fatal error: fault
[signal SIGBUS: bus error code=0x1 addr=0x18a90a2 pc=0x179ce0a]

goroutine 10 [running]:
runtime.throw(0x1a32c87, 0x5)
	/usr/local/go/src/runtime/panic.go:774 +0x72 fp=0xc00061b6d0 sp=0xc00061b6a0 pc=0x102d4d2
runtime.sigpanic()
	/usr/local/go/src/runtime/signal_unix.go:391 +0x455 fp=0xc00061b700 sp=0xc00061b6d0 pc=0x10425a5
runtime: unexpected return pc for cmd/compile/internal/ssa.(*Value).AddArg called from 0x26754e8
stack: frame={sp:0xc00061b700, fp:0xc00061b750} stack=[0xc00061a000,0xc00061c000)
000000c00061b600:  000000c00061b620  0000000000000001 
000000c00061b610:  000000c00061b650  000000000102e033 <runtime.gwrite+163> 
000000c00061b620:  0000000000000002  0000000001a30246 
000000c00061b630:  0000000000000001  0000000000000001 
000000c00061b640:  000000c00061b6b7  0000000000000009 
000000c00061b650:  000000c00061b6a0  000000000102e858 <runtime.printstring+120> 
000000c00061b660:  000000000102d6a7 <runtime.fatalthrow+87>  000000c00061b670 
000000c00061b670:  0000000001058c80 <runtime.fatalthrow.func1+0>  000000c0000cd380 
000000c00061b680:  000000000102d4d2 <runtime.throw+114>  000000c00061b6a0 
000000c00061b690:  000000c00061b6c0  000000000102d4d2 <runtime.throw+114> 
000000c00061b6a0:  000000c00061b6a8  0000000001058c00 <runtime.throw.func1+0> 
000000c00061b6b0:  0000000001a32c87  0000000000000005 
000000c00061b6c0:  000000c00061b6f0  00000000010425a5 <runtime.sigpanic+1109> 
000000c00061b6d0:  0000000001a32c87  0000000000000005 
000000c00061b6e0:  00000000019a4860  00000000018a90a2 <cmd/compile/internal/gc.(*state).stmt+530> 
000000c00061b6f0:  000000c00061b740  000000000179ce0a <cmd/compile/internal/ssa.(*Value).AddArg+74> 
000000c00061b700: <0000000000000000  0000000000000000 
000000c00061b710:  000000c00061b6e0  0000000000000000 
000000c00061b720:  0000000000000000  0000000000000000 
000000c00061b730:  0000001500000000  0000000000000000 
000000c00061b740:  000000c00061b9e8 !00000000026754e8 
000000c00061b750: >00000000018a9072 <cmd/compile/internal/gc.(*state).stmt+482>  000000c000353860 
000000c00061b760:  000000c00048f180  00000000010086db <runtime.memhash+715> 
000000c00061b770:  000000c0004c0918  105f2db6b938671b 
000000c00061b780:  0000000000000020  000000c0004c07c0 
000000c00061b790:  0000000001012e43 <runtime.typedmemmove+67>  000000c01401c0f8 
000000c00061b7a0:  000000c0004c0908  0000000000000030 
000000c00061b7b0:  0000000000000020  49f3dc4b4e15099e 
000000c00061b7c0:  000000c0004c0848  000000000100dc9e <runtime.mapassign+510> 
000000c00061b7d0:  0000000001a03d60  000000c00038c0f8 
000000c00061b7e0:  000000c0004c0908  00000000010433be <runtime.growslice+414> 
000000c00061b7f0:  490000c00000f648  0000000000000008 
000000c00061b800:  000000c00061b758  00000000018ad14d <cmd/compile/internal/gc.(*state).stmt+17085> 
000000c00061b810:  0000000001a59270  0000000000000000 
000000c00061b820:  000000c00061bad0  000000c000353860 
000000c00061b830:  000000000198c970  000000c00000f648 
000000c00061b840:  000000c00038c000  000000c0004c0938 
cmd/compile/internal/ssa.(*Value).AddArg(0x18a9072, 0xc000353860)
	/usr/local/go/src/cmd/compile/internal/ssa/value.go:214 +0x4a fp=0xc00061b750 sp=0xc00061b700 pc=0x179ce0a
created by cmd/compile/internal/gc.compileFunctions
	/usr/local/go/src/cmd/compile/internal/gc/pgen.go:361 +0x128

goroutine 1 [runnable]:
cmd/compile/internal/gc.compileFunctions()
	/usr/local/go/src/cmd/compile/internal/gc/pgen.go:369 +0x17c
cmd/compile/internal/gc.Main(0x1a59170)
	/usr/local/go/src/cmd/compile/internal/gc/main.go:695 +0x3241
main.main()
	/usr/local/go/src/cmd/compile/main.go:51 +0xac

goroutine 7 [runnable]:
cmd/compile/internal/ssa.(*Block).NewValue1(0xc000506c20, 0x7500000000085, 0xc000000850, 0xc00008be00, 0xc0004d0af0, 0xc00061f7a0)
	/usr/local/go/src/cmd/compile/internal/ssa/func.go:370 +0xcd
cmd/compile/internal/gc.(*state).newValue1(...)
	/usr/local/go/src/cmd/compile/internal/gc/ssa.go:560
cmd/compile/internal/gc.(*state).expr(0xc0000740d0, 0xc00049dc80, 0x0)
	/usr/local/go/src/cmd/compile/internal/gc/ssa.go:1847 +0x5997
cmd/compile/internal/gc.(*state).expr(0xc0000740d0, 0xc00049dc00, 0x0)
	/usr/local/go/src/cmd/compile/internal/gc/ssa.go:1837 +0x58ff
cmd/compile/internal/gc.(*state).stmt(0xc0000740d0, 0xc00049db80)
	/usr/local/go/src/cmd/compile/internal/gc/ssa.go:1024 +0x1e2
cmd/compile/internal/gc.(*state).stmtList(0xc0000740d0, 0xc000614b60)
	/usr/local/go/src/cmd/compile/internal/gc/ssa.go:818 +0x58
cmd/compile/internal/gc.buildssa(0xc00042ec60, 0x0, 0x0)
	/usr/local/go/src/cmd/compile/internal/gc/ssa.go:271 +0xb6f
cmd/compile/internal/gc.compileSSA(0xc00042ec60, 0x0)
	/usr/local/go/src/cmd/compile/internal/gc/pgen.go:298 +0x4d
cmd/compile/internal/gc.compileFunctions.func2(0xc0002d7740, 0xc0006a4a50, 0x0)
	/usr/local/go/src/cmd/compile/internal/gc/pgen.go:363 +0x49
created by cmd/compile/internal/gc.compileFunctions
	/usr/local/go/src/cmd/compile/internal/gc/pgen.go:361 +0x128

goroutine 8 [runnable]:
cmd/compile/internal/gc.dowidth(0xc00008acc0)
	/usr/local/go/src/cmd/compile/internal/gc/align.go:163 +0x1282
cmd/compile/internal/types.(*Type).Size(...)
	/usr/local/go/src/cmd/compile/internal/types/type.go:937
cmd/compile/internal/gc.(*state).expr(0xc00033cdd0, 0xc0003b2c00, 0x0)
	/usr/local/go/src/cmd/compile/internal/gc/ssa.go:1906 +0x38d6
cmd/compile/internal/gc.(*state).stmt(0xc00033cdd0, 0xc0006dc100)
	/usr/local/go/src/cmd/compile/internal/gc/ssa.go:1024 +0x1e2
cmd/compile/internal/gc.(*state).stmtList(0xc00033cdd0, 0xc0006bef80)
	/usr/local/go/src/cmd/compile/internal/gc/ssa.go:818 +0x58
cmd/compile/internal/gc.(*state).stmt(0xc00033cdd0, 0xc0006dc200)
	/usr/local/go/src/cmd/compile/internal/gc/ssa.go:836 +0x6c
cmd/compile/internal/gc.(*state).stmtList(0xc00033cdd0, 0xc0006beee0)
	/usr/local/go/src/cmd/compile/internal/gc/ssa.go:818 +0x58
cmd/compile/internal/gc.buildssa(0xc0004178c0, 0x1, 0x0)
	/usr/local/go/src/cmd/compile/internal/gc/ssa.go:271 +0xb6f
cmd/compile/internal/gc.compileSSA(0xc0004178c0, 0x1)
	/usr/local/go/src/cmd/compile/internal/gc/pgen.go:298 +0x4d
cmd/compile/internal/gc.compileFunctions.func2(0xc0002d7740, 0xc0006a4a50, 0x1)
	/usr/local/go/src/cmd/compile/internal/gc/pgen.go:363 +0x49
created by cmd/compile/internal/gc.compileFunctions
	/usr/local/go/src/cmd/compile/internal/gc/pgen.go:361 +0x128

goroutine 9 [runnable]:
cmd/compile/internal/gc.(*state).assign(0xc000446270, 0xc0004a85a0, 0xc00056a190, 0xc0004c0000)
	/usr/local/go/src/cmd/compile/internal/gc/ssa.go:2694 +0xae2
cmd/compile/internal/gc.(*state).stmt(0xc000446270, 0xc000433800)
	/usr/local/go/src/cmd/compile/internal/gc/ssa.go:1058 +0x258
cmd/compile/internal/gc.(*state).stmtList(0xc000446270, 0xc000615520)
	/usr/local/go/src/cmd/compile/internal/gc/ssa.go:818 +0x58
cmd/compile/internal/gc.(*state).stmt(0xc000446270, 0xc000433b00)
	/usr/local/go/src/cmd/compile/internal/gc/ssa.go:840 +0x14a2
cmd/compile/internal/gc.(*state).stmtList(0xc000446270, 0xc0006154e0)
	/usr/local/go/src/cmd/compile/internal/gc/ssa.go:818 +0x58
cmd/compile/internal/gc.buildssa(0xc00042f600, 0x2, 0x0)
	/usr/local/go/src/cmd/compile/internal/gc/ssa.go:271 +0xb6f
cmd/compile/internal/gc.compileSSA(0xc00042f600, 0x2)
	/usr/local/go/src/cmd/compile/internal/gc/pgen.go:298 +0x4d
cmd/compile/internal/gc.compileFunctions.func2(0xc0002d7740, 0xc0006a4a50, 0x2)
	/usr/local/go/src/cmd/compile/internal/gc/pgen.go:363 +0x49
created by cmd/compile/internal/gc.compileFunctions
	/usr/local/go/src/cmd/compile/internal/gc/pgen.go:361 +0x128
golang.org/x/tools/go/ast/astutil
golang.org/x/mod/module
golang.org/x/tools/internal/fastwalk
golang.org/x/tools/internal/gopathwalk
github.com/aws/aws-sdk-go/aws/awserr
github.com/aws/aws-sdk-go/internal/shareddefaults
github.com/aws/aws-sdk-go/internal/sync/singleflight
github.com/aws/aws-sdk-go/internal/ini
github.com/aws/aws-sdk-go/aws/endpoints
github.com/aws/aws-sdk-go/aws/credentials
github.com/ghodss/yaml
github.com/aws/aws-sdk-go/internal/sdkio
github.com/aws/aws-sdk-go/aws/client/metadata
github.com/jmespath/go-jmespath
github.com/aws/aws-sdk-go/internal/sdkrand
github.com/aws/aws-sdk-go/aws/credentials/processcreds
github.com/aws/aws-sdk-go/internal/strings
github.com/aws/aws-sdk-go/internal/sdkmath
github.com/aws/aws-sdk-go/aws/awsutil
github.com/aws/aws-sdk-go/internal/sdkuri
github.com/taskcluster/taskcluster/v37/workers/generic-worker/win32
github.com/taskcluster/taskcluster/v37/workers/generic-worker/yamltojson
github.com/getsentry/raven-go
net/http/httputil
github.com/tent/hawk-go
github.com/gorilla/websocket
github.com/taskcluster/httpbackoff/v3
github.com/gorilla/mux
github.com/taskcluster/taskcluster/v37/clients/client-go
github.com/taskcluster/taskcluster/v37/workers/generic-worker/tchttputil
github.com/taskcluster/taskcluster/v37/tools/websocktunnel/wsmux
github.com/taskcluster/taskcluster/v37/clients/client-go/tcqueue
github.com/taskcluster/taskcluster/v37/clients/client-go/tcsecrets
github.com/taskcluster/taskcluster/v37/clients/client-go/tcworkermanager
github.com/taskcluster/taskcluster/v37/clients/client-go/tcauth
github.com/taskcluster/taskcluster/v37/tools/websocktunnel/client
github.com/taskcluster/taskcluster/v37/clients/client-go/tcpurgecache
github.com/taskcluster/taskcluster/v37/workers/generic-worker/gwconfig
github.com/taskcluster/taskcluster/v37/workers/generic-worker/livelog
github.com/taskcluster/taskcluster/v37/workers/generic-worker/tcproxy
github.com/taskcluster/taskcluster/v37/internal/scopes
github.com/taskcluster/taskcluster/v37/workers/generic-worker/tc
github.com/taskcluster/taskcluster/v37/tools/jsonschema2go
github.com/xeipuuv/gojsonschema
github.com/taskcluster/taskcluster/v37/workers/generic-worker/gw-decision-task
github.com/taskcluster/taskcluster/v37/workers/generic-worker/expose
github.com/aws/aws-sdk-go/aws
github.com/taskcluster/taskcluster/v37/workers/generic-worker/mockec2
github.com/taskcluster/taskcluster/v37/workers/generic-worker/mocks3
github.com/aws/aws-sdk-go/aws/request
github.com/taskcluster/taskcluster/v37/workers/generic-worker/mocktc
github.com/taskcluster/taskcluster/v37/workers/generic-worker
github.com/aws/aws-sdk-go/aws/client
github.com/aws/aws-sdk-go/aws/corehandlers
github.com/aws/aws-sdk-go/private/protocol
github.com/aws/aws-sdk-go/aws/csm
github.com/aws/aws-sdk-go/private/protocol/rest
github.com/aws/aws-sdk-go/private/protocol/query/queryutil
github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil
github.com/aws/aws-sdk-go/aws/signer/v4
github.com/aws/aws-sdk-go/private/protocol/query
github.com/aws/aws-sdk-go/aws/ec2metadata
github.com/aws/aws-sdk-go/service/sts
github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds
github.com/aws/aws-sdk-go/service/sts/stsiface
github.com/aws/aws-sdk-go/private/protocol/json/jsonutil
github.com/aws/aws-sdk-go/aws/credentials/stscreds
github.com/aws/aws-sdk-go/aws/credentials/endpointcreds
github.com/aws/aws-sdk-go/private/protocol/ec2query
github.com/taskcluster/taskcluster/v37/workers/generic-worker/resolvetask
github.com/aws/aws-sdk-go/aws/defaults
github.com/aws/aws-sdk-go/service/ec2
github.com/aws/aws-sdk-go/aws/session
github.com/taskcluster/taskcluster/v37/workers/generic-worker/server-logs
github.com/taskcluster/taskcluster/v37/workers/generic-worker/update-worker-pool
github.com/taskcluster/taskcluster/v37/workers/generic-worker/gw-workers
github.com/taskcluster/taskcluster/v37/workers/generic-worker/occ-workers
[taskcluster 2020-10-12T13:28:18.791Z]    Exit Code: 2
[taskcluster 2020-10-12T13:28:18.791Z]    User Time: 1m0.203483s
[taskcluster 2020-10-12T13:28:18.791Z]  Kernel Time: 13.88138s
[taskcluster 2020-10-12T13:28:18.791Z]    Wall Time: 56.808521s
[taskcluster 2020-10-12T13:28:18.791Z]       Result: FAILED

See: https://community-tc.services.mozilla.com/tasks/fwS_jRPvTX-pGnGdqaXLag/runs/0 for full details (executed commands, full logs, etc)

@randall77
Copy link
Contributor

unexpected fault address 0x18a90a2

That address is bad. First, it is not aligned correctly (it should be 8-byte aligned). Second, it should start with 0xc0 like all the other heap addresses in the trace. Looks like some corruption happened somehow.

That's not the first access to that address in that function, so it doesn't make sense that it faults here but not earlier. (Actually, that specific address is not accessed, but 8 bytes earlier and 8 bytes later are.)

I don't really understand why it bus errors instead of segv. amd64 allows unaligned accesses. Is there something else interesting at that address, or is it just plain unmapped?

Any chance this is a bug in the emulator?

1.13.7 is now unsupported. You should probably upgrade to 1.15. 1.16 will probably have native support for apple silicon. Follow along at #38485.

@dmitshur dmitshur added the NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. label Oct 13, 2020
@dmitshur
Copy link
Contributor

Thanks for the report.

Given it has happened just once, in an old unsupported version, and the error doesn't make much sense, we can probably close this issue for now. It can be re-opened if it happens again with a supported version of Go.

@dmitshur dmitshur added the WaitingForInfo Issue is not actionable because of missing required information, which needs to be provided. label Oct 13, 2020
@cherrymui
Copy link
Member

If you try Go 1.15 (or 1.14 or tip), set environment variable GODEBUG=asyncpreemptoff=1 to disable signal-based preemption. I have seen bugs for signals in the emulator.

@petemoore
Copy link
Author

Thanks all! I'm happy to close, and will upgrade to go 1.15, and raise a new issue if it happens again. However I suspect too it is likely to be a problem with Rosetta 2 amd64 emulation in macOS Big Sur, since I never saw this on our intel macs running the same binary versions.

@golang golang locked and limited conversation to collaborators Oct 13, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
FrozenDueToAge NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. WaitingForInfo Issue is not actionable because of missing required information, which needs to be provided.
Projects
None yet
Development

No branches or pull requests

5 participants