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

Reply via email to