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: intermittently crashes with "unexpected fault address 0x2000000008" #27146

gustafj opened this issue Aug 22, 2018 · 2 comments


Copy link

@gustafj gustafj commented Aug 22, 2018

Compile crashes from time to time (is it running out of memory)?
The error printout always contains the same address 0x2000000008 though I do not know if the output is identical as I have compared them that thoroughly.
This is intermittent, re-running the build works.

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

go version go1.10 linux/amd64

Does this issue reproduce with the latest release?

This is intermittent, so don't know yet

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

GOARCH="amd64", GOHOSTARCH="amd64", GOHOSTOS="linux", GOOS="linux"
GCCGO="gccgo", CC="clang-6.0", CXX="g++"

What did you do?

go build -o build/ -v

What did you expect to see?

Nothing / passed build

What did you see instead?

unexpected fault address 0x2000000008
fatal error: fault
[signal SIGSEGV: segmentation violation code=0x1 addr=0x2000000008 pc=0xab1947]

goroutine 1 [running]:
runtime.throw(0xc129fe, 0x5)
	/usr/local/go/src/runtime/panic.go:619 +0x81 fp=0xc42360b200 sp=0xc42360b1e0 pc=0x429d71
	/usr/local/go/src/runtime/signal_unix.go:395 +0x211 fp=0xc42360b250 sp=0xc42360b200 pc=0x43d071
cmd/compile/internal/gc.init2list(0x2000000000, 0xc42360b670)
	/usr/local/go/src/cmd/compile/internal/gc/sinit.go:225 +0x27 fp=0xc42360b288 sp=0xc42360b250 pc=0xab1947
cmd/compile/internal/gc.init2(0xc420be1a80, 0xc42360b670)
	/usr/local/go/src/cmd/compile/internal/gc/sinit.go:214 +0x120 fp=0xc42360b2e0 sp=0xc42360b288 pc=0xab1820
cmd/compile/internal/gc.init2(0xc420be1b00, 0xc42360b670)
	/usr/local/go/src/cmd/compile/internal/gc/sinit.go:209 +0x94 fp=0xc42360b338 sp=0xc42360b2e0 pc=0xab1794
cmd/compile/internal/gc.init2list(0xc4211f97a0, 0xc42360b670)
	/usr/local/go/src/cmd/compile/internal/gc/sinit.go:226 +0x58 fp=0xc42360b370 sp=0xc42360b338 pc=0xab1978
cmd/compile/internal/gc.init2(0xc42120ad80, 0xc42360b670)
	/usr/local/go/src/cmd/compile/internal/gc/sinit.go:212 +0xe8 fp=0xc42360b3c8 sp=0xc42360b370 pc=0xab17e8
cmd/compile/internal/gc.init2(0xc42120b000, 0xc42360b670)
	/usr/local/go/src/cmd/compile/internal/gc/sinit.go:210 +0xb0 fp=0xc42360b420 sp=0xc42360b3c8 pc=0xab17b0
cmd/compile/internal/gc.init2list(0xc420b93900, 0xc42360b670)
	/usr/local/go/src/cmd/compile/internal/gc/sinit.go:226 +0x58 fp=0xc42360b458 sp=0xc42360b420 pc=0xab1978
cmd/compile/internal/gc.init2(0xc421200c00, 0xc42360b670)
	/usr/local/go/src/cmd/compile/internal/gc/sinit.go:212 +0xe8 fp=0xc42360b4b0 sp=0xc42360b458 pc=0xab17e8
cmd/compile/internal/gc.init1(0xc420c52870, 0xc42360b670)
	/usr/local/go/src/cmd/compile/internal/gc/sinit.go:125 +0x639 fp=0xc42360b558 sp=0xc42360b4b0 pc=0xab0dc9
cmd/compile/internal/gc.init1(0xc421770d00, 0xc42360b670)
	/usr/local/go/src/cmd/compile/internal/gc/sinit.go:41 +0x59 fp=0xc42360b600 sp=0xc42360b558 pc=0xab07e9
cmd/compile/internal/gc.initreorder(0xc421776000, 0x2f, 0x50, 0xc42360b670)
	/usr/local/go/src/cmd/compile/internal/gc/sinit.go:239 +0xca fp=0xc42360b648 sp=0xc42360b600 pc=0xab1a7a
cmd/compile/internal/gc.initfix(0xc421776000, 0x2f, 0x50, 0xc0d020, 0xc420302000, 0xc400000003)
	/usr/local/go/src/cmd/compile/internal/gc/sinit.go:250 +0x90 fp=0xc42360b698 sp=0xc42360b648 pc=0xab1b50
cmd/compile/internal/gc.fninit(0xc421776000, 0x2f, 0x50)
	/usr/local/go/src/cmd/compile/internal/gc/init.go:78 +0x6b fp=0xc42360b848 sp=0xc42360b698 pc=0xa55e3b
	/usr/local/go/src/cmd/compile/internal/gc/main.go:632 +0x2dbf fp=0xc42360bf10 sp=0xc42360b848 pc=0xa6522f
	/usr/local/go/src/cmd/compile/main.go:49 +0x95 fp=0xc42360bf88 sp=0xc42360bf10 pc=0xb75745
	/usr/local/go/src/runtime/proc.go:198 +0x212 fp=0xc42360bfe0 sp=0xc42360bf88 pc=0x42b5e2
	/usr/local/go/src/runtime/asm_amd64.s:2361 +0x1 fp=0xc42360bfe8 sp=0xc42360bfe0 pc=0x456401
@ianlancetaylor ianlancetaylor changed the title cmd/go build: intermittently crashes with "SIGSEGV, 0x2000000008" cmd/go: build intermittently crashes with "SIGSEGV, 0x2000000008" Aug 22, 2018
@ianlancetaylor ianlancetaylor changed the title cmd/go: build intermittently crashes with "SIGSEGV, 0x2000000008" cmd/compile: intermittently crashes with "unexpected fault address 0x2000000008" Aug 22, 2018
@ianlancetaylor ianlancetaylor added this to the Go1.12 milestone Aug 22, 2018

This comment has been minimized.

Copy link

@ianlancetaylor ianlancetaylor commented Aug 22, 2018

Although I'm always reluctant to suspect hardware, the fact that this is intermittent and that it always reports the same single bit error does make me at least wonder. Does this problem always happen on one specific machine? Have you tried using a different machine?


This comment has been minimized.

Copy link

@gustafj gustafj commented Sep 17, 2018

I have now spent some time investigating further.
It has only happened on one machine, and 1.11 had the same behavior. The address was not constant though, but many had the same fault address.
After a memory test on the machine it was found to be at least one faulty ram module, currently running with replacement modules and have yet to see this occur anymore.

Closing this, as I indeed think it was a hardware error.
Thanks for the prompt feedback Ian.

@gustafj gustafj closed this Sep 17, 2018
@golang golang locked and limited conversation to collaborators Sep 17, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
3 participants
You can’t perform that action at this time.