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

runtime: go1.7beta2 test failures on MacOS 10.12: net/http, runtime, time #16272

Closed
trevorgray opened this issue Jul 5, 2016 · 37 comments

Comments

Projects
None yet
10 participants
@trevorgray
Copy link

commented Jul 5, 2016

Please answer these questions before submitting your issue. Thanks!

  1. What version of Go are you using (go version)?

    I am building go1.7beta2 from source.

$ ./go version
go version devel +fca9fc5 Thu Jun 16 19:45:33 2016 +0000 darwin/amd64
  1. What operating system and processor architecture are you using (go env)?

    macOS 10.12 Beta (16A239j)

$ uname -a
Darwin Trevors-iMac.local 16.0.0 Darwin Kernel Version 16.0.0: Tue Jun 28 15:57:40 PDT 2016; root:xnu-3757.0.0.0.1~20/RELEASE_X86_64 x86_64

$ go env
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/users/trevorgray/Desktop/code"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GO15VENDOREXPERIMENT="1"
CC="clang"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fno-common"
CXX="clang++"
CGO_ENABLED="1"
  1. What did you do?
    If possible, provide a recipe for reproducing the error.
    A complete runnable program is good.
    A link on play.golang.org is best.

    I am trying to build the go1.7beta2 from source and the build is failing on the "Testing packages" step.

$ git clone https://go.googlesource.com/go
Cloning into 'go'...
remote: Sending approximately 109.09 MiB ...
remote: Total 263875 (delta 210818), reused 263875 (delta 210818)
Receiving objects: 100% (263875/263875), 108.89 MiB | 35.66 MiB/s, done.
Resolving deltas: 100% (210818/210818), done.
Checking connectivity... done.

$ git checkout go1.7beta2
Note: checking out 'go1.7beta2'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at fca9fc5... runtime: fix stale comment in lfstack

$ cd src

$ ./all.bash 
##### Building Go bootstrap tool.
cmd/dist

##### Building Go toolchain using /usr/local/go/.
bootstrap/asm/internal/flags
bootstrap/internal/sys
bootstrap/internal/bio
bootstrap/compile/internal/big
bootstrap/internal/gcprog
bootstrap/internal/obj
bootstrap/internal/obj/arm64
bootstrap/internal/obj/mips
bootstrap/internal/obj/arm
bootstrap/internal/obj/ppc64
bootstrap/internal/obj/s390x
bootstrap/internal/obj/x86
bootstrap/asm/internal/lex
bootstrap/link/internal/ld
bootstrap/compile/internal/ssa
bootstrap/asm/internal/arch
bootstrap/asm/internal/asm
bootstrap/asm
bootstrap/link/internal/amd64
bootstrap/link/internal/arm
bootstrap/link/internal/arm64
bootstrap/link/internal/mips64
bootstrap/link/internal/ppc64
bootstrap/link/internal/s390x
bootstrap/link/internal/x86
bootstrap/link
bootstrap/compile/internal/gc
bootstrap/compile/internal/amd64
bootstrap/compile/internal/arm
bootstrap/compile/internal/arm64
bootstrap/compile/internal/mips64
bootstrap/compile/internal/ppc64
bootstrap/compile/internal/s390x
bootstrap/compile/internal/x86
bootstrap/compile

##### Building go_bootstrap for host, darwin/amd64.
runtime/internal/sys
runtime/internal/atomic
runtime
errors
unicode/utf16
sync/atomic
internal/race
encoding
unicode/utf8
sort
internal/syscall/windows/sysdll
unicode
math
container/heap
sync
syscall
io
internal/singleflight
hash
strings
bytes
strconv
hash/adler32
bufio
path
encoding/base64
regexp/syntax
crypto
reflect
crypto/sha1
internal/syscall/windows/registry
internal/syscall/windows
time
regexp
os
encoding/binary
fmt
os/signal
path/filepath
io/ioutil
debug/dwarf
go/token
context
text/template/parse
flag
net/url
compress/flate
log
encoding/json
go/scanner
os/exec
go/ast
text/template
compress/zlib
debug/macho
debug/elf
go/parser
go/doc
go/build
cmd/go

##### Building packages and commands for darwin/amd64.
runtime/internal/sys
runtime/internal/atomic
runtime
errors
internal/race
sync/atomic
unicode
unicode/utf8
math
sort
container/list
container/ring
crypto/subtle
sync
internal/nettrace
encoding
unicode/utf16
image/color
internal/syscall/windows/sysdll
runtime/race
cmd/compile/internal/test
cmd/vet/internal/whitelist
container/heap
io
syscall
internal/singleflight
image/color/palette
crypto/cipher
runtime/trace
hash
hash/adler32
hash/crc32
crypto/hmac
hash/crc64
hash/fnv
bytes
strings
bufio
text/tabwriter
path
html
vendor/golang.org/x/net/lex/httplex
strconv
math/rand
math/cmplx
compress/bzip2
time
regexp/syntax
crypto
reflect
crypto/aes
crypto/rc4
encoding/base64
encoding/ascii85
crypto/sha512
crypto/md5
crypto/sha1
crypto/sha256
encoding/pem
encoding/base32
image
os
regexp
image/internal/imageutil
image/draw
image/jpeg
path/filepath
runtime/debug
vendor/golang.org/x/net/route
os/signal
io/ioutil
cmd/internal/pprof/svg
encoding/binary
fmt
cmd/internal/sys
crypto/des
index/suffixarray
flag
log
debug/dwarf
compress/flate
debug/gosym
debug/plan9obj
cmd/vendor/golang.org/x/arch/arm/armasm
cmd/vendor/golang.org/x/arch/x86/x86asm
archive/tar
compress/lzw
cmd/internal/obj
context
math/big
encoding/hex
compress/zlib
archive/zip
compress/gzip
go/token
os/exec
debug/elf
debug/macho
debug/pe
go/scanner
database/sql/driver
cmd/internal/goobj
encoding/csv
encoding/gob
go/ast
database/sql
encoding/json
encoding/xml
vendor/golang.org/x/net/http2/hpack
mime
mime/quotedprintable
net/http/internal
net/url
text/template/parse
text/scanner
go/parser
go/printer
image/gif
image/png
crypto/dsa
crypto/elliptic
cmd/internal/objfile
encoding/asn1
crypto/rand
text/template
crypto/rsa
go/constant
runtime/pprof
internal/trace
crypto/ecdsa
crypto/x509/pkix
testing
cmd/addr2line
net/internal/socktest
testing/iotest
testing/quick
cmd/internal/obj/arm
cmd/cgo
go/format
cmd/internal/obj/arm64
cmd/internal/obj/mips
go/types
internal/testenv
cmd/internal/obj/ppc64
go/doc
html/template
cmd/internal/obj/s390x
go/build
cmd/internal/obj/x86
cmd/asm/internal/flags
cmd/asm/internal/lex
cmd/internal/bio
cmd/compile/internal/big
cmd/internal/gcprog
cmd/cover
cmd/dist
cmd/compile/internal/ssa
cmd/doc
runtime/cgo
cmd/fix
cmd/gofmt
cmd/internal/pprof/profile
cmd/internal/pprof/tempfile
cmd/link/internal/ld
go/internal/gccgoimporter
go/internal/gcimporter
cmd/api
cmd/nm
go/importer
cmd/objdump
cmd/internal/pprof/plugin
cmd/internal/pprof/report
cmd/internal/pprof/symbolizer
cmd/internal/pprof/symbolz
cmd/pack
cmd/vet
net
os/user
cmd/internal/pprof/commands
cmd/asm/internal/arch
cmd/internal/pprof/driver
cmd/yacc
cmd/asm/internal/asm
cmd/asm
cmd/link/internal/amd64
cmd/link/internal/arm
cmd/link/internal/arm64
cmd/link/internal/mips64
cmd/link/internal/ppc64
cmd/link/internal/s390x
cmd/link/internal/x86
cmd/link
crypto/x509
net/textproto
net/http/httptrace
log/syslog
mime/multipart
net/mail
cmd/compile/internal/gc
crypto/tls
net/http
net/smtp
expvar
net/http/cgi
net/http/cookiejar
net/http/httptest
net/http/httputil
net/http/pprof
net/rpc
cmd/go
cmd/internal/pprof/fetch
cmd/trace
net/http/fcgi
cmd/pprof
net/rpc/jsonrpc
cmd/compile/internal/amd64
cmd/compile/internal/arm
cmd/compile/internal/arm64
cmd/compile/internal/mips64
cmd/compile/internal/ppc64
cmd/compile/internal/s390x
cmd/compile/internal/x86
cmd/compile


##### Testing packages.
ok      archive/tar 0.026s
ok      archive/zip 0.048s
ok      bufio   0.053s
ok      bytes   0.075s
ok      compress/bzip2  0.083s
ok      compress/flate  0.802s
ok      compress/gzip   0.029s
ok      compress/lzw    0.025s
ok      compress/zlib   0.020s
ok      container/heap  0.008s
ok      container/list  0.011s
ok      container/ring  1467754575.181s
ok      context 0.952s
ok      crypto/aes  0.033s
ok      crypto/cipher   0.010s
ok      crypto/des  0.014s
ok      crypto/dsa  0.011s
ok      crypto/ecdsa    0.066s
ok      crypto/elliptic 0.037s
ok      crypto/hmac 0.007s
ok      crypto/md5  0.013s
ok      crypto/rand 0.022s
ok      crypto/rc4  0.069s
ok      crypto/rsa  0.082s
ok      crypto/sha1 0.025s
ok      crypto/sha256   0.009s
ok      crypto/sha512   0.013s
ok      crypto/subtle   0.009s
ok      crypto/tls  0.891s
ok      crypto/x509 0.662s
ok      database/sql    0.039s
ok      database/sql/driver 0.009s
ok      debug/dwarf 0.018s
ok      debug/elf   0.126s
ok      debug/gosym 0.237s
ok      debug/macho 0.035s
ok      debug/pe    0.062s
ok      debug/plan9obj  0.009s
ok      encoding/ascii85    0.009s
ok      encoding/asn1   0.009s
ok      encoding/base32 0.010s
ok      encoding/base64 0.012s
ok      encoding/binary 0.008s
ok      encoding/csv    -1467754577.258s
ok      encoding/gob    0.034s
ok      encoding/hex    0.007s
ok      encoding/json   0.180s
ok      encoding/pem    0.014s
ok      encoding/xml    0.021s
ok      errors  0.008s
ok      expvar  0.012s
ok      flag    0.009s
ok      fmt 0.081s
ok      go/ast  0.010s
ok      go/build    0.773s
ok      go/constant 0.011s
ok      go/doc  0.288s
ok      go/format   0.014s
ok      go/internal/gccgoimporter   0.041s
ok      go/internal/gcimporter  0.670s
ok      go/parser   0.035s
ok      go/printer  0.302s
ok      go/scanner  0.010s
ok      go/token    1467754579.425s
ok      go/types    0.449s
ok      hash/adler32    0.012s
ok      hash/crc32  0.009s
ok      hash/crc64  0.010s
ok      hash/fnv    0.007s
ok      html    0.009s
ok      html/template   0.037s
ok      image   0.118s
ok      image/color 0.065s
ok      image/draw  0.057s
ok      image/gif   0.064s
ok      image/jpeg  0.153s
ok      image/png   0.038s
ok      index/suffixarray   0.013s
ok      internal/singleflight   0.020s
ok      internal/trace  0.027s
ok      io  0.025s
ok      io/ioutil   0.010s
ok      log 0.010s
ok      log/syslog  2.066s
ok      math    0.008s
ok      math/big    0.218s
ok      math/cmplx  0.008s
ok      math/rand   0.053s
ok      mime    0.016s
ok      mime/multipart  0.206s
ok      mime/quotedprintable    0.084s
ok      net 2.006s
panic: test timed out after 3m0s

goroutine 541 [running]:
panic(0x3ccb00, 0xc420288010)
    /Users/trevorgray/go/src/runtime/panic.go:500 +0x1a1
testing.startAlarm.func1()
    /Users/trevorgray/go/src/testing/testing.go:918 +0x10b
created by time.goFunc
    /Users/trevorgray/go/src/time/sleep.go:154 +0x44

goroutine 1 [chan receive, 2 minutes]:
testing.(*T).Run(0xc4200940c0, 0x45c15b, 0x17, 0x49b418, 0x5ea01)
    /Users/trevorgray/go/src/testing/testing.go:647 +0x316
testing.RunTests.func1(0xc4200940c0)
    /Users/trevorgray/go/src/testing/testing.go:793 +0x6d
testing.tRunner(0xc4200940c0, 0xc42003de10)
    /Users/trevorgray/go/src/testing/testing.go:610 +0x81
testing.RunTests(0x49a9e8, 0x64bfa0, 0x181, 0x181, 0x64)
    /Users/trevorgray/go/src/testing/testing.go:799 +0x2f0
testing.(*M).Run(0xc42003def8, 0x60bb)
    /Users/trevorgray/go/src/testing/testing.go:743 +0x85
net/http_test.TestMain(0xc42003def8)
    /Users/trevorgray/go/src/net/http/main_test.go:19 +0x2b
main.main()
    net/http/_test/_testmain.go:866 +0xc2

goroutine 17 [syscall, 2 minutes, locked to thread]:
runtime.goexit()
    /Users/trevorgray/go/src/runtime/asm_amd64.s:2086 +0x1

goroutine 606 [select]:
net/http.(*Transport).getConn(0xc4202f4960, 0xc42014a000, 0x0, 0xc4200fcf80, 0x5, 0xc4200fcf88, 0xf, 0x0, 0x0, 0x0)
    /Users/trevorgray/go/src/net/http/transport.go:845 +0x7f1
net/http.(*Transport).RoundTrip(0xc4202f4960, 0xc42001b4a0, 0xc4202f4960, 0x0, 0x0)
    /Users/trevorgray/go/src/net/http/transport.go:364 +0x307
net/http.send(0xc42001b4a0, 0x6207c0, 0xc4202f4960, 0x0, 0x0, 0x0, 0x8, 0xc420338018, 0x11b58)
    /Users/trevorgray/go/src/net/http/client.go:256 +0x15f
net/http.(*Client).send(0xc420255e30, 0xc42001b4a0, 0x0, 0x0, 0x0, 0xc420338018, 0x0, 0x1)
    /Users/trevorgray/go/src/net/http/client.go:146 +0x102
net/http.(*Client).doFollowingRedirects(0xc420255e30, 0xc42001b4a0, 0x49afa8, 0x17, 0x0, 0x0)
    /Users/trevorgray/go/src/net/http/client.go:528 +0x5dd
net/http.(*Client).Get(0xc420255e30, 0xc4200fcf80, 0x17, 0xc4203e4000, 0x0, 0x0)
    /Users/trevorgray/go/src/net/http/client.go:418 +0x93
net/http_test.h12Compare.run(0x49b410, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc420148540)
    /Users/trevorgray/go/src/net/http/clientserver_test.go:183 +0x274
net/http_test.TestH12_FlushBeforeBody(0xc420148540)
    /Users/trevorgray/go/src/net/http/clientserver_test.go:317 +0x87
testing.tRunner(0xc420148540, 0x49b418)
    /Users/trevorgray/go/src/testing/testing.go:610 +0x81
created by testing.(*T).Run
    /Users/trevorgray/go/src/testing/testing.go:646 +0x2ec

goroutine 585 [IO wait]:
net.runtime_pollWait(0xa06a10, 0x77, 0xc4200ef290)
    /Users/trevorgray/go/src/runtime/netpoll.go:160 +0x59
net.(*pollDesc).wait(0xc420216140, 0x77, 0xc4200ef2c8, 0x271f90)
    /Users/trevorgray/go/src/net/fd_poll_runtime.go:73 +0x38
net.(*pollDesc).waitWrite(0xc420216140, 0x49aa58, 0x6262c0)
    /Users/trevorgray/go/src/net/fd_poll_runtime.go:82 +0x34
net.(*netFD).connect(0xc4202160e0, 0x6262c0, 0xc420012670, 0x0, 0x0, 0x621400, 0xc42014a0c0, 0x0, 0x0)
    /Users/trevorgray/go/src/net/fd_unix.go:129 +0x1e5
net.(*netFD).dial(0xc4202160e0, 0x6262c0, 0xc420012670, 0x626e40, 0x0, 0x626e40, 0xc420194210, 0x10, 0x10)
    /Users/trevorgray/go/src/net/sock_posix.go:137 +0x137
net.socket(0x6262c0, 0xc420012670, 0x4518ff, 0x3, 0x2, 0x1, 0x0, 0x0, 0x626e40, 0x0, ...)
    /Users/trevorgray/go/src/net/sock_posix.go:89 +0x205
net.internetSocket(0x6262c0, 0xc420012670, 0x4518ff, 0x3, 0x626e40, 0x0, 0x626e40, 0xc420194210, 0x1, 0x0, ...)
    /Users/trevorgray/go/src/net/ipsock_posix.go:158 +0x129
net.doDialTCP(0x6262c0, 0xc420012670, 0x4518ff, 0x3, 0x0, 0xc420194210, 0x3ed520, 0x66c390, 0xc420042708)
    /Users/trevorgray/go/src/net/tcpsock_posix.go:58 +0xb9
net.dialTCP(0x6262c0, 0xc420012670, 0x4518ff, 0x3, 0x0, 0xc420194210, 0x0, 0x0, 0xc420042850)
    /Users/trevorgray/go/src/net/tcpsock_posix.go:54 +0xe4
net.dialSingle(0x6262c0, 0xc420012670, 0xc420216070, 0x623d00, 0xc420194210, 0x0, 0x0, 0x0, 0x0)
    /Users/trevorgray/go/src/net/dial.go:501 +0x479
net.dialSerial(0x6262c0, 0xc420012670, 0xc420216070, 0xc4202761b0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0)
    /Users/trevorgray/go/src/net/dial.go:469 +0x223
net.(*Dialer).DialContext(0x64fba0, 0x6262c0, 0xc420012670, 0x4518ff, 0x3, 0xc4200fcf88, 0xf, 0x0, 0x0, 0x0, ...)
    /Users/trevorgray/go/src/net/dial.go:351 +0x658
net/http.(*Transport).dial(0xc4202f4960, 0x6262c0, 0xc420012670, 0x4518ff, 0x3, 0xc4200fcf88, 0xf, 0xce324, 0xc420030098, 0xc420382000, ...)
    /Users/trevorgray/go/src/net/http/transport.go:790 +0x197
net/http.(*Transport).dialConn(0xc4202f4960, 0x6262c0, 0xc420012670, 0x0, 0xc4200fcf80, 0x5, 0xc4200fcf88, 0xf, 0x1f73b4, 0xc42015e330, ...)
    /Users/trevorgray/go/src/net/http/transport.go:906 +0x1a6a
net/http.(*Transport).getConn.func4(0xc4202f4960, 0x6262c0, 0xc420012670, 0xc420194120, 0xc420074180)
    /Users/trevorgray/go/src/net/http/transport.go:840 +0x78
created by net/http.(*Transport).getConn
    /Users/trevorgray/go/src/net/http/transport.go:842 +0x3a1

goroutine 627 [select]:
net/http.(*persistConn).readLoop(0xc420312400)
    /Users/trevorgray/go/src/net/http/transport.go:1473 +0x973
created by net/http.(*Transport).dialConn
    /Users/trevorgray/go/src/net/http/transport.go:1001 +0x4e9

goroutine 540 [IO wait]:
net.runtime_pollWait(0xa06ad0, 0x72, 0x8)
    /Users/trevorgray/go/src/runtime/netpoll.go:160 +0x59
net.(*pollDesc).wait(0xc4201883e0, 0x72, 0xc4203db7c0, 0xc4200120f8)
    /Users/trevorgray/go/src/net/fd_poll_runtime.go:73 +0x38
net.(*pollDesc).waitRead(0xc4201883e0, 0x622ec0, 0xc4200120f8)
    /Users/trevorgray/go/src/net/fd_poll_runtime.go:78 +0x34
net.(*netFD).Read(0xc420188380, 0xc4202a9000, 0x1000, 0x1000, 0x0, 0x622ec0, 0xc4200120f8)
    /Users/trevorgray/go/src/net/fd_unix.go:220 +0x1a1
net.(*conn).Read(0xc4203c4030, 0xc4202a9000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /Users/trevorgray/go/src/net/net.go:173 +0x70
net/http.(*connReader).Read(0xc4202d27c0, 0xc4202a9000, 0x1000, 0x1000, 0xc420276048, 0xc4203db960, 0x1fe895)
    /Users/trevorgray/go/src/net/http/server.go:586 +0x144
bufio.(*Reader).fill(0xc42015e540)
    /Users/trevorgray/go/src/bufio/bufio.go:97 +0x10c
bufio.(*Reader).ReadSlice(0xc42015e540, 0xa, 0x0, 0x1e, 0xc4203db9e8, 0x33, 0x12f04)
    /Users/trevorgray/go/src/bufio/bufio.go:330 +0xb5
bufio.(*Reader).ReadLine(0xc42015e540, 0xc420114000, 0xf0, 0xf0, 0x448440, 0xc4203dba01, 0x100c4204e2400)
    /Users/trevorgray/go/src/bufio/bufio.go:359 +0x37
net/textproto.(*Reader).readLineSlice(0xc420230d50, 0xc4203dbab8, 0xc4203dbab8, 0x11b58, 0xf0, 0x448440)
    /Users/trevorgray/go/src/net/textproto/reader.go:55 +0x5f
net/textproto.(*Reader).ReadLine(0xc420230d50, 0xc420114000, 0xc4204e2400, 0xc42035a7e0, 0xc420069548)
    /Users/trevorgray/go/src/net/textproto/reader.go:36 +0x2f
net/http.readRequest(0xc42015e540, 0xc420328c00, 0xc420114000, 0x0, 0x0)
    /Users/trevorgray/go/src/net/http/request.go:793 +0xa5
net/http.(*conn).readRequest(0xc420018d80, 0x626280, 0xc420014d40, 0x0, 0x0, 0x0)
    /Users/trevorgray/go/src/net/http/server.go:765 +0x10d
net/http.(*conn).serve(0xc420018d80, 0x626280, 0xc420014d40)
    /Users/trevorgray/go/src/net/http/server.go:1512 +0x3d3
created by net/http.(*Server).Serve
    /Users/trevorgray/go/src/net/http/server.go:2243 +0x44d

goroutine 608 [IO wait, 2 minutes]:
net.runtime_pollWait(0xa06890, 0x72, 0x0)
    /Users/trevorgray/go/src/runtime/netpoll.go:160 +0x59
net.(*pollDesc).wait(0xc420217170, 0x72, 0xc420396d88, 0xc4200120f8)
    /Users/trevorgray/go/src/net/fd_poll_runtime.go:73 +0x38
net.(*pollDesc).waitRead(0xc420217170, 0x622ec0, 0xc4200120f8)
    /Users/trevorgray/go/src/net/fd_poll_runtime.go:78 +0x34
net.(*netFD).accept(0xc420217110, 0x0, 0x621140, 0xc42043a180)
    /Users/trevorgray/go/src/net/fd_unix.go:396 +0x238
net.(*TCPListener).accept(0xc420130078, 0x11b58, 0x30, 0x428480)
    /Users/trevorgray/go/src/net/tcpsock_posix.go:132 +0x2e
net.(*TCPListener).Accept(0xc420130078, 0xc400000001, 0xc420184f30, 0x3e5660, 0x63a9b0)
    /Users/trevorgray/go/src/net/tcpsock.go:222 +0x49
crypto/tls.(*listener).Accept(0xc4200fcf60, 0xc420184f00, 0x3e5660, 0x63a9b0, 0x412ae0)
    /Users/trevorgray/go/src/crypto/tls/tls.go:52 +0x37
net/http.(*Server).Serve(0xc420133680, 0x625700, 0xc4200fcf60, 0x0, 0x0)
    /Users/trevorgray/go/src/net/http/server.go:2223 +0x1ce
net/http/httptest.(*Server).goServe.func1(0xc420328cc0)
    /Users/trevorgray/go/src/net/http/httptest/server.go:235 +0x6d
created by net/http/httptest.(*Server).goServe
    /Users/trevorgray/go/src/net/http/httptest/server.go:236 +0x5c

goroutine 607 [IO wait, 2 minutes]:
net.runtime_pollWait(0xa067d0, 0x72, 0x0)
    /Users/trevorgray/go/src/runtime/netpoll.go:160 +0x59
net.(*pollDesc).wait(0xc420217100, 0x72, 0xc42002ade0, 0xc4200120f8)
    /Users/trevorgray/go/src/net/fd_poll_runtime.go:73 +0x38
net.(*pollDesc).waitRead(0xc420217100, 0x622ec0, 0xc4200120f8)
    /Users/trevorgray/go/src/net/fd_poll_runtime.go:78 +0x34
net.(*netFD).accept(0xc4202170a0, 0x0, 0x621140, 0xc4202d27a0)
    /Users/trevorgray/go/src/net/fd_unix.go:396 +0x238
net.(*TCPListener).accept(0xc420130070, 0x350ae, 0xc42002ae90, 0xc013d)
    /Users/trevorgray/go/src/net/tcpsock_posix.go:132 +0x2e
net.(*TCPListener).Accept(0xc420130070, 0x49ac28, 0xc420018d80, 0x626340, 0xc420184ed0)
    /Users/trevorgray/go/src/net/tcpsock.go:222 +0x49
net/http.(*Server).Serve(0xc420133600, 0x625780, 0xc420130070, 0x0, 0x0)
    /Users/trevorgray/go/src/net/http/server.go:2223 +0x1ce
net/http/httptest.(*Server).goServe.func1(0xc420328c60)
    /Users/trevorgray/go/src/net/http/httptest/server.go:235 +0x6d
created by net/http/httptest.(*Server).goServe
    /Users/trevorgray/go/src/net/http/httptest/server.go:236 +0x5c

goroutine 628 [select, 2 minutes]:
net/http.(*persistConn).writeLoop(0xc420312400)
    /Users/trevorgray/go/src/net/http/transport.go:1578 +0x3bd
created by net/http.(*Transport).dialConn
    /Users/trevorgray/go/src/net/http/transport.go:1002 +0x50e

goroutine 586 [select]:
net.(*netFD).connect.func2(0x6262c0, 0xc420012670, 0xc4202160e0, 0xc420074660)
    /Users/trevorgray/go/src/net/fd_unix.go:110 +0x15d
created by net.(*netFD).connect
    /Users/trevorgray/go/src/net/fd_unix.go:118 +0x1d0
FAIL    net/http    180.019s
ok      net/http/cgi    0.540s
ok      net/http/cookiejar  0.013s
ok      net/http/fcgi   0.012s
ok      net/http/httptest   0.015s
ok      net/http/httptrace  0.011s
ok      net/http/httputil   0.036s
ok      net/http/internal   0.010s
ok      net/internal/socktest   0.008s
ok      net/mail    0.013s
ok      net/rpc 0.023s
ok      net/rpc/jsonrpc 0.017s
ok      net/smtp    0.037s
ok      net/textproto   0.013s
ok      net/url 0.015s
ok      os  0.373s
ok      os/exec 0.489s
ok      os/signal   4.294s
ok      os/user 0.014s
ok      path    0.010s
ok      path/filepath   0.101s
ok      reflect 0.058s
ok      regexp  0.096s
ok      regexp/syntax   0.421s
--- FAIL: TestCgoSignalDeadlock (60.01s)
    crash_test.go:105: testprogcgo CgoSignalDeadlock exit status: exit status 2
    crash_cgo_test.go:32: expected "OK\n", but got:
        SIGQUIT: quit
        PC=0x405f71b m=0

        goroutine 0 [idle]:
        runtime.mach_semaphore_wait(0x1203, 0x7fff5fbff6c0, 0x403be3d, 0xc42001dac0, 0x300000002, 0x4157200, 0x7fff5fbff6f0, 0x4055663, 0xffffffffffffffff, 0xc42001dac0, ...)
            /Users/trevorgray/go/src/runtime/sys_darwin_amd64.s:411 +0xb
        runtime.semasleep1(0xffffffffffffffff, 0xc42001dac0)
            /Users/trevorgray/go/src/runtime/os_darwin.go:435 +0x4b
        runtime.semasleep.func1()
            /Users/trevorgray/go/src/runtime/os_darwin.go:451 +0x33
        runtime.systemstack(0x7fff5fbff718)
            /Users/trevorgray/go/src/runtime/asm_amd64.s:314 +0xab
        runtime.semasleep(0xffffffffffffffff, 0x0)
            /Users/trevorgray/go/src/runtime/os_darwin.go:452 +0x44
        runtime.notesleep(0x4157890)
            /Users/trevorgray/go/src/runtime/lock_sema.go:166 +0x9f
        runtime.stoplockedm()
            /Users/trevorgray/go/src/runtime/proc.go:1714 +0x8a
        runtime.schedule()
            /Users/trevorgray/go/src/runtime/proc.go:2051 +0x2fa
        runtime.park_m(0xc420068340)
            /Users/trevorgray/go/src/runtime/proc.go:2156 +0x123
        runtime.mcall(0x7fff5fbff860)
            /Users/trevorgray/go/src/runtime/asm_amd64.s:240 +0x5b

        goroutine 1 [sleep]:
        time.Sleep(0xf4240)
            /Users/trevorgray/go/src/runtime/time.go:59 +0xe1
        main.CgoSignalDeadlock()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:61 +0xda
        main.main()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/main.go:34 +0x1f1

        goroutine 17 [syscall, locked to thread]:
        runtime.goexit()
            /Users/trevorgray/go/src/runtime/asm_amd64.s:2086 +0x1

        goroutine 5 [syscall]:
        os/signal.signal_recv(0x0)
            /Users/trevorgray/go/src/runtime/sigqueue.go:116 +0x157
        os/signal.loop()
            /Users/trevorgray/go/src/os/signal/signal_unix.go:22 +0x22
        created by os/signal.init.1
            /Users/trevorgray/go/src/os/signal/signal_unix.go:28 +0x41

        goroutine 6 [runnable]:
        main.CgoSignalDeadlock.func1.1()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:47 +0x3b
        main.CgoSignalDeadlock.func1(0xc420074060)
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:48 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:50 +0x7f

        goroutine 8 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func2()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:55 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:56 +0xb5

        goroutine 9 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func3()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:59 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:60 +0xcd

        goroutine 18 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func2()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:55 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:56 +0xb5

        goroutine 19 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func3()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:59 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:60 +0xcd

        goroutine 34 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func2()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:55 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:56 +0xb5

        goroutine 35 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func3()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:59 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:60 +0xcd

        goroutine 50 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func2()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:55 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:56 +0xb5

        goroutine 51 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func3()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:59 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:60 +0xcd

        goroutine 20 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func2()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:55 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:56 +0xb5

        goroutine 21 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func3()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:59 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:60 +0xcd

        goroutine 36 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func2()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:55 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:56 +0xb5

        goroutine 37 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func3()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:59 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:60 +0xcd

        goroutine 52 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func2()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:55 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:56 +0xb5

        goroutine 53 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func3()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:59 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:60 +0xcd

        goroutine 38 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func2()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:55 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:56 +0xb5

        goroutine 39 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func3()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:59 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:60 +0xcd

        goroutine 54 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func2()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:55 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:56 +0xb5

        goroutine 55 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func3()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:59 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:60 +0xcd

        goroutine 22 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func2()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:55 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:56 +0xb5

        goroutine 23 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func3()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:59 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:60 +0xcd

        goroutine 40 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func2()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:55 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:56 +0xb5

        goroutine 41 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func3()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:59 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:60 +0xcd

        goroutine 10 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func2()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:55 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:56 +0xb5

        goroutine 11 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func3()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:59 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:60 +0xcd

        goroutine 42 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func2()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:55 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:56 +0xb5

        goroutine 43 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func3()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:59 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:60 +0xcd

        goroutine 24 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func2()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:55 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:56 +0xb5

        goroutine 25 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func3()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:59 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:60 +0xcd

        goroutine 56 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func2()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:55 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:56 +0xb5

        goroutine 57 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func3()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:59 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:60 +0xcd

        goroutine 44 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func2()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:55 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:56 +0xb5

        goroutine 45 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func3()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:59 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:60 +0xcd

        goroutine 12 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func2()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:55 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:56 +0xb5

        goroutine 13 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func3()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:59 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:60 +0xcd

        goroutine 26 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func2()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:55 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:56 +0xb5

        goroutine 27 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func3()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:59 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:60 +0xcd

        goroutine 58 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func2()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:55 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:56 +0xb5

        goroutine 59 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func3()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:59 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:60 +0xcd

        goroutine 46 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func2()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:55 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:56 +0xb5

        goroutine 47 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func3()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:59 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:60 +0xcd

        goroutine 48 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func2()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:55 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:56 +0xb5

        goroutine 49 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func3()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:59 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:60 +0xcd

        goroutine 14 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func2()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:55 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:56 +0xb5

        goroutine 15 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func3()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:59 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:60 +0xcd

        goroutine 60 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func2()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:55 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:56 +0xb5

        goroutine 61 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func3()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:59 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:60 +0xcd

        goroutine 16 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func2()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:55 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:56 +0xb5

        goroutine 66 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func3()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:59 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:60 +0xcd

        goroutine 62 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func2()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:55 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:56 +0xb5

        goroutine 63 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func3()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:59 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:60 +0xcd

        goroutine 67 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func2()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:55 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:56 +0xb5

        goroutine 68 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func3()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:59 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:60 +0xcd

        goroutine 82 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func2()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:55 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:56 +0xb5

        goroutine 83 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func3()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:59 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:60 +0xcd

        goroutine 69 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func2()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:55 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:56 +0xb5

        goroutine 70 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func3()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:59 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:60 +0xcd

        goroutine 84 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func2()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:55 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:56 +0xb5

        goroutine 85 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func3()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:59 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:60 +0xcd

        goroutine 28 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func2()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:55 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:56 +0xb5

        goroutine 29 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func3()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:59 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:60 +0xcd

        goroutine 64 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func2()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:55 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:56 +0xb5

        goroutine 65 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func3()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:59 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:60 +0xcd

        goroutine 30 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func2()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:55 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:56 +0xb5

        goroutine 31 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func3()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:59 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:60 +0xcd

        goroutine 86 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func2()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:55 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:56 +0xb5

        goroutine 87 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func3()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:59 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:60 +0xcd

        goroutine 98 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func2()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:55 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:56 +0xb5

        goroutine 99 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func3()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:59 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:60 +0xcd

        goroutine 88 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func2()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:55 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:56 +0xb5

        goroutine 89 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func3()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:59 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:60 +0xcd

        goroutine 32 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func2()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:55 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:56 +0xb5

        goroutine 33 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func3()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:59 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:60 +0xcd

        goroutine 90 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func2()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:55 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:56 +0xb5

        goroutine 91 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func3()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:59 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:60 +0xcd

        goroutine 114 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func2()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:55 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:56 +0xb5

        goroutine 115 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func3()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:59 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:60 +0xcd

        goroutine 71 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func2()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:55 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:56 +0xb5

        goroutine 72 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func3()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:59 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:60 +0xcd

        goroutine 116 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func2()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:55 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:56 +0xb5

        goroutine 117 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func3()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:59 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:60 +0xcd

        goroutine 100 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func2()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:55 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:56 +0xb5

        goroutine 101 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func3()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:59 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:60 +0xcd

        goroutine 92 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func2()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:55 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:56 +0xb5

        goroutine 93 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func3()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:59 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:60 +0xcd

        goroutine 73 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func2()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:55 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:56 +0xb5

        goroutine 74 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func3()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:59 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:60 +0xcd

        goroutine 94 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func2()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:55 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:56 +0xb5

        goroutine 95 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func3()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:59 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:60 +0xcd

        goroutine 118 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func2()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:55 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:56 +0xb5

        goroutine 119 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func3()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:59 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:60 +0xcd

        goroutine 75 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func2()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:55 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:56 +0xb5

        goroutine 76 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func3()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:59 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:60 +0xcd

        goroutine 102 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func2()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:55 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:56 +0xb5

        goroutine 103 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func3()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:59 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:60 +0xcd

        goroutine 120 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func2()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:55 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:56 +0xb5

        goroutine 121 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func3()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:59 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:60 +0xcd

        goroutine 104 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func2()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:55 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:56 +0xb5

        goroutine 105 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func3()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:59 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:60 +0xcd

        goroutine 77 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func2()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:55 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:56 +0xb5

        goroutine 78 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func3()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:59 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:60 +0xcd

        goroutine 106 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func2()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:55 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:56 +0xb5

        goroutine 107 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func3()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:59 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:60 +0xcd

        goroutine 108 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func2()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:55 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:56 +0xb5

        goroutine 109 [select (no cases), locked to thread]:
        main.CgoSignalDeadlock.func3()
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:59 +0x8a
        created by main.CgoSignalDeadlock
            /Users/trevorgray/go/src/runtime/testdata/testprogcgo/cgo.go:60 +0xcd

        rax    0xe
        rbx    0x4157780
        rcx    0x7fff5fbff690
        rdx    0x7fff5fbff718
        rdi    0x1203
        rsi    0x4157780
        rbp    0x7fff5fbff6c8
        rsp    0x7fff5fbff690
        r8     0xc4200740b0
        r9     0xffffffffffffffff
        r10    0x2
        r11    0x286
        r12    0x0
        r13    0xf1
        r14    0xc
        r15    0x0
        rip    0x405f71b
        rflags 0x286
        cs     0x7
        fs     0x0
        gs     0x0
FAIL
FAIL    runtime 69.433s
ok      runtime/debug   0.011s
ok      runtime/internal/atomic 0.138s
ok      runtime/internal/sys    0.007s
ok      runtime/pprof   1.393s
ok      runtime/trace   1.295s
ok      sort    0.051s
ok      strconv 1467754587.246s
ok      strings 0.084s
ok      sync    0.113s
ok      sync/atomic 0.028s
ok      syscall 0.069s
ok      testing 2.249s
ok      testing/quick   0.030s
ok      text/scanner    0.009s
ok      text/tabwriter  0.011s
ok      text/template   0.352s
ok      text/template/parse 0.012s
panic: test timed out after 3m0s

goroutine 43 [running]:
panic(0x1859e0, 0xc420010170)
    /Users/trevorgray/go/src/runtime/panic.go:500 +0x1a1
testing.startAlarm.func1()
    /Users/trevorgray/go/src/testing/testing.go:918 +0x10b
created by time.goFunc
    /Users/trevorgray/go/src/time/sleep.go:154 +0x44

goroutine 1 [chan receive, 3 minutes]:
testing.(*T).Run(0xc4200a40c0, 0x1c2047, 0x9, 0x1db468, 0x5bc01)
    /Users/trevorgray/go/src/testing/testing.go:647 +0x316
testing.RunTests.func1(0xc4200a40c0)
    /Users/trevorgray/go/src/testing/testing.go:793 +0x6d
testing.tRunner(0xc4200a40c0, 0xc420046e30)
    /Users/trevorgray/go/src/testing/testing.go:610 +0x81
testing.RunTests(0x1dabc0, 0x29e3c0, 0x49, 0x49, 0xe7bb)
    /Users/trevorgray/go/src/testing/testing.go:799 +0x2f0
testing.(*M).Run(0xc420046ef8, 0x1)
    /Users/trevorgray/go/src/testing/testing.go:743 +0x85
main.main()
    time/_test/_testmain.go:248 +0xc2

goroutine 37 [runnable]:
time.Sleep(0x17d7840)
    /Users/trevorgray/go/src/runtime/time.go:59 +0xe1
time_test.testReset(0x17d7840, 0x3a5c3a03, 0xc42002cf78)
    /Users/trevorgray/go/src/time/sleep_test.go:322 +0x52
time_test.TestReset(0xc4200a4180)
    /Users/trevorgray/go/src/time/sleep_test.go:358 +0x7b
testing.tRunner(0xc4200a4180, 0x1db468)
    /Users/trevorgray/go/src/testing/testing.go:610 +0x81
created by testing.(*T).Run
    /Users/trevorgray/go/src/testing/testing.go:646 +0x2ec

goroutine 30 [runnable]:
time.Sleep(0x3b9aca00)
    /Users/trevorgray/go/src/runtime/time.go:59 +0xe1
time_test.TestAfterFunc.func1()
    /Users/trevorgray/go/src/time/sleep_test.go:55 +0x59
created by time.goFunc
    /Users/trevorgray/go/src/time/sleep.go:154 +0x44

goroutine 31 [runnable]:
time.Sleep(0x3b9aca00)
    /Users/trevorgray/go/src/runtime/time.go:59 +0xe1
time_test.TestAfterFunc.func1()
    /Users/trevorgray/go/src/time/sleep_test.go:55 +0x59
created by time.goFunc
    /Users/trevorgray/go/src/time/sleep.go:154 +0x44

goroutine 33 [runnable]:
time.Sleep(0x3b9aca00)
    /Users/trevorgray/go/src/runtime/time.go:59 +0xe1
time_test.TestAfterFunc.func1()
    /Users/trevorgray/go/src/time/sleep_test.go:55 +0x59
created by time.goFunc
    /Users/trevorgray/go/src/time/sleep.go:154 +0x44

goroutine 34 [runnable]:
time.Sleep(0x3b9aca00)
    /Users/trevorgray/go/src/runtime/time.go:59 +0xe1
time_test.TestAfterFunc.func1()
    /Users/trevorgray/go/src/time/sleep_test.go:55 +0x59
created by time.goFunc
    /Users/trevorgray/go/src/time/sleep.go:154 +0x44

goroutine 32 [runnable]:
time.Sleep(0x3b9aca00)
    /Users/trevorgray/go/src/runtime/time.go:59 +0xe1
time_test.TestAfterFunc.func1()
    /Users/trevorgray/go/src/time/sleep_test.go:55 +0x59
created by time.goFunc
    /Users/trevorgray/go/src/time/sleep.go:154 +0x44

goroutine 49 [runnable]:
time.Sleep(0x3b9aca00)
    /Users/trevorgray/go/src/runtime/time.go:59 +0xe1
time_test.TestAfterFunc.func1()
    /Users/trevorgray/go/src/time/sleep_test.go:55 +0x59
created by time.goFunc
    /Users/trevorgray/go/src/time/sleep.go:154 +0x44

goroutine 50 [runnable]:
time.Sleep(0x3b9aca00)
    /Users/trevorgray/go/src/runtime/time.go:59 +0xe1
time_test.TestAfterFunc.func1()
    /Users/trevorgray/go/src/time/sleep_test.go:55 +0x59
created by time.goFunc
    /Users/trevorgray/go/src/time/sleep.go:154 +0x44

goroutine 35 [runnable]:
time.Sleep(0x3b9aca00)
    /Users/trevorgray/go/src/runtime/time.go:59 +0xe1
time_test.TestAfterFunc.func1()
    /Users/trevorgray/go/src/time/sleep_test.go:55 +0x59
created by time.goFunc
    /Users/trevorgray/go/src/time/sleep.go:154 +0x44

goroutine 51 [runnable]:
time.Sleep(0x3b9aca00)
    /Users/trevorgray/go/src/runtime/time.go:59 +0xe1
time_test.TestAfterFunc.func1()
    /Users/trevorgray/go/src/time/sleep_test.go:55 +0x59
created by time.goFunc
    /Users/trevorgray/go/src/time/sleep.go:154 +0x44

goroutine 36 [runnable]:
time.Sleep(0x3b9aca00)
    /Users/trevorgray/go/src/runtime/time.go:59 +0xe1
time_test.TestAfterFunc.func1()
    /Users/trevorgray/go/src/time/sleep_test.go:55 +0x59
created by time.goFunc
    /Users/trevorgray/go/src/time/sleep.go:154 +0x44
FAIL    time    181.515s
ok      unicode 0.009s
ok      unicode/utf16   0.009s
ok      unicode/utf8    0.011s
ok      vendor/golang.org/x/net/http2/hpack 0.010s
ok      vendor/golang.org/x/net/lex/httplex 0.012s
ok      vendor/golang.org/x/net/route   0.031s
ok      cmd/addr2line   0.481s
ok      cmd/api 0.071s
ok      cmd/asm/internal/asm    0.119s
ok      cmd/asm/internal/lex    0.008s
ok      cmd/compile/internal/big    0.514s
ok      cmd/compile/internal/gc 9.729s
ok      cmd/compile/internal/ssa    0.117s
ok      cmd/compile/internal/test   0.006s
ok      cmd/cover   0.821s
ok      cmd/doc 0.019s
ok      cmd/fix 0.013s
ok      cmd/go  28.252s
ok      cmd/gofmt   0.053s
ok      cmd/internal/goobj  0.007s
ok      cmd/internal/obj    0.007s
ok      cmd/internal/obj/x86    0.007s
ok      cmd/internal/pprof/profile  0.007s
ok      cmd/link    0.006s
ok      cmd/nm  0.477s
ok      cmd/objdump 1.347s
ok      cmd/pack    1.178s
ok      cmd/vendor/golang.org/x/arch/arm/armasm 0.016s
ok      cmd/vendor/golang.org/x/arch/x86/x86asm 0.152s
ok      cmd/vet 2.098s
2016/07/05 23:39:30 Failed: exit status 1
  1. What did you expect to see?

    The build to complete successfully.

  2. What did you see instead?

    The build fails on the "Testing packages" step.

@ianlancetaylor ianlancetaylor changed the title Building go1.7beta2 from source fails on "Testing packages" step build: go1.7beta2 test failures: net/http, runtime, time Jul 6, 2016

@ianlancetaylor ianlancetaylor added this to the Go1.7Maybe milestone Jul 6, 2016

@ianlancetaylor ianlancetaylor changed the title build: go1.7beta2 test failures: net/http, runtime, time build: go1.7beta2 test failures on MacOS 10.12: net/http, runtime, time Jul 6, 2016

@ianlancetaylor

This comment has been minimized.

Copy link
Contributor

commented Jul 6, 2016

There are three failures here, all cases where the test program is hanging.

In net/http TestH12_FlushBeforeBody is failing.

In runtime TestCgoSignalDeadlock is failing.

In time TestReset is failing.

The time failure is interesting. The stack trace shows that a call to time.Sleep(25 * time.Millisecond) is never returning. The goroutine is marked runnable, suggesting that the sleep completed but the goroutine was never started again. There are a number of other runnable goroutines. That is peculiar.

Is this repeatable? If you reached to testing phase, your Go programs and libraries were installed. Try running go test time. Does it fail in the same way?

@burke

This comment has been minimized.

Copy link

commented Jul 6, 2016

I am able to reproduce the time deadlock 100% of the time on macOS 10.12 Beta (16A239j) by running:

package main

import "time"

func main() {
    for _ = range time.Tick(100 * time.Millisecond) {
        println("ticker")
    }
}

It will tick an average of maybe 40-70 times before deadlocking.

This fails on 1.5.1 and 1.6.2. I haven't tried on tip, but the trace ends up in the same place.

@rjammala

This comment has been minimized.

Copy link

commented Jul 6, 2016

tip seems to be fine on 10.11.5

@burke

This comment has been minimized.

Copy link

commented Jul 6, 2016

Broken for me on tip too:

$ go version
go version devel +820e30f Wed Jul 6 17:19:45 2016 +0000 darwin/amd64
$ go run /tmp/wtf.go
ticker
ticker
ticker
ticker
ticker
ticker
ticker
ticker
ticker
ticker
ticker
ticker
ticker
ticker
ticker
ticker
ticker
ticker
ticker
ticker
ticker
ticker
ticker
ticker
ticker
ticker
ticker


^\SIGQUIT: quit
PC=0x4dd83 m=0

goroutine 0 [idle]:
runtime.mach_semaphore_timedwait(0x577d43ef00000703, 0xc429c48d71, 0x7fff5fbfd884, 0x577d43ef, 0x29c48d712001ca00, 0xade80, 0x7fff5fbfd8b8, 0x45163, 0x145ec50bf4252371, 0xffffffff, ...)
        /Users/burke/src/github.com/golang/go/src/runtime/sys_darwin_amd64.s:421 +0x13
runtime.semasleep1(0x145ec50bf4252371, 0xffffffff)
        /Users/burke/src/github.com/golang/go/src/runtime/os_darwin.go:424 +0xda
runtime.semasleep.func1()
        /Users/burke/src/github.com/golang/go/src/runtime/os_darwin.go:451 +0x33
runtime.systemstack(0xade00)
        /Users/burke/src/github.com/golang/go/src/runtime/asm_amd64.s:298 +0x79
runtime.mstart()
        /Users/burke/src/github.com/golang/go/src/runtime/proc.go:1078

goroutine 4 [syscall]:
runtime.notetsleepg(0xada58, 0x5ee3e50, 0x0)
        /Users/burke/src/github.com/golang/go/src/runtime/lock_sema.go:257 +0x4b fp=0xc42002b740 sp=0xc42002b700
runtime.timerproc()
        /Users/burke/src/github.com/golang/go/src/runtime/time.go:209 +0x2eb fp=0xc42002b7c0 sp=0xc42002b740
runtime.goexit()
        /Users/burke/src/github.com/golang/go/src/runtime/asm_amd64.s:2086 +0x1 fp=0xc42002b7c8 sp=0xc42002b7c0
created by runtime.addtimerLocked
        /Users/burke/src/github.com/golang/go/src/runtime/time.go:116 +0xee

goroutine 1 [chan receive]:
main.main()
        /tmp/wtf.go:8 +0x71

rax    0xe
rbx    0x29c48d71
rcx    0x7fff5fbfd858
rdx    0x29c48d71
rdi    0x703
rsi    0x577d43ef
rbp    0x7fff5fbfd890
rsp    0x7fff5fbfd858
r8     0x1
r9     0x7
r10    0x52e3c571
r11    0x206
r12    0x280dfd4de21
r13    0xc35bf3c2958
r14    0x145ec50bca609600
r15    0x3
rip    0x4dd83
rflags 0x206
cs     0x7
fs     0x0
gs     0x0
exit status 2
@ianlancetaylor

This comment has been minimized.

Copy link
Contributor

commented Jul 6, 2016

I'm guessing this has something to do with using MacOS 10.12 beta. What I don't know is whether this is a kernel bug or a Go bug.

Can you run your failing test case with the environment variable

GODEBUG=gctrace=1,schedtrace=100,scheddetail=1

Note that that will generate a lot of output.

@trevorgray

This comment has been minimized.

Copy link
Author

commented Jul 6, 2016

Go test also fails in the same way for TestAfterTick from the time package. It seems to work some of the time.

Here is the output using the environment variable you provided: https://gist.github.com/trevorgray/29e73f2b0d98a5b382a9bb0a5f1b9fc1

package foo

import (
    "testing"
    "time"
)

func TestAfterTick(t *testing.T) {
    const Count = 10
    Delta := 100 * time.Millisecond
    if testing.Short() {
        Delta = 10 * time.Millisecond
    }
    t0 := time.Now()
    for i := 0; i < Count; i++ {
        <-time.After(Delta)
    }
    t1 := time.Now()
    d := t1.Sub(t0)
    target := Delta * Count
    if d < target*9/10 {
        t.Fatalf("%d ticks of %s too fast: took %s, expected %s", Count, Delta, d, target)
    }
    if !testing.Short() && d > target*30/10 {
        t.Fatalf("%d ticks of %s too slow: took %s, expected %s", Count, Delta, d, target)
    }
}
$ go test foo_test.go
ok      command-line-arguments  1.020s

$ go test foo_test.go
ok      command-line-arguments  1.035s

$ go version
go version devel +5a9d5c3 Tue Jul 5 06:36:21 2016 +0000 darwin/amd64

$ go test foo_test.go -count=10
^\SIGQUIT: quit
PC=0x58203 m=0

goroutine 0 [idle]:
runtime.mach_semaphore_timedwait(0x577d562300000803, 0x6604bdc, 0x7fff5fbff924, 0x577d5623, 0x6604bdc001981b0, 0x198460, 0x7fff5fbff958, 0x4eb03, 0x145ec948ce65e9dc, 0xffffffff, ...)
    /Users/trevorgray/go/src/runtime/sys_darwin_amd64.s:421 +0x13
runtime.semasleep1(0x145ec948ce65e9dc, 0xffffffff)
    /Users/trevorgray/go/src/runtime/os_darwin.go:424 +0xda
runtime.semasleep.func1()
    /Users/trevorgray/go/src/runtime/os_darwin.go:451 +0x33
runtime.systemstack(0x198400)
    /Users/trevorgray/go/src/runtime/asm_amd64.s:298 +0x79
runtime.mstart()
    /Users/trevorgray/go/src/runtime/proc.go:1078

goroutine 6 [syscall]:
runtime.notetsleepg(0x198038, 0x5f5dc67, 0x16)
    /Users/trevorgray/go/src/runtime/lock_sema.go:257 +0x4b fp=0xc420028740 sp=0xc420028700
runtime.timerproc()
    /Users/trevorgray/go/src/runtime/time.go:209 +0x2eb fp=0xc4200287c0 sp=0xc420028740
runtime.goexit()
    /Users/trevorgray/go/src/runtime/asm_amd64.s:2086 +0x1 fp=0xc4200287c8 sp=0xc4200287c0
created by runtime.addtimerLocked
    /Users/trevorgray/go/src/runtime/time.go:116 +0xee

goroutine 1 [chan receive]:
testing.(*T).Run(0xc42008a240, 0x10ebc2, 0xd, 0x11c268, 0x57ef5)
    /Users/trevorgray/go/src/testing/testing.go:647 +0x316
testing.RunTests.func1(0xc42008a240)
    /Users/trevorgray/go/src/testing/testing.go:793 +0x6d
testing.tRunner(0xc42008a240, 0xc42003de20)
    /Users/trevorgray/go/src/testing/testing.go:610 +0x81
testing.RunTests(0x11c288, 0x192230, 0x1, 0x1, 0xddeb)
    /Users/trevorgray/go/src/testing/testing.go:799 +0x2f0
testing.(*M).Run(0xc42003dee8, 0xc42000c4e8)
    /Users/trevorgray/go/src/testing/testing.go:743 +0x85
main.main()
    command-line-arguments/_test/_testmain.go:54 +0xc2

goroutine 8 [chan receive]:
command-line-arguments.TestAfterTick(0xc42008a300)
    /Users/trevorgray/go/src/foo_test.go:16 +0xda
testing.tRunner(0xc42008a300, 0x11c268)
    /Users/trevorgray/go/src/testing/testing.go:610 +0x81
created by testing.(*T).Run
    /Users/trevorgray/go/src/testing/testing.go:646 +0x2ec

rax    0xe
rbx    0x6604bdc
rcx    0x7fff5fbff8f8
rdx    0x6604bdc
rdi    0x803
rsi    0x577d5623
rbp    0x7fff5fbff930
rsp    0x7fff5fbff8f8
r8     0x1
r9     0x1
r10    0x34b7827b93
r11    0x206
r12    0x0
r13    0x4cca8a5f1198
r14    0x145ec9488c6ad400
r15    0x7
rip    0x58203
rflags 0x206
cs     0x7
fs     0x0
gs     0x0
FAIL    command-line-arguments  25.037s
@burke

This comment has been minimized.

Copy link

commented Jul 6, 2016

@ianlancetaylor

This comment has been minimized.

Copy link
Contributor

commented Jul 6, 2016

I'm sorry, I wasn't clear. Please run go test -c time to build time.test, the timepackage testsuite as a single program. Running that program should fail as above. Then run

GODEBUG=gctrace=1,schedtrace=100,scheddetail=1 ./time.test
@burke

This comment has been minimized.

Copy link

commented Jul 6, 2016

Ah, ok!:

http://burkelibbey.s3.amazonaws.com/fail.gz

I forgot about it for a few minutes, so the log is rather long.

@quentinmit quentinmit modified the milestones: Go1.7, Go1.7Maybe Jul 6, 2016

@ianlancetaylor

This comment has been minimized.

Copy link
Contributor

commented Jul 6, 2016

Thanks. I'm working pretty much in the dark, but my current suspicion is that something changed in the function __commpage_gettimeofday. Go essentially has a copy of that function in nanotime in runtime/sys_darwin_amd64.s, and if the Darwin kernel changed the common page then the Go function might be doing the wrong thing. Do you have source code for the libc? Can you find that function in there? Otherwise, perhaps you could build a C program that calls gettimeofday and use the debugger to disassemble it.

@burke

This comment has been minimized.

Copy link

commented Jul 7, 2016

I don't have access to the source (AFAIK?), but here's the disassemble if it helps:

$ otool -tvV /usr/lib/system/libsystem_kernel.dylib | awk '/[^ ]+:/ { lbl = $1 } lbl == "___commpage_gettimeofday:" { print }'
___commpage_gettimeofday:
0000000000012690        pushq   %rbp
0000000000012691        pushq   %r12
0000000000012693        pushq   %r13
0000000000012695        pushq   %r14
0000000000012697        subq    $0x8, %rsp
000000000001269b        movq    %rsp, %rbp
000000000001269e        movq    %rdi, %r12
00000000000126a1        movabsq $0x7fffffe00050, %r13
00000000000126ab        movl    0x1c(%r13), %r14d
00000000000126af        testl   %r14d, %r14d
00000000000126b2        je      0x126fa
00000000000126b4        callq   _mach_absolute_time
00000000000126b9        movl    0x28(%r13), %r8d
00000000000126bd        subq    0x20(%r13), %rax
00000000000126c1        cmpl    0x1c(%r13), %r14d
00000000000126c5        jne     0x126ab
00000000000126c7        movl    $0x3b9aca00, %ecx
00000000000126cc        movq    %rax, %rdx
00000000000126cf        shrq    $0x20, %rdx
00000000000126d3        divl    %ecx
00000000000126d5        addl    %eax, %r8d
00000000000126d8        movl    $0x3e8, %ecx
00000000000126dd        movl    %edx, %eax
00000000000126df        xorl    %edx, %edx
00000000000126e1        divl    %ecx
00000000000126e3        movq    %r8, (%r12)
00000000000126e7        movl    %eax, 0x8(%r12)
00000000000126ec        xorl    %eax, %eax
00000000000126ee        addq    $0x8, %rsp
00000000000126f2        popq    %r14
00000000000126f4        popq    %r13
00000000000126f6        popq    %r12
00000000000126f8        popq    %rbp
00000000000126f9        retq
00000000000126fa        movl    $0x1, %eax
00000000000126ff        jmp     0x126ee

Here's _mach_absolute_time if it's helpful:

$ otool -tvV /usr/lib/system/libsystem_kernel.dylib | awk '/[^ ]+:/ { lbl = $1 } lbl == "_mach_absolute_time:" { print }'
_mach_absolute_time:
00000000000118a5        pushq   %rbp
00000000000118a6        movq    %rsp, %rbp
00000000000118a9        movabsq $0x7fffffe00050, %rsi
00000000000118b3        movl    0x18(%rsi), %r8d
00000000000118b7        testl   %r8d, %r8d
00000000000118ba        je      0x118b3
00000000000118bc        lfence
00000000000118bf        rdtsc
00000000000118c1        lfence
00000000000118c4        shlq    $0x20, %rdx
00000000000118c8        orq     %rdx, %rax
00000000000118cb        movl    0xc(%rsi), %ecx
00000000000118ce        andl    $0x1f, %ecx
00000000000118d1        subq    (%rsi), %rax
00000000000118d4        shlq    %cl, %rax
00000000000118d7        movl    0x8(%rsi), %ecx
00000000000118da        mulq    %rcx
00000000000118dd        shrdq   $0x20, %rdx, %rax
00000000000118e2        addq    0x10(%rsi), %rax
00000000000118e6        cmpl    0x18(%rsi), %r8d
00000000000118ea        jne     0x118b3
00000000000118ec        popq    %rbp
00000000000118ed        retq
00000000000118ee        nop
00000000000118ef        nop
@burke

This comment has been minimized.

Copy link

commented Jul 7, 2016

I grabbed the ElCap one too:

0000000000011510    pushq    %rbp
0000000000011511    pushq    %r12
0000000000011513    pushq    %r13
0000000000011515    pushq    %r14
0000000000011517    subq    $0x8, %rsp
000000000001151b    movq    %rsp, %rbp
000000000001151e    movq    %rdi, %r12
0000000000011521    movabsq    $0x7fffffe00050, %r13   ## imm = 0x7FFFFFE00050
000000000001152b    movl    0x1c(%r13), %r14d
000000000001152f    testl    %r14d, %r14d
0000000000011532    je    0x1157a
0000000000011534    callq    _mach_absolute_time
0000000000011539    movl    0x28(%r13), %r8d
000000000001153d    subq    0x20(%r13), %rax
0000000000011541    cmpl    0x1c(%r13), %r14d
0000000000011545    jne    0x1152b
0000000000011547    movl    $0x3b9aca00, %ecx       ## imm = 0x3B9ACA00
000000000001154c    movq    %rax, %rdx
000000000001154f    shrq    $0x20, %rdx
0000000000011553    divl    %ecx
0000000000011555    addl    %eax, %r8d
0000000000011558    movl    $0x3e8, %ecx            ## imm = 0x3E8
000000000001155d    movl    %edx, %eax
000000000001155f    xorl    %edx, %edx
0000000000011561    divl    %ecx
0000000000011563    movq    %r8, (%r12)
0000000000011567    movl    %eax, 0x8(%r12)
000000000001156c    xorl    %eax, %eax
000000000001156e    addq    $0x8, %rsp
0000000000011572    popq    %r14
0000000000011574    popq    %r13
0000000000011576    popq    %r12
0000000000011578    popq    %rbp
0000000000011579    retq
000000000001157a    movl    $0x1, %eax
000000000001157f    jmp    0x1156e

The diff:

8c8
< movabsq $0x7fffffe00050, %r13 ## imm = 0x7FFFFFE00050
---
> movabsq $0x7fffffe00050, %r13
11c11
< je 0x1157a
---
> je 0x126fa
16,17c16,17
< jne 0x1152b
< movl $0x3b9aca00, %ecx ## imm = 0x3B9ACA00
---
> jne 0x126ab
> movl $0x3b9aca00, %ecx
22c22
< movl $0x3e8, %ecx ## imm = 0x3E8
---
> movl $0x3e8, %ecx
36,37c36
< jmp 0x1156e
<
---
> jmp 0x126ee

At a glance, it looks the same.

@ianlancetaylor

This comment has been minimized.

Copy link
Contributor

commented Jul 7, 2016

Thanks! Any change in _mach_absolute_time?

@burke

This comment has been minimized.

Copy link

commented Jul 7, 2016

This one again seems pretty similar:

0000000000010333    pushq    %rbp
0000000000010334    movq    %rsp, %rbp
0000000000010337    movabsq    $0x7fffffe00050, %rsi   ## imm = 0x7FFFFFE00050
0000000000010341    movl    0x18(%rsi), %r8d
0000000000010345    testl    %r8d, %r8d
0000000000010348    je    0x10341
000000000001034a    lfence
000000000001034d    rdtsc
000000000001034f    lfence
0000000000010352    shlq    $0x20, %rdx
0000000000010356    orq    %rdx, %rax
0000000000010359    movl    0xc(%rsi), %ecx
000000000001035c    andl    $0x1f, %ecx
000000000001035f    subq    (%rsi), %rax
0000000000010362    shlq    %cl, %rax
0000000000010365    movl    0x8(%rsi), %ecx
0000000000010368    mulq    %rcx
000000000001036b    shrdq    $0x20, %rdx, %rax
0000000000010370    addq    0x10(%rsi), %rax
0000000000010374    cmpl    0x18(%rsi), %r8d
0000000000010378    jne    0x10341
000000000001037a    popq    %rbp
000000000001037b    retq
1,2c1,2
< 0000000000010333
< pushq    %rbp
---
> 00000000000118a5
> pushq   %rbp
4c4
< movabsq    $0x7fffffe00050, %rsi   ## imm = 0x7FFFFFE00050
---
> movabsq $0x7fffffe00050, %rsi
6,7c6,7
< testl    %r8d, %r8d
< je    0x10341
---
> testl   %r8d, %r8d
> je      0x118b3
12c12
< orq    %rdx, %rax
---
> orq     %rdx, %rax
19c19
< shrdq    $0x20, %rdx, %rax
---
> shrdq   $0x20, %rdx, %rax
22c22
< jne    0x10341
---
> jne     0x118b3
24a25,27
> nop
> nop
>
@ianlancetaylor

This comment has been minimized.

Copy link
Contributor

commented Jul 7, 2016

I see three differences between the Go computation and the disassembled code.

  1. The disassembled code uses lfence around the rdtsc instruction.
  2. The disassembled code checks the generation after the computation, not before.
  3. The disassembled code uses nt_shift, the Go code ignores it.
@ianlancetaylor

This comment has been minimized.

Copy link
Contributor

commented Jul 7, 2016

Actually the generation checking is not a difference, it's just that the Go code loads everything from memory while the Darwin code does not.

@ianlancetaylor

This comment has been minimized.

Copy link
Contributor

commented Jul 7, 2016

Can you see if the change in https://golang.org/cl/24782 helps at all?

@gopherbot

This comment has been minimized.

Copy link

commented Jul 7, 2016

CL https://golang.org/cl/24782 mentions this issue.

@burke

This comment has been minimized.

Copy link

commented Jul 7, 2016

Unfortunately that doesn't seem to have changed anything (after applying the patch, nuking all artifacts, and building fresh)

@ianlancetaylor

This comment has been minimized.

Copy link
Contributor

commented Jul 7, 2016

Pity. Thanks for testing it. I guess this is going to need some serious debugging somehow.

@ianlancetaylor

This comment has been minimized.

Copy link
Contributor

commented Jul 7, 2016

I'm looking at a machine with Sierra installed now. The problem seems to be that runtime.nanotime is not consistent. The failure I'm seeing is that notetsleep_internal sets deadline based on nanotime and sleeps. It wakes up after a timeout. It recomputes the deadline by calling nanotime again. The second call to nanotime returns a completely different, unrelated, value, causing notetsleep_internal to go to sleep for a very long time.

Specifically, the first call to nanotime returns a number like 1467928044254360339 and the second call returns 0.

@ianlancetaylor

This comment has been minimized.

Copy link
Contributor

commented Jul 7, 2016

Looks like the problem is that that gettimeofday system call has changed behavior. Previously it always returned values in AX/DX. Now it stores the return value into memory, like the C library call, and returns 0 in AX. The libc code handles either case, and we need to as well.

Testing, and will check 386 also.

@bradfitz

This comment has been minimized.

Copy link
Member

commented Jul 7, 2016

Is that the only system call with such a change in behavior? I guess we'll see how all.bash does afterwards.

@gopherbot

This comment has been minimized.

Copy link

commented Jul 8, 2016

CL https://golang.org/cl/24812 mentions this issue.

gopherbot pushed a commit that referenced this issue Jul 13, 2016

doc/go1.7.html: earlier Go versions don't work on macOS Sierra
Updates #16272.

Change-Id: If5444b8de8678eeb9be10b62a929e2e101d1dd91
Reviewed-on: https://go-review.googlesource.com/24900
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
@andlabs

This comment has been minimized.

Copy link
Contributor

commented Jul 13, 2016

So future versions of OS X will not be able to have Go installed entirely from source (with the 1.4 bootstrap) and we'll need to use binary packages on OS X from here on out?

@quentinmit

This comment has been minimized.

Copy link
Contributor

commented Jul 13, 2016

It's only a problem if the program needs to be quiescent... I suspect we might get lucky and the compilers are never quiescent, so it will work in practice. That still seems scary, though.

@bradfitz

This comment has been minimized.

Copy link
Member

commented Jul 13, 2016

@andlabs, good point. Let's move it to a new bug. I made #16352

@gopherbot

This comment has been minimized.

Copy link

commented Jul 18, 2016

CL https://golang.org/cl/24967 mentions this issue.

gopherbot pushed a commit that referenced this issue Jul 18, 2016

[release-branch.go1.6] runtime: fix nanotime for macOS Sierra
In the beta version of the macOS Sierra (10.12) release, the
gettimeofday system call changed on x86. Previously it always returned
the time in the AX/DX registers. Now, if AX is returned as 0, it means
that the system call has stored the values into the memory pointed to by
the first argument, just as the libc gettimeofday function does. The
libc function handles both cases, and we need to do so as well.

Fixes #16272.
Fixes #16354.

Change-Id: Ibe5ad50a2c5b125e92b5a4e787db4b5179f6b723
Reviewed-on: https://go-review.googlesource.com/24812
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-on: https://go-review.googlesource.com/24967

gopherbot pushed a commit that referenced this issue Jul 18, 2016

doc/go1.7.html: the 1.6.3 release supports Sierra
Updates #16354
Updates #16272

Change-Id: I73e8df40621a0a17a1990f3b10ea996f4fa738aa
Reviewed-on: https://go-review.googlesource.com/25014
Run-TryBot: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

@mikioh mikioh changed the title build: go1.7beta2 test failures on MacOS 10.12: net/http, runtime, time runtime: go1.7beta2 test failures on MacOS 10.12: net/http, runtime, time Oct 12, 2016

@gopherbot

This comment has been minimized.

Copy link

commented Oct 23, 2016

CL https://golang.org/cl/31729 mentions this issue.

gopherbot pushed a commit that referenced this issue Oct 23, 2016

runtime: fix nanotime for macOS Sierra
This is a cherry-pick of https://go-review.googlesource.com/24812
to the release-branch-go1.4

In the beta version of the macOS Sierra (10.12) release, the
gettimeofday system call changed on x86. Previously it always returned
the time in the AX/DX registers. Now, if AX is returned as 0, it means
that the system call has stored the values into the memory pointed to by
the first argument, just as the libc gettimeofday function does. The
libc function handles both cases, and we need to do so as well.

Fixes #16272.

Change-Id: I490ed0a82e251fce73becc4722cbe276feebc7b7
Reviewed-on: https://go-review.googlesource.com/31729
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>

BramGruneir added a commit to BramGruneir/go that referenced this issue Oct 25, 2016

runtime: fix nanotime for macOS Sierra
In the beta version of the macOS Sierra (10.12) release, the
gettimeofday system call changed on x86. Previously it always returned
the time in the AX/DX registers. Now, if AX is returned as 0, it means
that the system call has stored the values into the memory pointed to by
the first argument, just as the libc gettimeofday function does. The
libc function handles both cases, and we need to do so as well.

Fixes golang#16272.

Change-Id: Ibe5ad50a2c5b125e92b5a4e787db4b5179f6b723
Reviewed-on: https://go-review.googlesource.com/24812
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>

@golang golang locked and limited conversation to collaborators Oct 23, 2017

wheatman added a commit to wheatman/go-akaros that referenced this issue Jun 25, 2018

runtime: fix nanotime for macOS Sierra
This is a cherry-pick of https://go-review.googlesource.com/24812
to the release-branch-go1.4

In the beta version of the macOS Sierra (10.12) release, the
gettimeofday system call changed on x86. Previously it always returned
the time in the AX/DX registers. Now, if AX is returned as 0, it means
that the system call has stored the values into the memory pointed to by
the first argument, just as the libc gettimeofday function does. The
libc function handles both cases, and we need to do so as well.

Fixes golang#16272.

Change-Id: I490ed0a82e251fce73becc4722cbe276feebc7b7
Reviewed-on: https://go-review.googlesource.com/31729
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>

wheatman added a commit to wheatman/go-akaros that referenced this issue Jun 26, 2018

runtime: fix nanotime for macOS Sierra
This is a cherry-pick of https://go-review.googlesource.com/24812
to the release-branch-go1.4

In the beta version of the macOS Sierra (10.12) release, the
gettimeofday system call changed on x86. Previously it always returned
the time in the AX/DX registers. Now, if AX is returned as 0, it means
that the system call has stored the values into the memory pointed to by
the first argument, just as the libc gettimeofday function does. The
libc function handles both cases, and we need to do so as well.

Fixes golang#16272.

Change-Id: I490ed0a82e251fce73becc4722cbe276feebc7b7
Reviewed-on: https://go-review.googlesource.com/31729
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>

wheatman added a commit to wheatman/go-akaros that referenced this issue Jul 9, 2018

runtime: fix nanotime for macOS Sierra
This is a cherry-pick of https://go-review.googlesource.com/24812
to the release-branch-go1.4

In the beta version of the macOS Sierra (10.12) release, the
gettimeofday system call changed on x86. Previously it always returned
the time in the AX/DX registers. Now, if AX is returned as 0, it means
that the system call has stored the values into the memory pointed to by
the first argument, just as the libc gettimeofday function does. The
libc function handles both cases, and we need to do so as well.

Fixes golang#16272.

Change-Id: I490ed0a82e251fce73becc4722cbe276feebc7b7
Reviewed-on: https://go-review.googlesource.com/31729
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>

wheatman added a commit to wheatman/go-akaros that referenced this issue Jul 20, 2018

runtime: fix nanotime for macOS Sierra
This is a cherry-pick of https://go-review.googlesource.com/24812
to the release-branch-go1.4

In the beta version of the macOS Sierra (10.12) release, the
gettimeofday system call changed on x86. Previously it always returned
the time in the AX/DX registers. Now, if AX is returned as 0, it means
that the system call has stored the values into the memory pointed to by
the first argument, just as the libc gettimeofday function does. The
libc function handles both cases, and we need to do so as well.

Fixes golang#16272.

Change-Id: I490ed0a82e251fce73becc4722cbe276feebc7b7
Reviewed-on: https://go-review.googlesource.com/31729
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>

wheatman added a commit to wheatman/go-akaros that referenced this issue Jul 30, 2018

runtime: fix nanotime for macOS Sierra
This is a cherry-pick of https://go-review.googlesource.com/24812
to the release-branch-go1.4

In the beta version of the macOS Sierra (10.12) release, the
gettimeofday system call changed on x86. Previously it always returned
the time in the AX/DX registers. Now, if AX is returned as 0, it means
that the system call has stored the values into the memory pointed to by
the first argument, just as the libc gettimeofday function does. The
libc function handles both cases, and we need to do so as well.

Fixes golang#16272.

Change-Id: I490ed0a82e251fce73becc4722cbe276feebc7b7
Reviewed-on: https://go-review.googlesource.com/31729
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
You can’t perform that action at this time.