Skip to content

cmd/compile: test/inline_sync.go test fails if GOARM64=v8.1 #67229

@andreybokhanko

Description

@andreybokhanko

Go version

trunk

Output of go env in your module/workspace:

GO111MODULE=""
GOARCH="arm64"
GOBIN=""
GOCACHE="/home/abokhanko/.cache/go-build"
GOENV="/home/abokhanko/.config/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="arm64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/home/abokhanko/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/abokhanko/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/home/abokhanko/goroot"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/home/abokhanko/goroot/pkg/tool/linux_arm64"
GOVCS=""
GOVERSION="go1.20.13"
GCCGO="gccgo"
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 -pthread -Wl,--no-gc-sections -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build1657645440=/tmp/go-build -gno-record-gcc-switches"

What did you do?

$ cd $GOROOT/src
$ GOARM64=v8.1 ../bin/go test cmd/internal/testdir -run=Test/inline_sync.go

What did you see happen?

--- FAIL: Test (0.04s)
    --- FAIL: Test/inline_sync.go (0.41s)
        testdir_test.go:145: exit status 1
            /home/abokhanko/goroot/test/inline_sync.go:26: can inline small5
            /home/abokhanko/goroot/test/inline_sync.go:31: can inline small6
            /home/abokhanko/goroot/test/inline_sync.go:38: can inline small7
            /home/abokhanko/goroot/test/inline_sync.go:45: can inline small8
            /home/abokhanko/goroot/test/inline_sync.go:50: can inline small9
            /home/abokhanko/goroot/test/inline_sync.go:28: inlining call to sync.(*Mutex).Unlock
            /home/abokhanko/goroot/test/inline_sync.go:33: inlining call to sync.(*Mutex).Lock
            /home/abokhanko/goroot/test/inline_sync.go:40: inlining call to sync.(*Once).Do
            /home/abokhanko/goroot/test/inline_sync.go:40: inlining call to atomic.(*Uint32).Load
            /home/abokhanko/goroot/test/inline_sync.go:47: inlining call to sync.(*RWMutex).RUnlock
            /home/abokhanko/goroot/test/inline_sync.go:47: inlining call to atomic.(*Int32).Add
            /home/abokhanko/goroot/test/inline_sync.go:52: inlining call to sync.(*RWMutex).RLock
            /home/abokhanko/goroot/test/inline_sync.go:52: inlining call to atomic.(*Int32).Add
            /home/abokhanko/goroot/test/inline_sync.go:33: internal compiler error: 'small6': if block b1 has non-bool control value v13 = Select0 <uint32> v11

            goroutine 1 [running]:
            runtime/debug.Stack()
                /home/abokhanko/goroot/src/runtime/debug/stack.go:26 +0x64
            cmd/compile/internal/base.FatalfAt({0x4f5408?, 0x40?}, {0x4000022f90, 0x2f}, {0x4000678990, 0x3, 0x3})
                /home/abokhanko/goroot/src/cmd/compile/internal/base/print.go:225 +0x200
            cmd/compile/internal/base.Fatalf(...)
                /home/abokhanko/goroot/src/cmd/compile/internal/base/print.go:194
            cmd/compile/internal/ssagen.(*ssafn).Fatalf(0x4000180008?, {0x1b3350?, 0x40?}, {0x9708a9, 0x29}, {0x40005590e0, 0x2, 0x40004f5488?})
                /home/abokhanko/goroot/src/cmd/compile/internal/ssagen/ssa.go:8208 +0x150
            cmd/compile/internal/ssa.(*Func).Fatalf(0x40004e7a00, {0x9708a9, 0x29}, {0x40005590e0, 0x2, 0x2})
                /home/abokhanko/goroot/src/cmd/compile/internal/ssa/func.go:741 +0x25c
            cmd/compile/internal/ssa.checkFunc(0x40004e7a00)
                /home/abokhanko/goroot/src/cmd/compile/internal/ssa/check.go:85 +0x6e0
            cmd/compile/internal/ssa.Compile(0x40004e7a00)
                /home/abokhanko/goroot/src/cmd/compile/internal/ssa/compile.go:67 +0x314
            cmd/compile/internal/ssagen.buildssa(0x40004eab40, 0x0)
                /home/abokhanko/goroot/src/cmd/compile/internal/ssagen/ssa.go:574 +0x1f80
            cmd/compile/internal/ssagen.Compile(0x40004eab40, 0x0)
                /home/abokhanko/goroot/src/cmd/compile/internal/ssagen/pgen.go:300 +0x30
            cmd/compile/internal/gc.compileFunctions.func5.1(0x4000180001?)
                /home/abokhanko/goroot/src/cmd/compile/internal/gc/compile.go:182 +0x3c
            cmd/compile/internal/gc.compileFunctions.func2(0x40005589c0?)
                /home/abokhanko/goroot/src/cmd/compile/internal/gc/compile.go:136 +0x28
            cmd/compile/internal/gc.compileFunctions.func5({0x4000562080, 0x5, 0x9890b8?})
                /home/abokhanko/goroot/src/cmd/compile/internal/gc/compile.go:181 +0x60
            cmd/compile/internal/gc.compileFunctions()
                /home/abokhanko/goroot/src/cmd/compile/internal/gc/compile.go:192 +0x1f4
            cmd/compile/internal/gc.Main(0x988f00)
                /home/abokhanko/goroot/src/cmd/compile/internal/gc/main.go:303 +0x1264
            main.main()
                /home/abokhanko/goroot/src/cmd/compile/main.go:57 +0x110


FAIL
FAIL    cmd/internal/testdir    0.455s
FAIL

What did you expect to see?

Test passes

Metadata

Metadata

Labels

FixPendingIssues that have a fix which has not yet been reviewed or submitted.FrozenDueToAgeNeedsFixThe path to resolution is known, but the work has not been done.compiler/runtimeIssues related to the Go compiler and/or runtime.

Type

No type

Projects

Status

Done

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions