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

sync/atomic: test fails with illegal instruction #2268

Closed
fhs opened this issue Sep 17, 2011 · 3 comments
Closed

sync/atomic: test fails with illegal instruction #2268

fhs opened this issue Sep 17, 2011 · 3 comments

Comments

@fhs
Copy link
Contributor

fhs commented Sep 17, 2011

./all.bash is failing with this:

TEST FAIL sync/atomic
make[1]: Entering directory `/home/fhs/go/tip/src/pkg/sync/atomic'
gotest -test.short -test.timeout=120
rm -f _test/sync/atomic.a
8g  -p sync/atomic -o _gotest_.8 doc.go  
8a asm_386.s
rm -f _test/sync/atomic.a
gopack grc _test/sync/atomic.a _gotest_.8 asm_386.8 
panic: runtime error: SIGILL: illegal instruction
[signal 0x4 code=0x2 addr=0x807b8a2 pc=0x807b8a2]

goroutine 22 [running]:
sync/atomic.StoreUint64(0x18602508, 0x0)
    /home/fhs/go/tip/src/pkg/sync/atomic/asm_386.s:141 +0xe
/home/fhs/go/tip/src/pkg/sync/atomic/_xtest_.TestStoreInt64(0x186174a0, 0x1863ac60)
    /home/fhs/go/tip/src/pkg/sync/atomic/atomic_test.go:530 +0x1c1
testing.tRunner(0x186174a0, 0x81a0c84, 0x0)
    /home/fhs/go/tip/src/pkg/testing/testing.go:156 +0x39
created by testing.RunTests
    /home/fhs/go/tip/src/pkg/testing/testing.go:200 +0x511

goroutine 1 [chan receive]:
testing.RunTests(0x8048c00, 0x81a0ba0, 0x1e)
    /home/fhs/go/tip/src/pkg/testing/testing.go:201 +0x53f
testing.Main(0x8048c00, 0x81a0ba0, 0x1e, 0x1e, 0x81a7228, ...)
    /home/fhs/go/tip/src/pkg/testing/testing.go:168 +0x49
main.main()
    /home/fhs/go/tip/src/pkg/sync/atomic/_testmain.go:58 +0x43

goroutine 2 [syscall]:
syscall.Syscall6()
    /home/fhs/go/tip/src/pkg/syscall/asm_linux_386.s:46 +0x27
syscall.Select(0x0, 0x0, 0x0, 0x0, 0x186002b0, ...)
    /home/fhs/go/tip/src/pkg/syscall/zsyscall_linux_386.go:1098 +0x69
syscall.Sleep(0x3b9aca00, 0x0, 0x0, 0x0)
    /home/fhs/go/tip/src/pkg/syscall/syscall_linux.go:189 +0x94
time.sysSleep(0x3b9aca00, 0x0, 0x0, 0x0)
    /home/fhs/go/tip/src/pkg/time/sys_unix.go:15 +0x31
time.sleeper(0x1, 0x0)
    /home/fhs/go/tip/src/pkg/time/sleep.go:128 +0x135
created by time.after
    /home/fhs/go/tip/src/pkg/time/sleep.go:109 +0x262
gotest: "./8.out -test.short=true -test.timeout=120" failed: exit status 2
make[1]: *** [testshort] Error 2
make[1]: Leaving directory `/home/fhs/go/tip/src/pkg/sync/atomic'
make: *** [sync/atomic.testshort] Error 1


Which compiler are you using (5g, 6g, 8g, gccgo)?

8g

Which operating system are you using?

Linux

Which revision are you using?  (hg identify)

ab4256049da2+ tip

Please provide any additional information below.

MFENCE instruction seems to be the offender. This is on an old x86 system without SSE2.
@bradfitz
Copy link
Contributor

Comment 1:

Owner changed to @dvyukov.

Status changed to Accepted.

@rsc
Copy link
Contributor

rsc commented Sep 19, 2011

Comment 2:

Yes, we're requiring SSE2.  It's 10 years old at this point.
My apologies.  You can probably try commenting out
the MFENCE and see how much farther you get.
Russ

Status changed to Unfortunate.

@dvyukov
Copy link
Member

dvyukov commented Sep 19, 2011

Comment 3:

This issue was closed by revision ab596ca.

Status changed to Fixed.

@fhs fhs added fixed labels Sep 19, 2011
@golang golang locked and limited conversation to collaborators Jun 24, 2016
This issue was closed.
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

5 participants