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/internal/gc: FAIL: TestReproducibleBuilds; runtime: unexpected return pc for cmd/compile/internal/ssa.Compile called from 0x0 #35900

Closed
mewmew opened this issue Nov 29, 2019 · 2 comments

Comments

@mewmew
Copy link
Contributor

mewmew commented Nov 29, 2019

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

$ go version

go version devel +8054b13536 Thu Nov 28 15:16:27 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=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/u/.cache/go-build"
GOENV="/home/u/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/u/goget:/home/u/Desktop/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/home/u/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/home/u/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
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 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build045730036=/tmp/go-build -gno-record-gcc-switches"

What did you do?

  1. pull latest commit of Go and build by running src/all.bash.

What did you expect to see?

Successful build and passing test cases.

What did you see instead?

--- FAIL: TestReproducibleBuilds (0.00s)
    --- FAIL: TestReproducibleBuilds/issue30202.go (0.13s)
        reproduciblebuilds_test.go:46: failed to compile: exit status 1
            runtime: unexpected return pc for cmd/compile/internal/ssa.Compile called from 0x0
            stack: frame={sp:0xc0003abd38, fp:0xc0003abd40} stack=[0xc0003a8000,0xc0003ac000)
            000000c0003abc38:  0000000000000000  0000000000000000 
            000000c0003abc48:  0000000000000000  0000000000000000 
            000000c0003abc58:  0000000000000000  0000000000000000 
            000000c0003abc68:  0000000000000000  0000000000000000 
            000000c0003abc78:  0000000000000000  0000000000000000 
            000000c0003abc88:  0000000000000000  0000000000000000 
            000000c0003abc98:  0000000000000000  0000000000000000 
            000000c0003abca8:  0000000000000000  0000000000000000 
            000000c0003abcb8:  0000000000000000  0000000000000000 
            000000c0003abcc8:  0000000000000000  0000000000000000 
            000000c0003abcd8:  0000000000000000  0000000000000000 
            000000c0003abce8:  0000000000000000  0000000000000000 
            000000c0003abcf8:  0000000000000000  0000000000000000 
            000000c0003abd08:  0000000000000000  0000000000000000 
            000000c0003abd18:  0000000000000000  0000000000000000 
            000000c0003abd28:  0000000000000000  0000000000000000 
            000000c0003abd38: <0000000000000000 >0000000000000000 
            000000c0003abd48:  0000000000000000  0000000000000000 
            000000c0003abd58:  bfe62e42fefa39ef  0000000000000000 
            000000c0003abd68:  4d6c6f72746e6f43  6f6e3d7265747361 
            000000c0003abd78:  697773442d206575  75616665642e676e 
            000000c0003abd88:  6f633d66616c746c  616a2e6e75732e6d 
            000000c0003abd98:  676e6977732e6176  74672e66616c702e 
            000000c0003abda8:  6f6f4c4b54472e6b  6c656546646e416b 
            000000c0003abdb8:  752f656d6f682f3a  3a6e69622f6f672f 
            000000c0003abdc8:  2f752f656d6f682f  2f706f746b736544 
            000000c0003abdd8:  2f3a6e69622f6f67  672f752f656d6f68 
            000000c0003abde8:  6e69622f7465676f  6f6c2f7273752f3a 
            000000c0003abdf8:  6e6962732f6c6163  6f6c2f7273752f3a 
            000000c0003abe08:  3a6e69622f6c6163  6e69622f7273752f 
            000000c0003abe18:  696c2f7273752f3a  65642f6d766a2f62 
            000000c0003abe28:  69622f746c756166  622f7273752f3a6e 
            000000c0003abe38:  0000000000000000 
            fatal error: unknown caller pc
            
            runtime stack:
            runtime.throw(0xe52c2c, 0x11)
                /home/u/go/src/runtime/panic.go:1106 +0x72
            runtime.gentraceback(0xffffffffffffffff, 0xffffffffffffffff, 0x0, 0xc000082c00, 0x0, 0x0, 0x7fffffff, 0xe6f610, 0x7ffec72cf848, 0x0, ...)
                /home/u/go/src/runtime/traceback.go:273 +0x19fb
            runtime.copystack(0xc000082c00, 0x4000)
                /home/u/go/src/runtime/stack.go:888 +0x291
            runtime.newstack()
                /home/u/go/src/runtime/stack.go:1043 +0x20b
            runtime.morestack()
                /home/u/go/src/runtime/asm_amd64.s:449 +0x8f
            
            goroutine 20 [copystack]:
            runtime: unexpected return pc for cmd/compile/internal/ssa.Compile called from 0x0
            stack: frame={sp:0xc0003abd38, fp:0xc0003abd40} stack=[0xc0003a8000,0xc0003ac000)
            000000c0003abc38:  0000000000000000  0000000000000000 
            000000c0003abc48:  0000000000000000  0000000000000000 
            000000c0003abc58:  0000000000000000  0000000000000000 
            000000c0003abc68:  0000000000000000  0000000000000000 
            000000c0003abc78:  0000000000000000  0000000000000000 
            000000c0003abc88:  0000000000000000  0000000000000000 
            000000c0003abc98:  0000000000000000  0000000000000000 
            000000c0003abca8:  0000000000000000  0000000000000000 
            000000c0003abcb8:  0000000000000000  0000000000000000 
            000000c0003abcc8:  0000000000000000  0000000000000000 
            000000c0003abcd8:  0000000000000000  0000000000000000 
            000000c0003abce8:  0000000000000000  0000000000000000 
            000000c0003abcf8:  0000000000000000  0000000000000000 
            000000c0003abd08:  0000000000000000  0000000000000000 
            000000c0003abd18:  0000000000000000  0000000000000000 
            000000c0003abd28:  0000000000000000  0000000000000000 
            000000c0003abd38: <0000000000000000 >0000000000000000 
            000000c0003abd48:  0000000000000000  0000000000000000 
            000000c0003abd58:  bfe62e42fefa39ef  0000000000000000 
            000000c0003abd68:  4d6c6f72746e6f43  6f6e3d7265747361 
            000000c0003abd78:  697773442d206575  75616665642e676e 
            000000c0003abd88:  6f633d66616c746c  616a2e6e75732e6d 
            000000c0003abd98:  676e6977732e6176  74672e66616c702e 
            000000c0003abda8:  6f6f4c4b54472e6b  6c656546646e416b 
            000000c0003abdb8:  752f656d6f682f3a  3a6e69622f6f672f 
            000000c0003abdc8:  2f752f656d6f682f  2f706f746b736544 
            000000c0003abdd8:  2f3a6e69622f6f67  672f752f656d6f68 
            000000c0003abde8:  6e69622f7465676f  6f6c2f7273752f3a 
            000000c0003abdf8:  6e6962732f6c6163  6f6c2f7273752f3a 
            000000c0003abe08:  3a6e69622f6c6163  6e69622f7273752f 
            000000c0003abe18:  696c2f7273752f3a  65642f6d766a2f62 
            000000c0003abe28:  69622f746c756166  622f7273752f3a6e 
            000000c0003abe38:  0000000000000000 
            cmd/compile/internal/ssa.Compile(0x0)
                /home/u/go/src/cmd/compile/internal/ssa/compile.go:29 +0x159d fp=0xc0003abd40 sp=0xc0003abd38 pc=0x623abd
            created by cmd/compile/internal/gc.compileFunctions
                /home/u/go/src/cmd/compile/internal/gc/pgen.go:361 +0x128
            
            goroutine 1 [semacquire]:
            sync.runtime_Semacquire(0xc0000b6708)
                /home/u/go/src/runtime/sema.go:56 +0x42
            sync.(*WaitGroup).Wait(0xc0000b6700)
                /home/u/go/src/sync/waitgroup.go:130 +0x64
            cmd/compile/internal/gc.compileFunctions()
                /home/u/go/src/cmd/compile/internal/gc/pgen.go:373 +0x1ce
            cmd/compile/internal/gc.Main(0xe6e790)
                /home/u/go/src/cmd/compile/internal/gc/main.go:724 +0x33a5
            main.main()
                /home/u/go/src/cmd/compile/main.go:50 +0xac
            
            goroutine 19 [running]:
                goroutine running on other thread; stack unavailable
            created by cmd/compile/internal/gc.compileFunctions
                /home/u/go/src/cmd/compile/internal/gc/pgen.go:361 +0x128
FAIL
FAIL    cmd/compile/internal/gc 20.068s

Additional information

$ uname -a
Linux x220 5.3.13-arch1-1 #1 SMP PREEMPT Sun, 24 Nov 2019 10:15:50 +0000 x86_64 GNU/Linux

P.S. is this related to the "super-bug" #35777?

Edit: I re-ran all.bash a few times, and the error seems non-deterministic. After three runs, I got two crashes and one pass of all.bash. The first crash is reported above, and the second crash is as follows:

u@x220 ~/g/src> time ./all.bash
Building Go cmd/dist using /home/u/go1.4. (go1.4-bootstrap-20170531 linux/amd64)
Building Go toolchain1 using /home/u/go1.4.
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.
Building packages and commands for linux/amd64.
# cmd/fix
unexpected fault address 0x0
fatal error: fault
[signal SIGSEGV: segmentation violation code=0x80 addr=0x0 pc=0x569c9c]

goroutine 1 [running]:
runtime.throw(0x6b15c8, 0x5)
	/home/u/go/src/runtime/panic.go:1106 +0x72 fp=0xc002106d60 sp=0xc002106d30 pc=0x4322e2
runtime.sigpanic()
	/home/u/go/src/runtime/signal_unix.go:684 +0x3cc fp=0xc002106d90 sp=0xc002106d60 pc=0x4486ac
cmd/link/internal/ld.relocsym(0xc0006be000, 0xc000b21c70)
	/home/u/go/src/cmd/link/internal/ld/data.go:157 +0x10c fp=0xc002106ff0 sp=0xc002106d90 pc=0x569c9c
cmd/link/internal/ld.compressSyms(0xc0006be000, 0xc001fa0030, 0x199e, 0x2ffa, 0xc001fa0028, 0x1, 0x2ffb)
	/home/u/go/src/cmd/link/internal/ld/data.go:2463 +0x450 fp=0xc0021070d0 sp=0xc002106ff0 pc=0x57c160
cmd/link/internal/ld.dwarfcompress(0xc0006be000)
	/home/u/go/src/cmd/link/internal/ld/dwarf.go:1956 +0x15d fp=0xc002107200 sp=0xc0021070d0 pc=0x59648d
cmd/link/internal/ld.Main(0x88b2a0, 0x10, 0x20, 0x1, 0x7, 0x10, 0x6bc915, 0x1b, 0x6b89dc, 0x14, ...)
	/home/u/go/src/cmd/link/internal/ld/main.go:250 +0xcfa fp=0xc002107358 sp=0xc002107200 pc=0x5c543a
main.main()
	/home/u/go/src/cmd/link/main.go:68 +0x1bc fp=0xc002107f88 sp=0xc002107358 pc=0x637eac
runtime.main()
	/home/u/go/src/runtime/proc.go:203 +0x212 fp=0xc002107fe0 sp=0xc002107f88 pc=0x434852
runtime.goexit()
	/home/u/go/src/runtime/asm_amd64.s:1375 +0x1 fp=0xc002107fe8 sp=0xc002107fe0 pc=0x461351
go tool dist: FAILED: /home/u/go/pkg/tool/linux_amd64/go_bootstrap install -gcflags=all= -ldflags=all= std cmd: exit status 2
real 159.29
user 354.03
sys 28.87
@mewmew
Copy link
Contributor Author

mewmew commented Nov 29, 2019

Two crashes (unexpected return pc) and one pass when running all.bash on rev 8054b13.

Running with export GODEBUG=asyncpreemptoff=1, I no longer get crashes. At least not after three consecutive runs of all.bash.

@agnivade
Copy link
Contributor

Yep, this is the super-bug. Let's follow all activity on that bug.

Duplicate of #35777

@golang golang locked and limited conversation to collaborators Nov 28, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants