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

build: SIGILL on Mac #23826

Closed
bradfitz opened this issue Feb 14, 2018 · 2 comments
Closed

build: SIGILL on Mac #23826

bradfitz opened this issue Feb 14, 2018 · 2 comments
Labels
FrozenDueToAge NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Milestone

Comments

@bradfitz
Copy link
Contributor

Real bug or bad Mac?

https://storage.googleapis.com/go-build-log/66be6d0e/darwin-amd64-10_11_a390e7a8.log

ok  	errors	0.016s
SIGILL: illegal instruction
PC=0x1084ea2 m=0 sigcode=1

goroutine 25 [running]:
strconv.atof64(0xc4200a05c4, 0x1, 0x1012059, 0x110800000000000, 0x2)
	/var/folders/dx/k53rs1s93538b4x20g46cj_w0000gn/T/workdir/go/src/strconv/atof.go:477 +0x2 fp=0xc4200448d8 sp=0xc4200448d0 pc=0x1084ea2
strconv.ParseFloat(0xc4200a05c4, 0x1, 0x40, 0x1538d90, 0x0, 0xc420044960)
	/var/folders/dx/k53rs1s93538b4x20g46cj_w0000gn/T/workdir/go/src/strconv/atof.go:538 +0x8a fp=0xc420044910 sp=0xc4200448d8 pc=0x108546a
encoding/json.(*decodeState).convertNumber(0xc4200d4b40, 0xc4200a05c4, 0x1, 0x27, 0xc4200a05c4, 0x1, 0x0)
	/var/folders/dx/k53rs1s93538b4x20g46cj_w0000gn/T/workdir/go/src/encoding/json/decode.go:829 +0x62 fp=0xc420044998 sp=0xc420044910 pc=0x1115652
encoding/json.(*decodeState).literalInterface(0xc4200d4b40, 0x9, 0x1)
	/var/folders/dx/k53rs1s93538b4x20g46cj_w0000gn/T/workdir/go/src/encoding/json/decode.go:1150 +0x164 fp=0xc420044a28 sp=0xc420044998 pc=0x1118594
encoding/json.(*decodeState).valueInterface(0xc4200d4b40, 0x6, 0x2f)
	/var/folders/dx/k53rs1s93538b4x20g46cj_w0000gn/T/workdir/go/src/encoding/json/decode.go:1043 +0xf7 fp=0xc420044a70 sp=0xc420044a28 pc=0x1117eb7
encoding/json.(*decodeState).objectInterface(0xc4200d4b40, 0xc420099090)
	/var/folders/dx/k53rs1s93538b4x20g46cj_w0000gn/T/workdir/go/src/encoding/json/decode.go:1107 +0x128 fp=0xc420044ae8 sp=0xc420044a70 pc=0x1118288
encoding/json.(*decodeState).object(0xc4200d4b40, 0x12768a0, 0xc420099090, 0x16)
	/var/folders/dx/k53rs1s93538b4x20g46cj_w0000gn/T/workdir/go/src/encoding/json/decode.go:620 +0x1ad8 fp=0xc420044d68 sp=0xc420044ae8 pc=0x11152c8
encoding/json.(*decodeState).value(0xc4200d4b40, 0x12768a0, 0xc420099090, 0x16)
	/var/folders/dx/k53rs1s93538b4x20g46cj_w0000gn/T/workdir/go/src/encoding/json/decode.go:408 +0x2d3 fp=0xc420044de8 sp=0xc420044d68 pc=0x1112583
encoding/json.(*decodeState).unmarshal(0xc4200d4b40, 0x12768a0, 0xc420099090, 0x0, 0x0)
	/var/folders/dx/k53rs1s93538b4x20g46cj_w0000gn/T/workdir/go/src/encoding/json/decode.go:189 +0x1e7 fp=0xc420044e58 sp=0xc420044de8 pc=0x1111b77
encoding/json.Unmarshal(0xc4200d01b0, 0x30, 0x30, 0x12768a0, 0xc420099090, 0x30, 0x13b1770)
	/var/folders/dx/k53rs1s93538b4x20g46cj_w0000gn/T/workdir/go/src/encoding/json/decode.go:108 +0x148 fp=0xc420044ea0 sp=0xc420044e58 pc=0x1111588
expvar.TestMapCounter(0xc4201325a0)
	/var/folders/dx/k53rs1s93538b4x20g46cj_w0000gn/T/workdir/go/src/expvar/expvar_test.go:208 +0x293 fp=0xc420044fa8 sp=0xc420044ea0 pc=0x12518a3
testing.tRunner(0xc4201325a0, 0x1304738)
	/var/folders/dx/k53rs1s93538b4x20g46cj_w0000gn/T/workdir/go/src/testing/testing.go:777 +0xd0 fp=0xc420044fd0 sp=0xc420044fa8 pc=0x10cd4d0
runtime.goexit()
	/var/folders/dx/k53rs1s93538b4x20g46cj_w0000gn/T/workdir/go/src/runtime/asm_amd64.s:2361 +0x1 fp=0xc420044fd8 sp=0xc420044fd0 pc=0x105a661
created by testing.(*T).Run
	/var/folders/dx/k53rs1s93538b4x20g46cj_w0000gn/T/workdir/go/src/testing/testing.go:824 +0x2e0

goroutine 1 [chan receive]:
testing.(*T).Run(0xc4201325a0, 0x12f26eb, 0xe, 0x1304738, 0x1074f01)
	/var/folders/dx/k53rs1s93538b4x20g46cj_w0000gn/T/workdir/go/src/testing/testing.go:825 +0x301
testing.runTests.func1(0xc420132000)
	/var/folders/dx/k53rs1s93538b4x20g46cj_w0000gn/T/workdir/go/src/testing/testing.go:1063 +0x64
testing.tRunner(0xc420132000, 0xc420063df8)
	/var/folders/dx/k53rs1s93538b4x20g46cj_w0000gn/T/workdir/go/src/testing/testing.go:777 +0xd0
testing.runTests(0xc420118320, 0x147eba0, 0x8, 0x8, 0x1012059)
	/var/folders/dx/k53rs1s93538b4x20g46cj_w0000gn/T/workdir/go/src/testing/testing.go:1061 +0x2c4
testing.(*M).Run(0xc42012e000, 0x0)
	/var/folders/dx/k53rs1s93538b4x20g46cj_w0000gn/T/workdir/go/src/testing/testing.go:978 +0x171
main.main()
	_testmain.go:82 +0x151

rax    0x7
rbx    0x1
rcx    0xc420082900
rdx    0x1
rdi    0xc4200a05c4
rsi    0xc4200d01b9
rbp    0xc420044900
rsp    0xc4200448d0
r8     0x1
r9     0x4
r10    0x5
r11    0xc4200a05c0
r12    0x5d
r13    0x5c
r14    0x200
r15    0xaa
rip    0x1084ea2
rflags 0x10202
cs     0x2b
fs     0x0
gs     0x0
FAIL	expvar	0.031s
ok  	flag	0.015s
ok  	fmt	0.089s
ok  	go/ast	0.012s

/cc @aclements

@bradfitz bradfitz added the NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. label Feb 14, 2018
@bradfitz bradfitz added this to the Go1.11 milestone Feb 14, 2018
@randall77
Copy link
Contributor

randall77 commented Feb 14, 2018

I'm skeptical that this is any Go bug.

The PC is 2 bytes into a 9 byte instruction (the first instruction in atof64).
The call site in ParseFloat looks fine, it's a static call so it should always go to the right place.
The jump back after morestack also looks ok.

@bradfitz
Copy link
Contributor Author

Haven't seen since. Closing for now.

@golang golang locked and limited conversation to collaborators May 29, 2019
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.
Projects
None yet
Development

No branches or pull requests

3 participants