http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59432
Bug ID: 59432 Summary: [4.9 regression] sync/atomic FAILs on Solaris/x86 Product: gcc Version: 4.9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: go Assignee: ian at airs dot com Reporter: ro at gcc dot gnu.org Host: i386-pc-solaris2.* Target: i386-pc-solaris2.* Build: i386-pc-solaris2.* The sync/atomic test recently started to FAIL on Solaris/x86: Abort goroutine 1 [chan receive]: main.main /var/gcc/gcc-4.9.0-20131206/10-gcc/i386-pc-solaris2.10/libgo/gotest22695 /test/_testmain.go:67 FAIL: sync/atomic The Abort happens in the TestNilDeref test: Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 3 (LWP 3)] 0xfeb32ddc in sync_atomic.CompareAndSwapInt32 (val=val@entry=0x0, old=old@entry=0, new=new@entry=0) at /vol/gcc/src/hg/trunk/solaris/libgo/go/sync/atomic/atomic.c:78 78 return __sync_bool_compare_and_swap (val, old, new); (gdb) where #0 0xfeb32ddc in sync_atomic.CompareAndSwapInt32 (val=val@entry=0x0, old=old@entry=0, new=new@entry=0) at /vol/gcc/src/hg/trunk/solaris/libgo/go/sync/atomic/atomic.c:78 #1 0x0805e902 in atomic_test.$nested16 () at atomic_test.go:1469 #2 0x0805edac in atomic_test.$nested45 () at atomic_test.go:1505 #3 0x0805e8d1 in sync_atomic_test.TestNilDeref (t=0xde625180) at atomic_test.go:1500 #4 0xfe976e4a in testing.tRunner (test=<optimized out>, t.param=<optimized out>) at /vol/gcc/src/hg/trunk/solaris/libgo/go/testing/testing.go:391 #5 testing.$thunk13 (__go_thunk_parameter=0xde200688) at /vol/gcc/src/hg/trunk/solaris/libgo/go/testing/testing.go:471 #6 0xfe8d005b in kickoff () at /vol/gcc/src/hg/trunk/solaris/libgo/runtime/proc.c:229 #7 0xfe4a5ba2 in makecontext () from /lib/libc.so.1 Backtrace stopped: previous frame inner to this frame (corrupt stack?) 1: x/i $pc => 0xfeb32ddc <sync_atomic.CompareAndSwapInt32+12>: lock cmpxchg %ecx,(%edx) (gdb) p $ecx $1 = 0 (gdb) p $edx $2 = 0 Rainer