https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83787
Bug ID: 83787
Summary: [8 regression] Many 32-bit Solaris/SPARC Go tests FAIL
after Go1.10beta1 update
Product: gcc
Version: 8.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: go
Assignee: ian at airs dot com
Reporter: ro at gcc dot gnu.org
CC: cmang at google dot com
Target Milestone: ---
Host: sparc-sun-solaris2.*
Target: sparc-sun-solaris2.*
Build: sparc-sun-solaris2.*
Even after the Go1.10beta1 update and the __go_construct_map fix, many 32-bit
tests (both in go.test, go.go-torture and libgo) FAIL on 32-bit Solaris/SPARC:
FAIL: go.go-torture/execute/chan-1.go execution, -O0
FAIL: go.go-torture/execute/chan-1.go execution, -O1
FAIL: go.go-torture/execute/chan-1.go execution, -O2
FAIL: go.go-torture/execute/chan-1.go execution, -O2 -fbounds-check
FAIL: go.go-torture/execute/chan-1.go execution, -O2 -fomit-frame-pointer
-finline-functions
FAIL: go.go-torture/execute/chan-1.go execution, -O2 -fomit-frame-pointer
-finline-functions -funroll-loops
FAIL: go.go-torture/execute/chan-1.go execution, -O3 -g
FAIL: go.go-torture/execute/chan-1.go execution, -Os
FAIL: ./index0-out.go execution, -O0 -g -fno-var-tracking-assignments
FAIL: ./select5-out.go execution, -O0 -g -fno-var-tracking-assignments
FAIL: go.test/test/235.go execution, -O2 -g
FAIL: go.test/test/chan/fifo.go execution, -O2 -g
FAIL: go.test/test/chan/nonblock.go execution, -O2 -g
FAIL: go.test/test/chan/select.go execution, -O2 -g
FAIL: go.test/test/chan/select3.go execution, -O2 -g
FAIL: go.test/test/chan/select4.go execution, -O2 -g
FAIL: go.test/test/chan/sendstmt.go execution, -O2 -g
FAIL: go.test/test/chan/sieve2.go execution, -O2 -g
FAIL: go.test/test/chancap.go execution, -O2 -g
FAIL: go.test/test/closedchan.go execution, -O2 -g
FAIL: go.test/test/const4.go execution, -O2 -g
FAIL: go.test/test/fixedbugs/bug225.go execution, -O2 -g
FAIL: go.test/test/fixedbugs/bug230.go execution, -O2 -g
FAIL: go.test/test/fixedbugs/bug234.go execution, -O2 -g
FAIL: go.test/test/fixedbugs/bug242.go execution, -O2 -g
FAIL: go.test/test/fixedbugs/bug273.go execution, -O2 -g
FAIL: go.test/test/fixedbugs/bug312.go execution, -O2 -g
FAIL: go.test/test/fixedbugs/bug320.go execution, -O2 -g
FAIL: go.test/test/fixedbugs/issue4313.go execution, -O2 -g
FAIL: go.test/test/fixedbugs/issue4562.go execution, -O2 -g
FAIL: go.test/test/nil.go execution, -O2 -g
WARNING: program timed out.
FAIL: io
FAIL: net
FAIL: reflect
FAIL: runtime
FAIL: sync
FAIL: time
FAIL: cmd/internal/buildid
FAIL: database/sql
FAIL: encoding/base64
FAIL: go/build
FAIL: internal/singleflight
FAIL: log/syslog
FAIL: net/http
FAIL: net/http/cgi
FAIL: net/http/httptest
FAIL: net/http/httputil
FAIL: net/rpc
FAIL: net/rpc/jsonrpc
FAIL: os/signal
FAIL: runtime/pprof
Quite a number of them (like go.go-torture/execute/chan-1.go) are like
fatal error: all goroutines are asleep - deadlock!
goroutine 1 [chan send]:
main.main
/vol/gcc/src/hg/trunk/local/gcc/testsuite/go.go-torture/execute/chan-1.go:5
but there are several others:
Send returned 0 != 2
panic: fail
goroutine 1 [running]:
panic
/vol/gcc/src/hg/trunk/local/libgo/go/runtime/panic.go:554
main.main
/vol/gcc/src/hg/trunk/local/gcc/testsuite/go.test/test/chan/select.go:52
FAIL: go.test/test/chan/select.go execution, -O2 -g
panic: function did block
goroutine 1 [running]:
panic
/vol/gcc/src/hg/trunk/local/libgo/go/runtime/panic.go:554
main.testBlock
/vol/gcc/src/hg/trunk/local/gcc/testsuite/go.test/test/chan/select3.go:50
main.main
/vol/gcc/src/hg/trunk/local/gcc/testsuite/go.test/test/chan/select3.go:86
FAIL: go.test/test/chan/select3.go execution, -O2 -g
chan len/cap 0 0 want 0 10
panic: fail
goroutine 1 [running]:
panic
/vol/gcc/src/hg/trunk/local/libgo/go/runtime/panic.go:554
main.main
/vol/gcc/src/hg/trunk/local/gcc/testsuite/go.test/test/chancap.go:15
FAIL: go.test/test/chancap.go execution, -O2 -g
SIGABRT: abort
PC=0 m=0 sigcode=18446744073709551615
goroutine 1 [running]:
FAIL: go.test/test/nil.go execution, -O2 -g
Besides at least 4 different gotools tests hang indefinitely and had to be
killed manually to allow the build to finish.
Rainer