golang / go

The Go programming language
https://go.dev
BSD 3-Clause "New" or "Revised" License
124.21k stars 17.7k forks source link

runtime: AIX build broken with SIGSEGV #70483

Open ayappanec opened 19 hours ago

ayappanec commented 19 hours ago

Go version

go version devel go1.24-a2a4f00783

Output of go env in your module/workspace:

GO111MODULE=''
GOARCH='ppc64'
GOBIN=''
GOCACHE='/home/buildusr/.cache/go-build'
GOENV='/home/buildusr/.config/go/env'
GOEXE=''
GOEXPERIMENT=''
GOFLAGS=''
GOHOSTARCH='ppc64'
GOHOSTOS='aix'
GOINSECURE=''
GOMODCACHE='/home/buildusr/go/pkg/mod'
GONOPROXY=''
GONOSUMDB=''
GOOS='aix'
GOPATH='/home/buildusr/go'
GOPRIVATE=''
GOPROXY='https://proxy.golang.org,direct'
GOROOT='/opt/freeware/lib/golang'
GOSUMDB='sum.golang.org'
GOTMPDIR=''
GOTOOLCHAIN='auto'
GOTOOLDIR='/opt/freeware/lib/golang/pkg/tool/aix_ppc64'
GOVCS=''
GOVERSION='go1.22.6'
GCCGO='gccgo'
GOPPC64='power8'
AR='ar'
CC='gcc'
CXX='g++'
CGO_ENABLED='1'
GOMOD='/dev/null'
GOWORK=''
CGO_CFLAGS='-O2 -g'
CGO_CPPFLAGS=''
CGO_CXXFLAGS='-O2 -g'
CGO_FFLAGS='-O2 -g'
CGO_LDFLAGS='-O2 -g'
PKG_CONFIG='pkg-config'
GOGCCFLAGS='-fPIC -maix64 -pthread -mcmodel=large -fmessage-length=0 -ffile-prefix-map=/tmp/go-build4155363056=/tmp/go-build -gno-record-gcc-switches'

What did you do?

Trigger go build using make.bash

What did you see happen?

Building Go bootstrap cmd/go (go_bootstrap) using Go toolchain1.
Building Go toolchain2 using go_bootstrap and Go toolchain1.
Building Go toolchain3 using go_bootstrap and Go toolchain2.
# runtime
SIGSEGV: segmentation violation
PC=0x100075e74 m=8 sigcode=50 addr=0x20113f960

goroutine 0 gp=0xa00010000003500 m=8 mp=0xa00010000580008 [idle]:
runtime.getGCMaskOnDemand(0x100a0e960)
    runtime/type.go:108 +0x24 fp=0x110cd6570 sp=0x110cd6510 pc=0x100075e74
runtime.getGCMask(...)
    runtime/type.go:86
runtime.(*mspan).typePointersOfUnchecked(0xa00010000382cc0?, 0xa00010000382cc0?)
    runtime/mbitmap.go:200 +0x94 fp=0x110cd65b0 sp=0x110cd6570 pc=0x100012f84
runtime.scanobject(0xa00010000180000, 0xa0001000004c150)
    runtime/mgcmark.go:1426 +0x24c fp=0x110cd6648 sp=0x110cd65b0 pc=0x10002263c
runtime.gcDrain(0xa0001000004c150, 0x7)
    runtime/mgcmark.go:1228 +0x294 fp=0x110cd66c0 sp=0x110cd6648 pc=0x100021d24
runtime.gcDrainMarkWorkerIdle(...)
    runtime/mgcmark.go:1100
runtime.gcBgMarkWorker.func2()
    runtime/mgc.go:1519 +0x74 fp=0x110cd6720 sp=0x110cd66c0 pc=0x10001d614
runtime.systemstack(0x0)
    runtime/asm_ppc64x.s:256 +0x68 fp=0x110cd6740 sp=0x110cd6720 pc=0x100083038

goroutine 203 gp=0xa00010000923880 m=8 mp=0xa00010000580008 [GC worker (active)]:
runtime.systemstack_switch()
    runtime/asm_ppc64x.s:213 +0x10 fp=0xa000100005e3ee0 sp=0xa000100005e3ec0 pc=0x100082fb0
runtime.gcBgMarkWorker(0xa00010002c68380)
    runtime/mgc.go:1483 +0x270 fp=0xa000100005e3f98 sp=0xa000100005e3ee0 pc=0x10001d2f0
runtime.gcBgMarkStartWorkers.gowrap1()
    runtime/mgc.go:1339 +0x4c fp=0xa000100005e3fc0 sp=0xa000100005e3f98 pc=0x10001d06c
runtime.goexit({})
    runtime/asm_ppc64x.s:1022 +0x4 fp=0xa000100005e3fc0 sp=0xa000100005e3fc0 pc=0x100085a14
created by runtime.gcBgMarkStartWorkers in goroutine 1
    runtime/mgc.go:1339 +0x198

https://build.golang.org/log/3ddc19274de093367f9925b03a9135a64c5412e3

What did you expect to see?

The build break started after this change --> https://go-review.googlesource.com/c/go/+/616255

gabyhelp commented 19 hours ago

Related Issues

(Emoji vote if this was helpful or unhelpful; more detailed feedback welcome in this discussion.)

ayappanec commented 14 hours ago

@randall77

dmitshur commented 13 hours ago

CC @golang/aix.