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

all: go tool dist test -asan fails many tests #64257

Open
qiulaidongfeng opened this issue Nov 18, 2023 · 18 comments
Open

all: go tool dist test -asan fails many tests #64257

qiulaidongfeng opened this issue Nov 18, 2023 · 18 comments
Labels
compiler/runtime Issues related to the Go compiler and/or runtime. help wanted NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Milestone

Comments

@qiulaidongfeng
Copy link
Contributor

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

$ go version
go version devel go1.22-631a6c2 Fri Nov 17 23:34:11 2023 +0000 linux/amd64

Does this issue reproduce with the latest release?

yes.

What operating system and processor architecture are you using (go env)?

go env Output
$ go env
GO111MODULE=''
GOARCH='amd64'
GOBIN=''
GOCACHE='/root/.cache/go-build'
GOENV='/root/.config/go/env'
GOEXE=''
GOEXPERIMENT=''
GOFLAGS=''
GOHOSTARCH='amd64'
GOHOSTOS='linux'
GOINSECURE=''
GOMODCACHE='/root/go/pkg/mod'
GONOPROXY=''
GONOSUMDB=''
GOOS='linux'
GOPATH='/root/go'
GOPRIVATE=''
GOPROXY='https://goproxy.cn,direct'
GOROOT='/root/.go/gotip'
GOSUMDB='sum.golang.org'
GOTMPDIR=''
GOTOOLCHAIN='auto'
GOTOOLDIR='/root/.go/gotip/pkg/tool/linux_amd64'
GOVCS=''
GOVERSION='devel go1.22-631a6c2 Fri Nov 17 23:34:11 2023 +0000'
GCCGO='gccgo'
GOAMD64='v4'
AR='ar'
CC='gcc'
CXX='g++'
CGO_ENABLED='1'
GOMOD='/dev/null'
GOWORK=''
CGO_CFLAGS='-O2 -g'
CGO_CPPFLAGS=''
CGO_CXXFLAGS='-O2 -g'
CGO_FFLAGS='-O2 -g'
CGO_LDFLAGS='-O2 -g'
PKG_CONFIG='pkg-config'
GOGCCFLAGS='-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -Wl,--no-gc-sections -fmessage-length=0 -ffile-prefix-map=/tmp/go-build853797895=/tmp/go-build -gno-record-gcc-switches'

What did you do?

go tool dist test -asan

What did you expect to see?

test pass.

What did you see instead?

output.txt

@qiulaidongfeng qiulaidongfeng changed the title go tool dist test -asan in wsl2 go tool dist test -asan fail in wsl2 Nov 18, 2023
@mauri870 mauri870 changed the title go tool dist test -asan fail in wsl2 cmd/dist: go tool dist test -asan fail in wsl2 Nov 18, 2023
@mauri870 mauri870 added NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. compiler/runtime Issues related to the Go compiler and/or runtime. labels Nov 18, 2023
@mauri870
Copy link
Member

cc @golang/wsl

@bcmills
Copy link
Contributor

bcmills commented Nov 20, 2023

(CC @golang/windows)

@bcmills
Copy link
Contributor

bcmills commented Nov 20, 2023

This turns out not to be specific to WSL2: this also fails on Linux.

@bcmills bcmills changed the title cmd/dist: go tool dist test -asan fail in wsl2 all: go tool dist test -asan fails many tests Nov 20, 2023
@bcmills
Copy link
Contributor

bcmills commented Nov 20, 2023

On linux/amd64 (no WSL involved):

~/go/src$ go tool dist test -asan

##### Test execution environment.
# GOARCH: amd64
# CPU: Intel(R) Xeon(R) CPU @ 2.20GHz
# GOOS: linux
# OS Version: Linux 6.5.6-1rodete4-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.5.6-1rodete4 (2023-10-24) x86_64

##### Testing packages.
ok      archive/tar     1.516s
ok      archive/zip     1.795s
--- FAIL: TestReadStringAllocs (0.00s)
    bufio_test.go:600: Unexpected number of allocations, got 2.000000, want 1
FAIL
FAIL    bufio   1.080s
ok      bytes   1.562s
ok      cmp     0.122s
ok      compress/bzip2  2.299s
ok      compress/flate  11.754s
ok      compress/gzip   44.619s
ok      compress/lzw    0.348s
ok      compress/zlib   0.179s
ok      container/heap  0.044s
ok      container/list  0.043s
ok      container/ring  0.045s
ok      context 0.086s
ok      crypto  0.042s
ok      crypto/aes      0.154s
ok      crypto/cipher   0.189s
ok      crypto/des      0.112s
ok      crypto/dsa      0.079s
ok      crypto/ecdh     1.739s
ok      crypto/ecdsa    1.082s
ok      crypto/ed25519  2.820s
ok      crypto/elliptic 0.162s
ok      crypto/hmac     0.082s
ok      crypto/internal/alias   0.070s
ok      crypto/internal/bigmod  28.146s
ok      crypto/internal/boring  0.073s
ok      crypto/internal/boring/bcache   1.060s
ok      crypto/internal/edwards25519    5.525s
ok      crypto/internal/edwards25519/field      0.246s
ok      crypto/internal/nistec  5.307s
ok      crypto/internal/nistec/fiat     0.116s [no tests to run]
ok      crypto/md5      0.224s
ok      crypto/rand     1.513s
ok      crypto/rc4      2.523s
ok      crypto/rsa      11.646s
ok      crypto/sha1     0.236s
ok      crypto/sha256   0.150s
ok      crypto/sha512   0.126s
ok      crypto/subtle   1.436s
ok      crypto/tls      21.900s
ok      crypto/x509     10.083s
--- FAIL: TestRawBytesAllocs (0.00s)
    convert_test.go:389: allocs = 15; want 0
--- FAIL: TestGrabConnAllocs (0.00s)
    sql_test.go:4750: Conn.grabConn allocated 1 objects; want 0
FAIL
FAIL    database/sql    0.813s
ok      database/sql/driver     0.064s
ok      debug/buildinfo 0.093s
ok      debug/dwarf     0.297s
ok      debug/elf       4.774s
ok      debug/gosym     1.261s
ok      debug/macho     0.103s
ok      debug/pe        0.309s
ok      debug/plan9obj  0.064s
ok      embed   0.094s [no tests to run]
ok      embed/internal/embedtest        0.059s
ok      encoding/ascii85        0.078s
ok      encoding/asn1   0.078s
ok      encoding/base32 0.163s
ok      encoding/base64 0.068s
ok      encoding/binary 0.086s
ok      encoding/csv    0.140s
# runtime
# [runtime]
runtime/asan_amd64.s:31:1: [amd64] doasanread: unknown variable size; offset 8 is sz+8(FP)
runtime/asan_amd64.s:41:1: [amd64] doasanwrite: unknown variable size; offset 8 is sz+8(FP)
runtime/asan_amd64.s:51:1: [amd64] asanunpoison: unknown variable size; offset 8 is sz+8(FP)
runtime/asan_amd64.s:59:1: [amd64] asanpoison: unknown variable size; offset 8 is sz+8(FP)
runtime/asan_amd64.s:67:1: [amd64] asanregisterglobals: unknown variable size; offset 8 is n+8(FP)
ok      encoding/gob    67.225s
ok      encoding/hex    0.161s
ok      encoding/json   3.681s
ok      encoding/pem    3.624s
ok      encoding/xml    0.627s
ok      errors  0.112s
ok      expvar  0.119s
ok      flag    0.572s
ok      fmt     2.787s
ok      go/ast  0.112s
ok      go/build        21.627s
ok      go/build/constraint     0.111s
ok      go/constant     0.128s
ok      go/doc  0.971s
ok      go/doc/comment  7.717s
ok      go/format       0.197s
ok      go/importer     1.268s
ok      go/internal/gccgoimporter       21.512s
ok      go/internal/gcimporter  7.174s
FAIL    runtime [build failed]
ok      go/internal/srcimporter 61.609s
ok      go/parser       4.314s
ok      go/printer      3.619s
ok      go/scanner      0.106s
ok      go/token        0.386s
ok      go/types        37.778s
ok      go/version      0.154s
ok      hash    0.153s
ok      hash/adler32    0.158s
ok      hash/crc32      0.226s
ok      hash/crc64      0.133s
ok      hash/fnv        0.121s
ok      hash/maphash    2.518s
ok      html    0.121s
ok      html/template   0.812s
ok      image   2.770s
ok      image/color     0.123s
ok      image/draw      3.380s
ok      image/gif       4.243s
ok      image/jpeg      6.613s
ok      image/png       14.143s
ok      index/suffixarray       7.604s
ok      internal/abi    0.245s
ok      internal/buildcfg       0.082s
ok      internal/coverage/cformat       0.105s
ok      internal/coverage/cmerge        0.073s
ok      internal/coverage/pods  0.083s
ok      internal/coverage/slicereader   0.071s
ok      internal/coverage/slicewriter   0.069s
ok      internal/coverage/test  0.181s
ok      internal/cpu    0.148s
ok      internal/dag    0.059s
ok      internal/diff   0.064s
ok      internal/fmtsort        0.127s
ok      internal/fuzz   0.192s
ok      internal/godebug        3.249s
ok      internal/godebugs       0.115s
ok      internal/gover  0.111s
ok      internal/intern 1.353s
ok      internal/itoa   0.228s
ok      internal/platform       2.519s
ok      internal/poll   0.342s
ok      internal/profile        0.078s
ok      internal/reflectlite    0.053s
ok      internal/safefilepath   0.059s
ok      internal/saferio        0.117s
ok      internal/singleflight   0.085s
ok      internal/testenv        0.431s
ok      internal/trace  1.315s
ok      internal/trace/v2       40.792s
ok      internal/types/errors   1.630s
ok      internal/unsafeheader   0.073s
ok      internal/xcoff  0.134s
--- FAIL: TestAlloc (14.28s)
    zstd_test.go:270: got 10 allocs, want 0
FAIL
FAIL    internal/zstd   15.672s
ok      io      0.199s
ok      io/fs   0.617s
ok      io/ioutil       0.130s
ok      log     0.102s
--- FAIL: TestAttrNoAlloc (0.00s)
    attr_test.go:36: got 2 allocs, want zero
--- FAIL: TestAlloc (0.01s)
    --- FAIL: TestAlloc/attrs6 (0.00s)
        logger_test.go:312: got 2 allocs, want 1
    --- FAIL: TestAlloc/attrs9 (0.00s)
        logger_test.go:319: got 2 allocs, want 1
--- FAIL: TestValueNoAlloc (0.00s)
    value_test.go:102: got 2 allocs, want zero
FAIL
FAIL    log/slog        0.316s
ok      log/slog/internal/benchmarks    0.075s
ok      log/slog/internal/buffer        0.076s
ok      log/syslog      1.362s
ok      maps    0.170s
ok      math    0.122s
ok      math/big        11.096s
ok      math/bits       0.111s
ok      math/cmplx      0.108s
ok      math/rand       3.788s
ok      math/rand/v2    5.490s
ok      mime    0.150s
ok      mime/multipart  12.080s
ok      mime/quotedprintable    0.199s
2023/11/20 15:14:03 killing splice client after 5 second shutdown timeout
--- FAIL: TestAllocs (0.06s)
    udpsock_test.go:520: WriteMsgUDPAddrPort/ReadMsgUDPAddrPort allocated 7 objects
    udpsock_test.go:534: WriteToUDPAddrPort/ReadFromUDPAddrPort allocated 2 objects
    udpsock_test.go:548: WriteTo/ReadFromUDP allocated 3 objects
FAIL
FAIL    net     15.835s
ok      net/http        33.552s
ok      net/http/cgi    1.669s
ok      net/http/cookiejar      0.143s
ok      net/http/fcgi   0.335s
ok      net/http/httptest       1.122s
ok      net/http/httptrace      0.143s
ok      net/http/httputil       0.900s
ok      net/http/internal       0.142s
ok      net/http/internal/ascii 0.142s
ok      net/http/pprof  5.375s
ok      net/internal/socktest   0.142s
ok      net/mail        0.142s
ok      net/netip       0.933s
ok      net/rpc 0.241s
ok      net/rpc/jsonrpc 0.169s
ok      net/smtp        0.473s
ok      net/textproto   0.127s
ok      net/url 0.093s
ok      os      2.097s
ok      os/exec 1.052s
ok      os/exec/internal/fdtest 0.095s
ok      os/signal       3.886s
ok      os/user 0.184s
ok      path    0.095s
ok      path/filepath   0.122s
ok      plugin  0.111s
--- FAIL: TestDeepEqualAllocs (0.06s)
    --- FAIL: TestDeepEqualAllocs/int8 (0.00s)
        all_test.go:1284: DeepEqual(99, 99) allocated 2 times
    --- FAIL: TestDeepEqualAllocs/[]int8 (0.00s)
        all_test.go:1284: DeepEqual([99], [99]) allocated 2 times
    --- FAIL: TestDeepEqualAllocs/int16 (0.00s)
        all_test.go:1284: DeepEqual(99, 99) allocated 2 times
    --- FAIL: TestDeepEqualAllocs/[]int16 (0.00s)
        all_test.go:1284: DeepEqual([99], [99]) allocated 2 times
    --- FAIL: TestDeepEqualAllocs/int32 (0.00s)
        all_test.go:1284: DeepEqual(99, 99) allocated 2 times
    --- FAIL: TestDeepEqualAllocs/[]int32 (0.00s)
        all_test.go:1284: DeepEqual([99], [99]) allocated 2 times
    --- FAIL: TestDeepEqualAllocs/int64 (0.00s)
        all_test.go:1284: DeepEqual(99, 99) allocated 2 times
    --- FAIL: TestDeepEqualAllocs/[]int64 (0.00s)
        all_test.go:1284: DeepEqual([99], [99]) allocated 2 times
    --- FAIL: TestDeepEqualAllocs/int (0.00s)
        all_test.go:1284: DeepEqual(999999, 999999) allocated 2 times
    --- FAIL: TestDeepEqualAllocs/[]int (0.00s)
        all_test.go:1284: DeepEqual([999999], [999999]) allocated 2 times
    --- FAIL: TestDeepEqualAllocs/uint8 (0.00s)
        all_test.go:1284: DeepEqual(99, 99) allocated 2 times
    --- FAIL: TestDeepEqualAllocs/[]uint8 (0.00s)
        all_test.go:1284: DeepEqual([99], [99]) allocated 2 times
    --- FAIL: TestDeepEqualAllocs/uint16 (0.00s)
        all_test.go:1284: DeepEqual(99, 99) allocated 2 times
    --- FAIL: TestDeepEqualAllocs/[]uint16 (0.00s)
        all_test.go:1284: DeepEqual([99], [99]) allocated 2 times
    --- FAIL: TestDeepEqualAllocs/uint32 (0.00s)
        all_test.go:1284: DeepEqual(99, 99) allocated 2 times
    --- FAIL: TestDeepEqualAllocs/[]uint32 (0.00s)
        all_test.go:1284: DeepEqual([99], [99]) allocated 2 times
    --- FAIL: TestDeepEqualAllocs/uint64 (0.00s)
        all_test.go:1284: DeepEqual(99, 99) allocated 2 times
    --- FAIL: TestDeepEqualAllocs/[]uint64 (0.00s)
        all_test.go:1284: DeepEqual([99], [99]) allocated 2 times
    --- FAIL: TestDeepEqualAllocs/uint (0.00s)
        all_test.go:1284: DeepEqual(999999, 999999) allocated 2 times
    --- FAIL: TestDeepEqualAllocs/[]uint (0.00s)
        all_test.go:1284: DeepEqual([999999], [999999]) allocated 2 times
    --- FAIL: TestDeepEqualAllocs/uintptr (0.00s)
        all_test.go:1284: DeepEqual(999999, 999999) allocated 2 times
    --- FAIL: TestDeepEqualAllocs/[]uintptr (0.01s)
        all_test.go:1284: DeepEqual([999999], [999999]) allocated 2 times
    --- FAIL: TestDeepEqualAllocs/float32 (0.00s)
        all_test.go:1284: DeepEqual(1.414, 1.414) allocated 2 times
    --- FAIL: TestDeepEqualAllocs/[]float32 (0.00s)
        all_test.go:1284: DeepEqual([1.414], [1.414]) allocated 2 times
    --- FAIL: TestDeepEqualAllocs/float64 (0.00s)
        all_test.go:1284: DeepEqual(1.414, 1.414) allocated 2 times
    --- FAIL: TestDeepEqualAllocs/[]float64 (0.00s)
        all_test.go:1284: DeepEqual([1.414], [1.414]) allocated 2 times
    --- FAIL: TestDeepEqualAllocs/complex64 (0.00s)
        all_test.go:1284: DeepEqual((1.414+0i), (1.414+0i)) allocated 2 times
    --- FAIL: TestDeepEqualAllocs/[]complex64 (0.00s)
        all_test.go:1284: DeepEqual([(1.414+0i)], [(1.414+0i)]) allocated 2 times
    --- FAIL: TestDeepEqualAllocs/complex128 (0.00s)
        all_test.go:1284: DeepEqual((1.414+0i), (1.414+0i)) allocated 2 times
    --- FAIL: TestDeepEqualAllocs/[]complex128 (0.00s)
        all_test.go:1284: DeepEqual([(1.414+0i)], [(1.414+0i)]) allocated 2 times
    --- FAIL: TestDeepEqualAllocs/bool (0.00s)
        all_test.go:1284: DeepEqual(true, true) allocated 2 times
    --- FAIL: TestDeepEqualAllocs/[]bool (0.00s)
        all_test.go:1284: DeepEqual([true], [true]) allocated 2 times
    --- FAIL: TestDeepEqualAllocs/string (0.00s)
        all_test.go:1284: DeepEqual(abcdef, abcdef) allocated 2 times
    --- FAIL: TestDeepEqualAllocs/[]string (0.00s)
        all_test.go:1284: DeepEqual([abcdef], [abcdef]) allocated 2 times
    --- FAIL: TestDeepEqualAllocs/[]uint8#01 (0.00s)
        all_test.go:1284: DeepEqual([97 98 99 100 101 102], [97 98 99 100 101 102]) allocated 2 times
    --- FAIL: TestDeepEqualAllocs/[][]uint8 (0.00s)
        all_test.go:1284: DeepEqual([[97 98 99 100 101 102]], [[97 98 99 100 101 102]]) allocated 2 times
    --- FAIL: TestDeepEqualAllocs/[6]uint8 (0.02s)
        all_test.go:1284: DeepEqual([97 98 99 97 98 99], [97 98 99 97 98 99]) allocated 2 times
    --- FAIL: TestDeepEqualAllocs/[][6]uint8 (0.00s)
        all_test.go:1284: DeepEqual([[97 98 99 97 98 99]], [[97 98 99 97 98 99]]) allocated 2 times
--- FAIL: TestMapAlloc (0.23s)
    all_test.go:7316: allocs per map assignment: want 0 got 2.000000
    all_test.go:7331: allocs per map assignment: want at most 10 got 1005.000000
--- FAIL: TestChanAlloc (0.00s)
    all_test.go:7348: allocs per chan send/recv: want 1 got 2.000000
--- FAIL: TestMapIterReset (0.00s)
    all_test.go:7706: MapIter.Reset allocated 1 times
FAIL
FAIL    reflect 2.756s
ok      regexp  11.770s
ok      regexp/syntax   24.221s
ok      runtime/cgo     0.140s
ok      runtime/coverage        0.189s
ok      runtime/debug   0.394s
ok      runtime/internal/atomic 0.209s
ok      runtime/internal/math   0.138s
ok      runtime/internal/sys    0.139s
ok      runtime/internal/syscall        0.138s
ok      runtime/internal/wasitest       0.135s
ok      runtime/metrics 0.215s
--- FAIL: TestMemoryProfiler (0.46s)
    --- FAIL: TestMemoryProfiler/debug=1 (0.06s)
        mprof_test.go:132: The entry did not match:
            32: 1024 \[32: 1024\] @ 0x[0-9,a-f]+ 0x[0-9,a-f]+ 0x[0-9,a-f]+ 0x[0-9,a-f]+
            #   0x[0-9,a-f]+    runtime/pprof\.allocatePersistent1K\+0x[0-9,a-f]+       .*runtime/pprof/mprof_test\.go:47
            #   0x[0-9,a-f]+    runtime/pprof\.TestMemoryProfiler\+0x[0-9,a-f]+ .*runtime/pprof/mprof_test\.go:82


            Profile:
            heap profile: 101: 18840 [3183: 8744216] @ heap/2
            24: 11520 [24: 11520] @ 0x4467c5 0x446a0f 0x44695f 0x46e0aa
            #   0x4467c4        runtime.malg+0x24               /usr/local/google/home/bcmills/go/src/runtime/proc.go:4834
            #   0x446a0e        runtime.newproc1+0x6e           /usr/local/google/home/bcmills/go/src/runtime/proc.go:4879
            #   0x44695e        runtime.newproc.func1+0x1e      /usr/local/google/home/bcmills/go/src/runtime/proc.go:4856
            #   0x46e0a9        runtime.systemstack+0x49        /usr/local/google/home/bcmills/go/src/runtime/asm_amd64.s:509

            1: 1536 [1: 1536] @ 0x441291 0x441c15 0x442318 0x4428ac 0x4445fe 0x444a2f 0x440aed 0x4409f6 0x46dfa5
            #   0x441290        runtime.allocm+0x90             /usr/local/google/home/bcmills/go/src/runtime/proc.go:2120
            #   0x441c14        runtime.newm+0x34               /usr/local/google/home/bcmills/go/src/runtime/proc.go:2644
            #   0x442317        runtime.startm+0x157            /usr/local/google/home/bcmills/go/src/runtime/proc.go:2870
            #   0x4428ab        runtime.wakep+0xeb              /usr/local/google/home/bcmills/go/src/runtime/proc.go:3006
            #   0x4445fd        runtime.resetspinning+0x3d      /usr/local/google/home/bcmills/go/src/runtime/proc.go:3750
            #   0x444a2e        runtime.schedule+0x10e          /usr/local/google/home/bcmills/go/src/runtime/proc.go:3886
            #   0x440aec        runtime.mstart1+0xcc            /usr/local/google/home/bcmills/go/src/runtime/proc.go:1749
            #   0x4409f5        runtime.mstart0+0x75            /usr/local/google/home/bcmills/go/src/runtime/proc.go:1699
            #   0x46dfa4        runtime.mstart+0x4              /usr/local/google/home/bcmills/go/src/runtime/asm_amd64.s:394

            32: 1536 [32: 1536] @ 0x6aa19c 0x6aa16f 0x5a91fb 0x470061
            #   0x6aa19b        runtime/pprof.allocatePersistent1K+0x2db        /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:47
            #   0x6aa16e        runtime/pprof.TestMemoryProfiler+0x2ae          /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:82
            #   0x5a91fa        testing.tRunner+0x1da                           /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            24: 1152 [24: 1152] @ 0x41f225 0x470061
            #   0x41f224        runtime.gcBgMarkWorker+0x64     /usr/local/google/home/bcmills/go/src/runtime/mgc.go:1283

            1: 480 [1: 480] @ 0x4467c5 0x43f1d2 0x43f1c8 0x4412c5 0x441c15 0x442318 0x4428ac 0x4445fe 0x444a2f 0x440aed 0x4409f6 0x46dfa5
            #   0x4467c4        runtime.malg+0x24               /usr/local/google/home/bcmills/go/src/runtime/proc.go:4834
            #   0x43f1d1        runtime.mpreinit+0x111          /usr/local/google/home/bcmills/go/src/runtime/os_linux.go:384
            #   0x43f1c7        runtime.mcommoninit+0x107       /usr/local/google/home/bcmills/go/src/runtime/proc.go:913
            #   0x4412c4        runtime.allocm+0xc4             /usr/local/google/home/bcmills/go/src/runtime/proc.go:2122
            #   0x441c14        runtime.newm+0x34               /usr/local/google/home/bcmills/go/src/runtime/proc.go:2644
            #   0x442317        runtime.startm+0x157            /usr/local/google/home/bcmills/go/src/runtime/proc.go:2870
            #   0x4428ab        runtime.wakep+0xeb              /usr/local/google/home/bcmills/go/src/runtime/proc.go:3006
            #   0x4445fd        runtime.resetspinning+0x3d      /usr/local/google/home/bcmills/go/src/runtime/proc.go:3750
            #   0x444a2e        runtime.schedule+0x10e          /usr/local/google/home/bcmills/go/src/runtime/proc.go:3886
            #   0x440aec        runtime.mstart1+0xcc            /usr/local/google/home/bcmills/go/src/runtime/proc.go:1749
            #   0x4409f5        runtime.mstart0+0x75            /usr/local/google/home/bcmills/go/src/runtime/proc.go:1699
            #   0x46dfa4        runtime.mstart+0x4              /usr/local/google/home/bcmills/go/src/runtime/asm_amd64.s:394

            1: 480 [1: 480] @ 0x4467c5 0x4412d8 0x441c15 0x442318 0x4428ac 0x4445fe 0x444a2f 0x440aed 0x4409f6 0x46dfa5
            #   0x4467c4        runtime.malg+0x24               /usr/local/google/home/bcmills/go/src/runtime/proc.go:4834
            #   0x4412d7        runtime.allocm+0xd7             /usr/local/google/home/bcmills/go/src/runtime/proc.go:2127
            #   0x441c14        runtime.newm+0x34               /usr/local/google/home/bcmills/go/src/runtime/proc.go:2644
            #   0x442317        runtime.startm+0x157            /usr/local/google/home/bcmills/go/src/runtime/proc.go:2870
            #   0x4428ab        runtime.wakep+0xeb              /usr/local/google/home/bcmills/go/src/runtime/proc.go:3006
            #   0x4445fd        runtime.resetspinning+0x3d      /usr/local/google/home/bcmills/go/src/runtime/proc.go:3750
            #   0x444a2e        runtime.schedule+0x10e          /usr/local/google/home/bcmills/go/src/runtime/proc.go:3886
            #   0x440aec        runtime.mstart1+0xcc            /usr/local/google/home/bcmills/go/src/runtime/proc.go:1749
            #   0x4409f5        runtime.mstart0+0x75            /usr/local/google/home/bcmills/go/src/runtime/proc.go:1699
            #   0x46dfa4        runtime.mstart+0x4              /usr/local/google/home/bcmills/go/src/runtime/asm_amd64.s:394

            1: 320 [1: 320] @ 0x43f2a5 0x4412c5 0x441c15 0x442318 0x4428ac 0x4445fe 0x444a2f 0x440aed 0x4409f6 0x46dfa5
            #   0x43f2a4        runtime.mcommoninit+0x1e4       /usr/local/google/home/bcmills/go/src/runtime/proc.go:929
            #   0x4412c4        runtime.allocm+0xc4             /usr/local/google/home/bcmills/go/src/runtime/proc.go:2122
            #   0x441c14        runtime.newm+0x34               /usr/local/google/home/bcmills/go/src/runtime/proc.go:2644
            #   0x442317        runtime.startm+0x157            /usr/local/google/home/bcmills/go/src/runtime/proc.go:2870
            #   0x4428ab        runtime.wakep+0xeb              /usr/local/google/home/bcmills/go/src/runtime/proc.go:3006
            #   0x4445fd        runtime.resetspinning+0x3d      /usr/local/google/home/bcmills/go/src/runtime/proc.go:3750
            #   0x444a2e        runtime.schedule+0x10e          /usr/local/google/home/bcmills/go/src/runtime/proc.go:3886
            #   0x440aec        runtime.mstart1+0xcc            /usr/local/google/home/bcmills/go/src/runtime/proc.go:1749
            #   0x4409f5        runtime.mstart0+0x75            /usr/local/google/home/bcmills/go/src/runtime/proc.go:1699
            #   0x46dfa4        runtime.mstart+0x4              /usr/local/google/home/bcmills/go/src/runtime/asm_amd64.s:394

            1: 320 [1: 320] @ 0x43e7e9 0x446a2f 0x44695f 0x46e0aa
            #   0x43e7e8        runtime.allgadd+0x68            /usr/local/google/home/bcmills/go/src/runtime/proc.go:621
            #   0x446a2e        runtime.newproc1+0x8e           /usr/local/google/home/bcmills/go/src/runtime/proc.go:4881
            #   0x44695e        runtime.newproc.func1+0x1e      /usr/local/google/home/bcmills/go/src/runtime/proc.go:4856
            #   0x46e0a9        runtime.systemstack+0x49        /usr/local/google/home/bcmills/go/src/runtime/asm_amd64.s:509

            1: 288 [1: 288] @ 0x41244a 0x477e2c 0x5429b3 0x545652 0x544e73 0x6a9eb1 0x6aa297 0x5a91fb 0x470061
            #   0x477e2b        sync.(*Map).LoadOrStore+0x46b           /usr/local/google/home/bcmills/go/src/sync/map.go:230
            #   0x5429b2        reflect.funcLayout+0x9f2                /usr/local/google/home/bcmills/go/src/reflect/type.go:2810
            #   0x545651        reflect.Value.call+0x6f1                /usr/local/google/home/bcmills/go/src/reflect/value.go:483
            #   0x544e72        reflect.Value.Call+0xb2                 /usr/local/google/home/bcmills/go/src/reflect/value.go:380
            #   0x6a9eb0        runtime/pprof.allocateReflect+0x30      /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:60
            #   0x6aa296        runtime/pprof.TestMemoryProfiler+0x3d6  /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:83
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            1: 288 [1: 288] @ 0x54298e 0x545652 0x544e73 0x6a9eb1 0x6aa297 0x5a91fb 0x470061
            #   0x54298d        reflect.funcLayout+0x9cd                /usr/local/google/home/bcmills/go/src/reflect/type.go:2810
            #   0x545651        reflect.Value.call+0x6f1                /usr/local/google/home/bcmills/go/src/reflect/value.go:483
            #   0x544e72        reflect.Value.Call+0xb2                 /usr/local/google/home/bcmills/go/src/reflect/value.go:380
            #   0x6a9eb0        runtime/pprof.allocateReflect+0x30      /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:60
            #   0x6aa296        runtime/pprof.TestMemoryProfiler+0x3d6  /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:83
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            1: 176 [1: 176] @ 0x4151a7 0x46c213 0x54278a 0x54259e 0x545652 0x544e73 0x6a9eb1 0x6aa297 0x5a91fb 0x470061
            #   0x46c212        reflect.addReflectOff+0x112             /usr/local/google/home/bcmills/go/src/runtime/runtime1.go:654
            #   0x542789        reflect.resolveReflectName+0x7c9        /usr/local/google/home/bcmills/go/src/reflect/type.go:516
            #   0x54259d        reflect.funcLayout+0x5dd                /usr/local/google/home/bcmills/go/src/reflect/type.go:2804
            #   0x545651        reflect.Value.call+0x6f1                /usr/local/google/home/bcmills/go/src/reflect/value.go:483
            #   0x544e72        reflect.Value.Call+0xb2                 /usr/local/google/home/bcmills/go/src/reflect/value.go:380
            #   0x6a9eb0        runtime/pprof.allocateReflect+0x30      /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:60
            #   0x6aa296        runtime/pprof.TestMemoryProfiler+0x3d6  /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:83
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            1: 176 [1: 176] @ 0x4143bf 0x46c1d6 0x54278a 0x54259e 0x545652 0x544e73 0x6a9eb1 0x6aa297 0x5a91fb 0x470061
            #   0x46c1d5        reflect.addReflectOff+0xd5              /usr/local/google/home/bcmills/go/src/runtime/runtime1.go:653
            #   0x542789        reflect.resolveReflectName+0x7c9        /usr/local/google/home/bcmills/go/src/reflect/type.go:516
            #   0x54259d        reflect.funcLayout+0x5dd                /usr/local/google/home/bcmills/go/src/reflect/type.go:2804
            #   0x545651        reflect.Value.call+0x6f1                /usr/local/google/home/bcmills/go/src/reflect/value.go:483
            #   0x544e72        reflect.Value.Call+0xb2                 /usr/local/google/home/bcmills/go/src/reflect/value.go:380
            #   0x6a9eb0        runtime/pprof.allocateReflect+0x30      /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:60
            #   0x6aa296        runtime/pprof.TestMemoryProfiler+0x3d6  /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:83
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            1: 64 [1: 64] @ 0x41185a 0x46c135 0x54278a 0x54259e 0x545652 0x544e73 0x6a9eb1 0x6aa297 0x5a91fb 0x470061
            #   0x46c134        reflect.addReflectOff+0x34              /usr/local/google/home/bcmills/go/src/runtime/runtime1.go:645
            #   0x542789        reflect.resolveReflectName+0x7c9        /usr/local/google/home/bcmills/go/src/reflect/type.go:516
            #   0x54259d        reflect.funcLayout+0x5dd                /usr/local/google/home/bcmills/go/src/reflect/type.go:2804
            #   0x545651        reflect.Value.call+0x6f1                /usr/local/google/home/bcmills/go/src/reflect/value.go:483
            #   0x544e72        reflect.Value.Call+0xb2                 /usr/local/google/home/bcmills/go/src/reflect/value.go:380
            #   0x6a9eb0        runtime/pprof.allocateReflect+0x30      /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:60
            #   0x6aa296        runtime/pprof.TestMemoryProfiler+0x3d6  /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:83
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            1: 64 [1: 64] @ 0x41185a 0x46c15f 0x54278a 0x54259e 0x545652 0x544e73 0x6a9eb1 0x6aa297 0x5a91fb 0x470061
            #   0x46c15e        reflect.addReflectOff+0x5e              /usr/local/google/home/bcmills/go/src/runtime/runtime1.go:646
            #   0x542789        reflect.resolveReflectName+0x7c9        /usr/local/google/home/bcmills/go/src/reflect/type.go:516
            #   0x54259d        reflect.funcLayout+0x5dd                /usr/local/google/home/bcmills/go/src/reflect/type.go:2804
            #   0x545651        reflect.Value.call+0x6f1                /usr/local/google/home/bcmills/go/src/reflect/value.go:483
            #   0x544e72        reflect.Value.Call+0xb2                 /usr/local/google/home/bcmills/go/src/reflect/value.go:380
            #   0x6a9eb0        runtime/pprof.allocateReflect+0x30      /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:60
            #   0x6aa296        runtime/pprof.TestMemoryProfiler+0x3d6  /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:83
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            1: 64 [1: 64] @ 0x542477 0x545652 0x544e73 0x6a9eb1 0x6aa297 0x5a91fb 0x470061
            #   0x542476        reflect.funcLayout+0x4b6                /usr/local/google/home/bcmills/go/src/reflect/type.go:2785
            #   0x545651        reflect.Value.call+0x6f1                /usr/local/google/home/bcmills/go/src/reflect/value.go:483
            #   0x544e72        reflect.Value.Call+0xb2                 /usr/local/google/home/bcmills/go/src/reflect/value.go:380
            #   0x6a9eb0        runtime/pprof.allocateReflect+0x30      /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:60
            #   0x6aa296        runtime/pprof.TestMemoryProfiler+0x3d6  /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:83
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            1: 64 [1: 64] @ 0x5427c5 0x545652 0x544e73 0x6a9eb1 0x6aa297 0x5a91fb 0x470061
            #   0x5427c4        reflect.funcLayout+0x804                /usr/local/google/home/bcmills/go/src/reflect/type.go:2807
            #   0x545651        reflect.Value.call+0x6f1                /usr/local/google/home/bcmills/go/src/reflect/value.go:483
            #   0x544e72        reflect.Value.Call+0xb2                 /usr/local/google/home/bcmills/go/src/reflect/value.go:380
            #   0x6a9eb0        runtime/pprof.allocateReflect+0x30      /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:60
            #   0x6aa296        runtime/pprof.TestMemoryProfiler+0x3d6  /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:83
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            1: 64 [1: 64] @ 0x411910 0x479311 0x477cc5 0x5429b3 0x545652 0x544e73 0x6a9eb1 0x6aa297 0x5a91fb 0x470061
            #   0x479310        sync.(*Map).dirtyLocked+0xd0            /usr/local/google/home/bcmills/go/src/sync/map.go:499
            #   0x477cc4        sync.(*Map).LoadOrStore+0x304           /usr/local/google/home/bcmills/go/src/sync/map.go:227
            #   0x5429b2        reflect.funcLayout+0x9f2                /usr/local/google/home/bcmills/go/src/reflect/type.go:2810
            #   0x545651        reflect.Value.call+0x6f1                /usr/local/google/home/bcmills/go/src/reflect/value.go:483
            #   0x544e72        reflect.Value.Call+0xb2                 /usr/local/google/home/bcmills/go/src/reflect/value.go:380
            #   0x6a9eb0        runtime/pprof.allocateReflect+0x30      /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:60
            #   0x6aa296        runtime/pprof.TestMemoryProfiler+0x3d6  /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:83
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            1: 48 [1: 48] @ 0x4034b2 0x542785 0x54259e 0x545652 0x544e73 0x6a9eb1 0x6aa297 0x5a91fb 0x470061
            #   0x4034b1        internal/abi.NewName+0x171              /usr/local/google/home/bcmills/go/src/internal/abi/type.go:701
            #   0x542784        reflect.newName+0x7c4                   /usr/local/google/home/bcmills/go/src/reflect/type.go:411
            #   0x54259d        reflect.funcLayout+0x5dd                /usr/local/google/home/bcmills/go/src/reflect/type.go:2804
            #   0x545651        reflect.Value.call+0x6f1                /usr/local/google/home/bcmills/go/src/reflect/value.go:483
            #   0x544e72        reflect.Value.Call+0xb2                 /usr/local/google/home/bcmills/go/src/reflect/value.go:380
            #   0x6a9eb0        runtime/pprof.allocateReflect+0x30      /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:60
            #   0x6aa296        runtime/pprof.TestMemoryProfiler+0x3d6  /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:83
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            1: 48 [1: 48] @ 0x53ab85 0x5423d4 0x545652 0x544e73 0x6a9eb1 0x6aa297 0x5a91fb 0x470061
            #   0x53ab84        reflect.newAbiDesc+0x64                 /usr/local/google/home/bcmills/go/src/reflect/abi.go:399
            #   0x5423d3        reflect.funcLayout+0x413                /usr/local/google/home/bcmills/go/src/reflect/type.go:2782
            #   0x545651        reflect.Value.call+0x6f1                /usr/local/google/home/bcmills/go/src/reflect/value.go:483
            #   0x544e72        reflect.Value.Call+0xb2                 /usr/local/google/home/bcmills/go/src/reflect/value.go:380
            #   0x6a9eb0        runtime/pprof.allocateReflect+0x30      /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:60
            #   0x6aa296        runtime/pprof.TestMemoryProfiler+0x3d6  /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:83
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            1: 32 [1: 32] @ 0x542818 0x545652 0x544e73 0x6a9eb1 0x6aa297 0x5a91fb 0x470061
            #   0x542817        reflect.funcLayout+0x857                /usr/local/google/home/bcmills/go/src/reflect/type.go:2807
            #   0x545651        reflect.Value.call+0x6f1                /usr/local/google/home/bcmills/go/src/reflect/value.go:483
            #   0x544e72        reflect.Value.Call+0xb2                 /usr/local/google/home/bcmills/go/src/reflect/value.go:380
            #   0x6a9eb0        runtime/pprof.allocateReflect+0x30      /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:60
            #   0x6aa296        runtime/pprof.TestMemoryProfiler+0x3d6  /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:83
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            1: 32 [1: 32] @ 0x542972 0x545652 0x544e73 0x6a9eb1 0x6aa297 0x5a91fb 0x470061
            #   0x542971        reflect.funcLayout+0x9b1                /usr/local/google/home/bcmills/go/src/reflect/type.go:2810
            #   0x545651        reflect.Value.call+0x6f1                /usr/local/google/home/bcmills/go/src/reflect/value.go:483
            #   0x544e72        reflect.Value.Call+0xb2                 /usr/local/google/home/bcmills/go/src/reflect/value.go:380
            #   0x6a9eb0        runtime/pprof.allocateReflect+0x30      /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:60
            #   0x6aa296        runtime/pprof.TestMemoryProfiler+0x3d6  /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:83
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            1: 32 [1: 32] @ 0x477cd1 0x5429b3 0x545652 0x544e73 0x6a9eb1 0x6aa297 0x5a91fb 0x470061
            #   0x477cd0        sync.(*Map).LoadOrStore+0x310           /usr/local/google/home/bcmills/go/src/sync/map.go:228
            #   0x5429b2        reflect.funcLayout+0x9f2                /usr/local/google/home/bcmills/go/src/reflect/type.go:2810
            #   0x545651        reflect.Value.call+0x6f1                /usr/local/google/home/bcmills/go/src/reflect/value.go:483
            #   0x544e72        reflect.Value.Call+0xb2                 /usr/local/google/home/bcmills/go/src/reflect/value.go:380
            #   0x6a9eb0        runtime/pprof.allocateReflect+0x30      /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:60
            #   0x6aa296        runtime/pprof.TestMemoryProfiler+0x3d6  /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:83
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            1: 32 [1: 32] @ 0x477d51 0x5429b3 0x545652 0x544e73 0x6a9eb1 0x6aa297 0x5a91fb 0x470061
            #   0x477d50        sync.(*Map).LoadOrStore+0x390           /usr/local/google/home/bcmills/go/src/sync/map.go:230
            #   0x5429b2        reflect.funcLayout+0x9f2                /usr/local/google/home/bcmills/go/src/reflect/type.go:2810
            #   0x545651        reflect.Value.call+0x6f1                /usr/local/google/home/bcmills/go/src/reflect/value.go:483
            #   0x544e72        reflect.Value.Call+0xb2                 /usr/local/google/home/bcmills/go/src/reflect/value.go:380
            #   0x6a9eb0        runtime/pprof.allocateReflect+0x30      /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:60
            #   0x6aa296        runtime/pprof.TestMemoryProfiler+0x3d6  /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:83
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            1: 24 [1: 24] @ 0x477db4 0x477d46 0x5429b3 0x545652 0x544e73 0x6a9eb1 0x6aa297 0x5a91fb 0x470061
            #   0x477db3        sync.newEntry+0x3f3                     /usr/local/google/home/bcmills/go/src/sync/map.go:105
            #   0x477d45        sync.(*Map).LoadOrStore+0x385           /usr/local/google/home/bcmills/go/src/sync/map.go:230
            #   0x5429b2        reflect.funcLayout+0x9f2                /usr/local/google/home/bcmills/go/src/reflect/type.go:2810
            #   0x545651        reflect.Value.call+0x6f1                /usr/local/google/home/bcmills/go/src/reflect/value.go:483
            #   0x544e72        reflect.Value.Call+0xb2                 /usr/local/google/home/bcmills/go/src/reflect/value.go:380
            #   0x6a9eb0        runtime/pprof.allocateReflect+0x30      /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:60
            #   0x6aa296        runtime/pprof.TestMemoryProfiler+0x3d6  /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:83
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [0: 0] @ 0x5a13dc 0x59f977 0x5aa566 0x6aaf88 0x5a91fb 0x470061
            #   0x5a13db        testing.rewrite+0x21b                   /usr/local/google/home/bcmills/go/src/testing/match.go:294
            #   0x59f976        testing.(*matcher).fullName+0x136       /usr/local/google/home/bcmills/go/src/testing/match.go:90
            #   0x5aa565        testing.(*T).Run+0xc5                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1702
            #   0x6aaf87        runtime/pprof.TestMemoryProfiler+0x10c7 /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:124
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [0: 0] @ 0x457932 0x457325 0x457565 0x5a0cf3 0x59f9ca 0x5aa566 0x6aaf88 0x5a91fb 0x470061
            #   0x5a0cf2        testing.(*matcher).unique+0x52          /usr/local/google/home/bcmills/go/src/testing/match.go:221
            #   0x59f9c9        testing.(*matcher).fullName+0x189       /usr/local/google/home/bcmills/go/src/testing/match.go:90
            #   0x5aa565        testing.(*T).Run+0xc5                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1702
            #   0x6aaf87        runtime/pprof.TestMemoryProfiler+0x10c7 /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:124
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [0: 0] @ 0x6aa9fe 0x5a91fb 0x470061
            #   0x6aa9fd        runtime/pprof.TestMemoryProfiler+0xb3d  /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:100
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [0: 0] @ 0x6aa8c6 0x5a91fb 0x470061
            #   0x6aa8c5        runtime/pprof.TestMemoryProfiler+0xa05  /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:94
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [0: 0] @ 0x6aa8b2 0x5a91fb 0x470061
            #   0x6aa8b1        runtime/pprof.TestMemoryProfiler+0x9f1  /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:90
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [0: 0] @ 0x55a9c5 0x6aa899 0x5a91fb 0x470061
            #   0x55a9c4        fmt.Sprintf+0x84                        /usr/local/google/home/bcmills/go/src/fmt/print.go:240
            #   0x6aa898        runtime/pprof.TestMemoryProfiler+0x9d8  /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:119
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [0: 0] @ 0x6aa83f 0x5a91fb 0x470061
            #   0x6aa83e        runtime/pprof.TestMemoryProfiler+0x97e  /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:121
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [0: 0] @ 0x55a9c5 0x6aa7a9 0x5a91fb 0x470061
            #   0x55a9c4        fmt.Sprintf+0x84                        /usr/local/google/home/bcmills/go/src/fmt/print.go:240
            #   0x6aa7a8        runtime/pprof.TestMemoryProfiler+0x8e8  /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:113
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [0: 0] @ 0x6aa74f 0x5a91fb 0x470061
            #   0x6aa74e        runtime/pprof.TestMemoryProfiler+0x88e  /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:116
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [0: 0] @ 0x55a9c5 0x6aa6b9 0x5a91fb 0x470061
            #   0x55a9c4        fmt.Sprintf+0x84                        /usr/local/google/home/bcmills/go/src/fmt/print.go:240
            #   0x6aa6b8        runtime/pprof.TestMemoryProfiler+0x7f8  /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:107
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [0: 0] @ 0x6aa65f 0x5a91fb 0x470061
            #   0x6aa65e        runtime/pprof.TestMemoryProfiler+0x79e  /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:110
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [0: 0] @ 0x55a9c5 0x6aa5c9 0x5a91fb 0x470061
            #   0x55a9c4        fmt.Sprintf+0x84                        /usr/local/google/home/bcmills/go/src/fmt/print.go:240
            #   0x6aa5c8        runtime/pprof.TestMemoryProfiler+0x708  /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:101
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [0: 0] @ 0x6aa56f 0x5a91fb 0x470061
            #   0x6aa56e        runtime/pprof.TestMemoryProfiler+0x6ae  /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:104
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [0: 0] @ 0x6aa515 0x5a91fb 0x470061
            #   0x6aa514        runtime/pprof.TestMemoryProfiler+0x654  /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:104
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [0: 0] @ 0x55a9c5 0x6aa4cf 0x5a91fb 0x470061
            #   0x55a9c4        fmt.Sprintf+0x84                        /usr/local/google/home/bcmills/go/src/fmt/print.go:240
            #   0x6aa4ce        runtime/pprof.TestMemoryProfiler+0x60e  /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:95
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [0: 0] @ 0x5640b8 0x56402d 0x55a99e 0x6aa4cf 0x5a91fb 0x470061
            #   0x5640b7        fmt.(*buffer).writeString+0x197         /usr/local/google/home/bcmills/go/src/fmt/print.go:108
            #   0x56402c        fmt.(*pp).doPrintf+0x10c                /usr/local/google/home/bcmills/go/src/fmt/print.go:1032
            #   0x55a99d        fmt.Sprintf+0x5d                        /usr/local/google/home/bcmills/go/src/fmt/print.go:239
            #   0x6aa4ce        runtime/pprof.TestMemoryProfiler+0x60e  /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:95
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [0: 0] @ 0x5566d3 0x55667b 0x557e71 0x55c238 0x55f389 0x5644e5 0x55a99e 0x6aa4cf 0x5a91fb 0x470061
            #   0x5566d2        fmt.(*buffer).write+0xd2                /usr/local/google/home/bcmills/go/src/fmt/print.go:104
            #   0x55667a        fmt.(*fmt).pad+0x7a                     /usr/local/google/home/bcmills/go/src/fmt/format.go:92
            #   0x557e70        fmt.(*fmt).fmtInteger+0x9d0             /usr/local/google/home/bcmills/go/src/fmt/format.go:319
            #   0x55c237        fmt.(*pp).fmtInteger+0x1d7              /usr/local/google/home/bcmills/go/src/fmt/print.go:427
            #   0x55f388        fmt.(*pp).printArg+0x5e8                /usr/local/google/home/bcmills/go/src/fmt/print.go:719
            #   0x5644e4        fmt.(*pp).doPrintf+0x5c4                /usr/local/google/home/bcmills/go/src/fmt/print.go:1075
            #   0x55a99d        fmt.Sprintf+0x5d                        /usr/local/google/home/bcmills/go/src/fmt/print.go:239
            #   0x6aa4ce        runtime/pprof.TestMemoryProfiler+0x60e  /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:95
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [0: 0] @ 0x5640b8 0x56402d 0x55a99e 0x6aa4cf 0x5a91fb 0x470061
            #   0x5640b7        fmt.(*buffer).writeString+0x197         /usr/local/google/home/bcmills/go/src/fmt/print.go:108
            #   0x56402c        fmt.(*pp).doPrintf+0x10c                /usr/local/google/home/bcmills/go/src/fmt/print.go:1032
            #   0x55a99d        fmt.Sprintf+0x5d                        /usr/local/google/home/bcmills/go/src/fmt/print.go:239
            #   0x6aa4ce        runtime/pprof.TestMemoryProfiler+0x60e  /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:95
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [0: 0] @ 0x5566d3 0x55667b 0x557e71 0x55c238 0x55f389 0x5644e5 0x55a99e 0x6aa4cf 0x5a91fb 0x470061
            #   0x5566d2        fmt.(*buffer).write+0xd2                /usr/local/google/home/bcmills/go/src/fmt/print.go:104
            #   0x55667a        fmt.(*fmt).pad+0x7a                     /usr/local/google/home/bcmills/go/src/fmt/format.go:92
            #   0x557e70        fmt.(*fmt).fmtInteger+0x9d0             /usr/local/google/home/bcmills/go/src/fmt/format.go:319
            #   0x55c237        fmt.(*pp).fmtInteger+0x1d7              /usr/local/google/home/bcmills/go/src/fmt/print.go:427
            #   0x55f388        fmt.(*pp).printArg+0x5e8                /usr/local/google/home/bcmills/go/src/fmt/print.go:719
            #   0x5644e4        fmt.(*pp).doPrintf+0x5c4                /usr/local/google/home/bcmills/go/src/fmt/print.go:1075
            #   0x55a99d        fmt.Sprintf+0x5d                        /usr/local/google/home/bcmills/go/src/fmt/print.go:239
            #   0x6aa4ce        runtime/pprof.TestMemoryProfiler+0x60e  /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:95
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [0: 0] @ 0x55593a 0x479e3f 0x55a29e 0x55a978 0x6aa4cf 0x5a91fb 0x470061
            #   0x555939        fmt.init.func1+0x19                     /usr/local/google/home/bcmills/go/src/fmt/print.go:147
            #   0x479e3e        sync.(*Pool).Get+0x11e                  /usr/local/google/home/bcmills/go/src/sync/pool.go:151
            #   0x55a29d        fmt.newPrinter+0x1d                     /usr/local/google/home/bcmills/go/src/fmt/print.go:152
            #   0x55a977        fmt.Sprintf+0x37                        /usr/local/google/home/bcmills/go/src/fmt/print.go:238
            #   0x6aa4ce        runtime/pprof.TestMemoryProfiler+0x60e  /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:95
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [0: 0] @ 0x47a5ac 0x47a2d7 0x479d3c 0x55a29e 0x55a978 0x6aa4cf 0x5a91fb 0x470061
            #   0x47a5ab        sync.(*Pool).pinSlow+0x28b              /usr/local/google/home/bcmills/go/src/sync/pool.go:237
            #   0x47a2d6        sync.(*Pool).pin+0xd6                   /usr/local/google/home/bcmills/go/src/sync/pool.go:216
            #   0x479d3b        sync.(*Pool).Get+0x1b                   /usr/local/google/home/bcmills/go/src/sync/pool.go:131
            #   0x55a29d        fmt.newPrinter+0x1d                     /usr/local/google/home/bcmills/go/src/fmt/print.go:152
            #   0x55a977        fmt.Sprintf+0x37                        /usr/local/google/home/bcmills/go/src/fmt/print.go:238
            #   0x6aa4ce        runtime/pprof.TestMemoryProfiler+0x60e  /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:95
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [0: 0] @ 0x47a4b9 0x47a2d7 0x479d3c 0x55a29e 0x55a978 0x6aa4cf 0x5a91fb 0x470061
            #   0x47a4b8        sync.(*Pool).pinSlow+0x198              /usr/local/google/home/bcmills/go/src/sync/pool.go:233
            #   0x47a2d6        sync.(*Pool).pin+0xd6                   /usr/local/google/home/bcmills/go/src/sync/pool.go:216
            #   0x479d3b        sync.(*Pool).Get+0x1b                   /usr/local/google/home/bcmills/go/src/sync/pool.go:131
            #   0x55a29d        fmt.newPrinter+0x1d                     /usr/local/google/home/bcmills/go/src/fmt/print.go:152
            #   0x55a977        fmt.Sprintf+0x37                        /usr/local/google/home/bcmills/go/src/fmt/print.go:238
            #   0x6aa4ce        runtime/pprof.TestMemoryProfiler+0x60e  /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:95
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [0: 0] @ 0x6aa475 0x5a91fb 0x470061
            #   0x6aa474        runtime/pprof.TestMemoryProfiler+0x5b4  /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:98
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [0: 0] @ 0x6aa3bf 0x5a91fb 0x470061
            #   0x6aa3be        runtime/pprof.TestMemoryProfiler+0x4fe  /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:98
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [1: 48] @ 0x6a9e13 0x545dee 0x544e73 0x6a9eb1 0x6aa297 0x5a91fb 0x470061
            #   0x6a9e12        runtime/pprof.allocateReflectTransient+0x32     /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:55
            #   0x545ded        reflect.Value.call+0xe8d                        /usr/local/google/home/bcmills/go/src/reflect/value.go:596
            #   0x544e72        reflect.Value.Call+0xb2                         /usr/local/google/home/bcmills/go/src/reflect/value.go:380
            #   0x6a9eb0        runtime/pprof.allocateReflect+0x30              /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:60
            #   0x6aa296        runtime/pprof.TestMemoryProfiler+0x3d6          /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:83
            #   0x5a91fa        testing.tRunner+0x1da                           /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [1: 2105344] @ 0x6a9e06 0x545dee 0x544e73 0x6a9eb1 0x6aa297 0x5a91fb 0x470061
            #   0x6a9e05        runtime/pprof.allocateReflectTransient+0x25     /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:55
            #   0x545ded        reflect.Value.call+0xe8d                        /usr/local/google/home/bcmills/go/src/reflect/value.go:596
            #   0x544e72        reflect.Value.Call+0xb2                         /usr/local/google/home/bcmills/go/src/reflect/value.go:380
            #   0x6a9eb0        runtime/pprof.allocateReflect+0x30              /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:60
            #   0x6aa296        runtime/pprof.TestMemoryProfiler+0x3d6          /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:83
            #   0x5a91fa        testing.tRunner+0x1da                           /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [0: 0] @ 0x6aac7b 0x5a91fb 0x470061
            #   0x6aac7a        runtime/pprof.TestMemoryProfiler+0xdba  /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:112
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [0: 0] @ 0x6aadce 0x5a91fb 0x470061
            #   0x6aadcd        runtime/pprof.TestMemoryProfiler+0xf0d  /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:118
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [0: 0] @ 0x6aaeee 0x5a91fb 0x470061
            #   0x6aaeed        runtime/pprof.TestMemoryProfiler+0x102d /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:124
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [0: 0] @ 0x6947f1 0x6946a5 0x691d99 0x6abeb6 0x5a91fb 0x470061
            #   0x6947f0        runtime/pprof.writeHeapInternal+0xb0            /usr/local/google/home/bcmills/go/src/runtime/pprof/pprof.go:562
            #   0x6946a4        runtime/pprof.writeHeap+0x24                    /usr/local/google/home/bcmills/go/src/runtime/pprof/pprof.go:532
            #   0x691d98        runtime/pprof.(*Profile).WriteTo+0x1b8          /usr/local/google/home/bcmills/go/src/runtime/pprof/pprof.go:329
            #   0x6abeb5        runtime/pprof.TestMemoryProfiler.func2+0xb5     /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:126
            #   0x5a91fa        testing.tRunner+0x1da                           /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [0: 0] @ 0x5a1555 0x59f977 0x5aa566 0x6aaf88 0x5a91fb 0x470061
            #   0x5a1554        testing.rewrite+0x394                   /usr/local/google/home/bcmills/go/src/testing/match.go:297
            #   0x59f976        testing.(*matcher).fullName+0x136       /usr/local/google/home/bcmills/go/src/testing/match.go:90
            #   0x5aa565        testing.(*T).Run+0xc5                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1702
            #   0x6aaf87        runtime/pprof.TestMemoryProfiler+0x10c7 /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:124
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [0: 0] @ 0x6aab3c 0x5a91fb 0x470061
            #   0x6aab3b        runtime/pprof.TestMemoryProfiler+0xc7b  /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:106
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [0: 0] @ 0x41648c 0x5a0da7 0x59f9ca 0x5aa566 0x6aaf88 0x5a91fb 0x470061
            #   0x5a0da6        testing.(*matcher).unique+0x106         /usr/local/google/home/bcmills/go/src/testing/match.go:228
            #   0x59f9c9        testing.(*matcher).fullName+0x189       /usr/local/google/home/bcmills/go/src/testing/match.go:90
            #   0x5aa565        testing.(*T).Run+0xc5                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1702
            #   0x6aaf87        runtime/pprof.TestMemoryProfiler+0x10c7 /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:124
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [0: 0] @ 0x56d053 0x59fa8f 0x59fa5b 0x5aa566 0x6aaf88 0x5a91fb 0x470061
            #   0x56d052        strings.genSplit+0x92                   /usr/local/google/home/bcmills/go/src/strings/strings.go:249
            #   0x59fa8e        strings.Split+0x24e                     /usr/local/google/home/bcmills/go/src/strings/strings.go:307
            #   0x59fa5a        testing.(*matcher).fullName+0x21a       /usr/local/google/home/bcmills/go/src/testing/match.go:97
            #   0x5aa565        testing.(*T).Run+0xc5                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1702
            #   0x6aaf87        runtime/pprof.TestMemoryProfiler+0x10c7 /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:124
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [0: 0] @ 0x5aa5f2 0x6aaf88 0x5a91fb 0x470061
            #   0x5aa5f1        testing.(*T).Run+0x151                  /usr/local/google/home/bcmills/go/src/testing/testing.go:1709
            #   0x6aaf87        runtime/pprof.TestMemoryProfiler+0x10c7 /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:124
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [0: 0] @ 0x5aa665 0x6aaf88 0x5a91fb 0x470061
            #   0x5aa664        testing.(*T).Run+0x1c4                  /usr/local/google/home/bcmills/go/src/testing/testing.go:1713
            #   0x6aaf87        runtime/pprof.TestMemoryProfiler+0x10c7 /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:124
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [0: 0] @ 0x5aa67e 0x6aaf88 0x5a91fb 0x470061
            #   0x5aa67d        testing.(*T).Run+0x1dd                  /usr/local/google/home/bcmills/go/src/testing/testing.go:1714
            #   0x6aaf87        runtime/pprof.TestMemoryProfiler+0x10c7 /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:124
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [0: 0] @ 0x5aa6a5 0x6aaf88 0x5a91fb 0x470061
            #   0x5aa6a4        testing.(*T).Run+0x204                  /usr/local/google/home/bcmills/go/src/testing/testing.go:1711
            #   0x6aaf87        runtime/pprof.TestMemoryProfiler+0x10c7 /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:124
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [0: 0] @ 0x5aac06 0x6aaf88 0x5a91fb 0x470061
            #   0x5aac05        testing.(*T).Run+0x765                  /usr/local/google/home/bcmills/go/src/testing/testing.go:1728
            #   0x6aaf87        runtime/pprof.TestMemoryProfiler+0x10c7 /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:124
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [0: 0] @ 0x5aac25 0x6aaf88 0x5a91fb 0x470061
            #   0x5aac24        testing.(*T).Run+0x784                  /usr/local/google/home/bcmills/go/src/testing/testing.go:1728
            #   0x6aaf87        runtime/pprof.TestMemoryProfiler+0x10c7 /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:124
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [0: 0] @ 0x4785ce 0x5aac4a 0x5aabba 0x6aaf88 0x5a91fb 0x470061
            #   0x4785cd        sync.(*Map).Swap+0x4d                   /usr/local/google/home/bcmills/go/src/sync/map.go:330
            #   0x5aac49        sync.(*Map).Store+0x7a9                 /usr/local/google/home/bcmills/go/src/sync/map.go:155
            #   0x5aabb9        testing.(*T).Run+0x719                  /usr/local/google/home/bcmills/go/src/testing/testing.go:1728
            #   0x6aaf87        runtime/pprof.TestMemoryProfiler+0x10c7 /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:124
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [0: 0] @ 0x478a11 0x5aac4a 0x5aabba 0x6aaf88 0x5a91fb 0x470061
            #   0x478a10        sync.(*Map).Swap+0x490                  /usr/local/google/home/bcmills/go/src/sync/map.go:365
            #   0x5aac49        sync.(*Map).Store+0x7a9                 /usr/local/google/home/bcmills/go/src/sync/map.go:155
            #   0x5aabb9        testing.(*T).Run+0x719                  /usr/local/google/home/bcmills/go/src/testing/testing.go:1728
            #   0x6aaf87        runtime/pprof.TestMemoryProfiler+0x10c7 /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:124
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [1: 352] @ 0x5455c5 0x544e73 0x6a9eb1 0x6aa297 0x5a91fb 0x470061
            #   0x5455c4        reflect.Value.call+0x664                /usr/local/google/home/bcmills/go/src/reflect/value.go:480
            #   0x544e72        reflect.Value.Call+0xb2                 /usr/local/google/home/bcmills/go/src/reflect/value.go:380
            #   0x6a9eb0        runtime/pprof.allocateReflect+0x30      /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:60
            #   0x6aa296        runtime/pprof.TestMemoryProfiler+0x3d6  /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:83
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [1: 32] @ 0x5441c8 0x6a9ea5 0x6a9e8f 0x6aa297 0x5a91fb 0x470061
            #   0x5441c7        reflect.unpackEface+0x27                /usr/local/google/home/bcmills/go/src/reflect/value.go:156
            #   0x6a9ea4        reflect.ValueOf+0x24                    /usr/local/google/home/bcmills/go/src/reflect/value.go:3258
            #   0x6a9e8e        runtime/pprof.allocateReflect+0xe       /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:59
            #   0x6aa296        runtime/pprof.TestMemoryProfiler+0x3d6  /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:83
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [0: 0] @ 0x478aa8 0x478a06 0x5aac4a 0x5aabba 0x6aaf88 0x5a91fb 0x470061
            #   0x478aa7        sync.newEntry+0x527                     /usr/local/google/home/bcmills/go/src/sync/map.go:105
            #   0x478a05        sync.(*Map).Swap+0x485                  /usr/local/google/home/bcmills/go/src/sync/map.go:365
            #   0x5aac49        sync.(*Map).Store+0x7a9                 /usr/local/google/home/bcmills/go/src/sync/map.go:155
            #   0x5aabb9        testing.(*T).Run+0x719                  /usr/local/google/home/bcmills/go/src/testing/testing.go:1728
            #   0x6aaf87        runtime/pprof.TestMemoryProfiler+0x10c7 /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:124
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [1: 48] @ 0x6aa112 0x6aa0ef 0x5a91fb 0x470061
            #   0x6aa111        runtime/pprof.allocateTransient2MInline+0x251   /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:34
            #   0x6aa0ee        runtime/pprof.TestMemoryProfiler+0x22e          /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:81
            #   0x5a91fa        testing.tRunner+0x1da                           /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [1: 2105344] @ 0x6aa105 0x6aa0ef 0x5a91fb 0x470061
            #   0x6aa104        runtime/pprof.allocateTransient2MInline+0x244   /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:34
            #   0x6aa0ee        runtime/pprof.TestMemoryProfiler+0x22e          /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:81
            #   0x5a91fa        testing.tRunner+0x1da                           /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [1: 48] @ 0x6a9d73 0x6aa0ee 0x5a91fb 0x470061
            #   0x6a9d72        runtime/pprof.allocateTransient2M+0x32  /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:30
            #   0x6aa0ed        runtime/pprof.TestMemoryProfiler+0x22d  /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:80
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [0: 0] @ 0x5aac5a 0x6aaf88 0x5a91fb 0x470061
            #   0x5aac59        testing.(*T).Run+0x7b9                  /usr/local/google/home/bcmills/go/src/testing/testing.go:1735
            #   0x6aaf87        runtime/pprof.TestMemoryProfiler+0x10c7 /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:124
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [1: 192] @ 0x43e7e9 0x446a2f 0x44695f 0x46e0aa
            #   0x43e7e8        runtime.allgadd+0x68            /usr/local/google/home/bcmills/go/src/runtime/proc.go:621
            #   0x446a2e        runtime.newproc1+0x8e           /usr/local/google/home/bcmills/go/src/runtime/proc.go:4881
            #   0x44695e        runtime.newproc.func1+0x1e      /usr/local/google/home/bcmills/go/src/runtime/proc.go:4856
            #   0x46e0a9        runtime.systemstack+0x49        /usr/local/google/home/bcmills/go/src/runtime/asm_amd64.s:509

            0: 0 [0: 0] @ 0x43e069 0x4092a5 0x409072 0x5aad55 0x6aaf88 0x5a91fb 0x470061
            #   0x5aad54        testing.(*T).Run+0x8b4                  /usr/local/google/home/bcmills/go/src/testing/testing.go:1736
            #   0x6aaf87        runtime/pprof.TestMemoryProfiler+0x10c7 /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:124
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [0: 0] @ 0x5a8651 0x5a85dc 0x5a9054 0x470061
            #   0x5a8650        testing.pcToName+0x30   /usr/local/google/home/bcmills/go/src/testing/testing.go:1432
            #   0x5a85db        testing.callerName+0x3b /usr/local/google/home/bcmills/go/src/testing/testing.go:1428
            #   0x5a9053        testing.tRunner+0x33    /usr/local/google/home/bcmills/go/src/testing/testing.go:1540

            0: 0 [0: 0] @ 0x45870e 0x5a8685 0x5a85dc 0x5a9054 0x470061
            #   0x5a8684        testing.pcToName+0x64   /usr/local/google/home/bcmills/go/src/testing/testing.go:1433
            #   0x5a85db        testing.callerName+0x3b /usr/local/google/home/bcmills/go/src/testing/testing.go:1428
            #   0x5a9053        testing.tRunner+0x33    /usr/local/google/home/bcmills/go/src/testing/testing.go:1540

            0: 0 [0: 0] @ 0x6abe46 0x5a91fb 0x470061
            #   0x6abe45        runtime/pprof.TestMemoryProfiler.func2+0x45     /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:125
            #   0x5a91fa        testing.tRunner+0x1da                           /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [0: 0] @ 0x41185a 0x690f5c 0x6915d6 0x6abe9d 0x5a91fb 0x470061
            #   0x690f5b        runtime/pprof.lockProfiles+0x5b                 /usr/local/google/home/bcmills/go/src/runtime/pprof/pprof.go:186
            #   0x6915d5        runtime/pprof.Lookup+0x35                       /usr/local/google/home/bcmills/go/src/runtime/pprof/pprof.go:226
            #   0x6abe9c        runtime/pprof.TestMemoryProfiler.func2+0x9c     /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:126
            #   0x5a91fa        testing.tRunner+0x1da                           /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [0: 0] @ 0x41648c 0x690f7c 0x6915d6 0x6abe9d 0x5a91fb 0x470061
            #   0x690f7b        runtime/pprof.lockProfiles+0x7b                 /usr/local/google/home/bcmills/go/src/runtime/pprof/pprof.go:186
            #   0x6915d5        runtime/pprof.Lookup+0x35                       /usr/local/google/home/bcmills/go/src/runtime/pprof/pprof.go:226
            #   0x6abe9c        runtime/pprof.TestMemoryProfiler.func2+0x9c     /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:126
            #   0x5a91fa        testing.tRunner+0x1da                           /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [1: 2105344] @ 0x6a9d66 0x6aa0ee 0x5a91fb 0x470061
            #   0x6a9d65        runtime/pprof.allocateTransient2M+0x25  /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:30
            #   0x6aa0ed        runtime/pprof.TestMemoryProfiler+0x22d  /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:80
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [1024: 1179648] @ 0x6aa05f 0x6aa030 0x5a91fb 0x470061
            #   0x6aa05e        runtime/pprof.allocateTransient1M+0x19e /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:24
            #   0x6aa02f        runtime/pprof.TestMemoryProfiler+0x16f  /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:79
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [1024: 49152] @ 0x6a9fd2 0x5a91fb 0x470061
            #   0x6a9fd1        runtime/pprof.TestMemoryProfiler+0x111  /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:75
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [1024: 1179648] @ 0x6a9fc5 0x5a91fb 0x470061
            #   0x6a9fc4        runtime/pprof.TestMemoryProfiler+0x104  /usr/local/google/home/bcmills/go/src/runtime/pprof/mprof_test.go:75
            #   0x5a91fa        testing.tRunner+0x1da                   /usr/local/google/home/bcmills/go/src/testing/testing.go:1682

            0: 0 [1: 176] @ 0x607449 0x60733a 0x602d70 0x621458 0x621453 0x622acc 0x622ac0 0x64b88e 0x479b08 0x64b535 0x64b4e1 0x64b4e0 0x64c6f3 0x44b488 0x43da30 0x43d920 0x470061
            #   0x607448        regexp/syntax.(*parser).newRegexp+0x188         /usr/local/google/home/bcmills/go/src/regexp/syntax/parse.go:146
            #   0x607339        regexp/syntax.(*parser).parseClass+0x79         /usr/local/google/home/bcmills/go/src/regexp/syntax/parse.go:1740
            #   0x602d6f        regexp/syntax.parse+0x10ef                      /usr/local/google/home/bcmills/go/src/regexp/syntax/parse.go:977
            #   0x621457        regexp/syntax.Parse+0x37                        /usr/local/google/home/bcmills/go/src/regexp/syntax/parse.go:889
            #   0x621452        regexp.compile+0x32                             /usr/local/google/home/bcmills/go/src/regexp/regexp.go:172
            #   0x622acb        regexp.Compile+0x2b                             /usr/local/google/home/bcmills/go/src/regexp/regexp.go:135
            #   0x622abf        regexp.MustCompile+0x1f                         /usr/local/google/home/bcmills/go/src/regexp/regexp.go:315
            #   0x64b88d        internal/lazyregexp.(*Regexp).build+0x4d        /usr/local/google/home/bcmills/go/src/internal/lazyregexp/lazyre.go:30
            #   0x479b07        sync.(*Once).doSlow+0x107                       /usr/local/google/home/bcmills/go/src/sync/once.go:74
            #   0x64b534        sync.(*Once).Do+0x114                           /usr/local/google/home/bcmills/go/src/sync/once.go:65
            #   0x64b4e0        internal/lazyregexp.(*Regexp).re+0xc0           /usr/local/google/home/bcmills/go/src/internal/lazyregexp/lazyre.go:25
            #   0x64b4df        internal/lazyregexp.New+0xbf                    /usr/local/google/home/bcmills/go/src/internal/lazyregexp/lazyre.go:75
            #   0x64c6f2        internal/profile.init+0xb92                     /usr/local/google/home/bcmills/go/src/internal/profile/profile.go:195
            #   0x44b487        runtime.doInit1+0xe7                            /usr/local/google/home/bcmills/go/src/runtime/proc.go:7143
            #   0x43da2f        runtime.doInit+0x34f                            /usr/local/google/home/bcmills/go/src/runtime/proc.go:7110
            #   0x43d91f        runtime.main+0x23f                              /usr/local/google/home/bcmills/go/src/runtime/proc.go:253


            # runtime.MemStats
            # Alloc = 396544
            # TotalAlloc = 9228096
            # Sys = 17126664
            # Lookups = 0
            # Mallocs = 4531
            # Frees = 3809
            # HeapAlloc = 396544
            # HeapSys = 12124160
            # HeapIdle = 11157504
            # HeapInuse = 966656
            # HeapReleased = 3923968
            # HeapObjects = 722
            # Stack = 458752 / 458752
            # MSpan = 45280 / 81600
            # MCache = 28800 / 31200
            # BuckHashSys = 1463488
            # GCSys = 2082344
            # OtherSys = 885120
            # NextGC = 4194304
            # LastGC = 1700511255973606335
            # PauseNs = [943428 148276 79021 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
            # PauseEnd = [1700511255968403245 1700511255972240978 1700511255973606335 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
            # NumGC = 3
            # NumForcedGC = 1
            # GCCPUFraction = 0.0356789655858281
            # DebugGC = false
            # MaxRSS = 86917120

FAIL
FAIL    runtime/pprof   19.004s
ok      runtime/trace   13.519s
--- FAIL: TestInsert (0.01s)
    slices_test.go:509: too many allocations inserting 50 elements: got 61, want less than 25
--- FAIL: TestGrow (0.00s)
    slices_test.go:917: Grow should allocate once when given insufficient capacity; allocated 2 times
--- FAIL: TestConcat (0.01s)
    slices_test.go:1265: Concat([[1]]) allocated 2 times; want 1
    slices_test.go:1265: Concat([[1] [2]]) allocated 2 times; want 1
    slices_test.go:1265: Concat([[1] [] [2]]) allocated 2 times; want 1
FAIL
FAIL    slices  2.459s
ok      sort    3.650s
ok      strconv 10.724s
--- FAIL: TestBuilderGrow (0.02s)
    builder_test.go:109: growLen=0: got 1 allocs during Write; want 0
    builder_test.go:109: growLen=100: got 2 allocs during Write; want 1
    builder_test.go:109: growLen=1000: got 2 allocs during Write; want 1
    builder_test.go:109: growLen=10000: got 2 allocs during Write; want 1
    builder_test.go:109: growLen=100000: got 2 allocs during Write; want 1
--- FAIL: TestBuilderAllocs (0.02s)
    builder_test.go:200: Builder allocs = 2; want 1
FAIL
FAIL    strings 1.461s
ok      sync    0.935s
ok      sync/atomic     5.820s
ok      syscall 6.781s
ok      testing 3.486s
ok      testing/fstest  0.098s
ok      testing/iotest  0.110s
ok      testing/quick   0.789s
ok      testing/slogtest        0.103s
ok      text/scanner    0.102s
ok      text/tabwriter  0.120s
ok      text/template   0.357s
ok      text/template/parse     0.190s
ok      time    3.943s
ok      unicode 0.132s
ok      unicode/utf16   0.130s
ok      unicode/utf8    0.123s
ok      cmd/addr2line   3.665s
ok      cmd/api 2.142s
ok      cmd/asm/internal/asm    6.157s
ok      cmd/asm/internal/lex    0.050s
ok      cmd/cgo/internal/swig   0.071s
--- FAIL: Test10303 (0.00s)
    test.go:1777: C int* argument on stack
    test.go:1780: C intptr argument on stack
    test.go:1783: C void* argument on stack
    test.go:1786: C struct field pointer on stack
FAIL
FAIL    cmd/cgo/internal/test   6.293s
ok      cmd/cgo/internal/testcarchive   0.057s
ok      cmd/cgo/internal/testcshared    0.064s
ok      cmd/cgo/internal/testerrors     25.106s
ok      cmd/cgo/internal/testfortran    0.075s
ok      cmd/cgo/internal/testgodefs     2.421s
ok      cmd/cgo/internal/testlife       2.302s
ok      cmd/cgo/internal/testnocgo      0.055s
ok      cmd/cgo/internal/testplugin     0.050s
ok      cmd/cgo/internal/testsanitizers 26.189s
ok      cmd/cgo/internal/testshared     0.072s
ok      cmd/cgo/internal/testso 4.860s
ok      cmd/cgo/internal/teststdio      4.995s
ok      cmd/cgo/internal/testtls        0.057s
ok      cmd/compile/internal/abt        0.128s
ok      cmd/compile/internal/amd64      183.456s
ok      cmd/compile/internal/base       0.180s
ok      cmd/compile/internal/compare    0.259s
ok      cmd/compile/internal/devirtualize       0.225s
ok      cmd/compile/internal/dwarfgen   3.177s
ok      cmd/compile/internal/importer   5.412s
ok      cmd/compile/internal/inline/inlheur     2.794s
ok      cmd/compile/internal/ir 0.098s
ok      cmd/compile/internal/logopt     1.703s
ok      cmd/compile/internal/loopvar    101.263s
ok      cmd/compile/internal/noder      0.377s
ok      cmd/compile/internal/reflectdata        0.295s [no tests to run]
ok      cmd/compile/internal/ssa        94.195s
ok      cmd/compile/internal/syntax     1.245s
--- FAIL: TestAppendOfMake (0.00s)
    issue53888_test.go:22: got 1.000000 allocs, want 0
    issue53888_test.go:31: got 1.000000 allocs, want 0
    issue53888_test.go:37: got 1.000000 allocs, want 0
    issue53888_test.go:43: got 1.000000 allocs, want 0
FAIL
FAIL    cmd/compile/internal/test       35.408s
ok      cmd/compile/internal/typecheck  2.573s
ok      cmd/compile/internal/types      0.270s
ok      cmd/compile/internal/types2     46.087s
ok      cmd/covdata     0.267s
ok      cmd/cover       7.088s
ok      cmd/dist        0.262s
ok      cmd/distpack    0.260s
ok      cmd/doc 3.120s
ok      cmd/fix 3.892s
ok      cmd/go  95.329s
ok      cmd/go/internal/auth    0.336s
ok      cmd/go/internal/cache   0.647s
ok      cmd/go/internal/cfg     0.258s [no tests to run]
ok      cmd/go/internal/envcmd  0.387s
ok      cmd/go/internal/fsys    0.504s
ok      cmd/go/internal/generate        0.256s
ok      cmd/go/internal/gover   0.256s
ok      cmd/go/internal/imports 0.256s
ok      cmd/go/internal/load    0.421s
ok      cmd/go/internal/lockedfile      0.751s
ok      cmd/go/internal/lockedfile/internal/filelock    0.184s
ok      cmd/go/internal/modfetch        0.623s
ok      cmd/go/internal/modfetch/codehost       10.904s
ok      cmd/go/internal/modfetch/zip_sum_test   0.399s
ok      cmd/go/internal/modindex        4.971s
ok      cmd/go/internal/modload 0.437s
ok      cmd/go/internal/mvs     0.362s
ok      cmd/go/internal/par     0.700s
ok      cmd/go/internal/str     0.702s
ok      cmd/go/internal/test    1.091s
ok      cmd/go/internal/toolchain       0.620s
ok      cmd/go/internal/vcs     0.559s
ok      cmd/go/internal/vcweb   0.430s
ok      cmd/go/internal/vcweb/vcstest   39.891s
ok      cmd/go/internal/web     0.362s
ok      cmd/go/internal/work    0.895s
ok      cmd/gofmt       1.145s
ok      cmd/internal/archive    5.354s
ok      cmd/internal/bootstrap_test     0.265s
ok      cmd/internal/buildid    4.059s
ok      cmd/internal/cov        2.671s
ok      cmd/internal/dwarf      0.233s
ok      cmd/internal/edit       0.203s
ok      cmd/internal/goobj      0.341s
ok      cmd/internal/moddeps    8.885s
ok      cmd/internal/notsha256  0.355s
ok      cmd/internal/obj        2.768s
ok      cmd/internal/obj/ppc64  1.251s
ok      cmd/internal/obj/riscv  0.662s
ok      cmd/internal/obj/s390x  0.298s
ok      cmd/internal/obj/x86    2.300s
ok      cmd/internal/objabi     0.689s
ok      cmd/internal/pkgpath    1.008s
ok      cmd/internal/pkgpattern 0.342s
ok      cmd/internal/quoted     0.229s
ok      cmd/internal/src        0.291s
ok      cmd/internal/test2json  4.245s
ok      cmd/link        43.189s
ok      cmd/link/internal/benchmark     0.341s
ok      cmd/link/internal/ld    23.865s
ok      cmd/link/internal/loader        0.430s
ok      cmd/nm  11.161s
ok      cmd/objdump     14.112s
ok      cmd/pack        6.923s
ok      cmd/pprof       6.640s
ok      cmd/trace       2.769s
ok      cmd/vet 28.530s
FAIL
go tool dist: Failed: exit status 1

@zhangfannie
Copy link
Contributor

zhangfannie commented Nov 21, 2023

Allocs-related tests fail because when -asan is turned on, the -checkptr option is implicitly set to 2, which is implemented by CL 393315, so that some stack objects with usafe.Pointer operation will escape to the heap, resulting in additional heap allocation.

@zhangfannie
Copy link
Contributor

For the bug in the assembly function, I will submit a patch to fix it.

As for the issue of allocs tests, we may need to skip these tests when -asan is on. Does anyone have any other ideas? Thank you.

@gopherbot
Copy link

Change https://go.dev/cl/543837 mentions this issue: runtime: change the name of variables in asan-related assembly funtions

@bcmills
Copy link
Contributor

bcmills commented Nov 21, 2023

As for the issue of allocs tests, we may need to skip these tests when -asan is on. Does anyone have any other ideas?

testenv.SkipIfOptimizationOff seems like it fits the bill — is there some way to make testenv.OptimizationOff return true if the build is using MSAN or ASAN?

gopherbot pushed a commit that referenced this issue Nov 22, 2023
Variables in functions implemented in assembly should have the
same names as when they were defined. The names of some variables
in asan-related assembly functions do not follow the above rule,
which will cause the runtime test to fail. This CL fixes this issue.

Updates #64257

Change-Id: I261f4db807d25e460513ef1c92cd1b707cdd1a16
Reviewed-on: https://go-review.googlesource.com/c/go/+/543837
Run-TryBot: Fannie Zhang <Fannie.Zhang@arm.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Cherry Mui <cherryyz@google.com>
Reviewed-by: Bryan Mills <bcmills@google.com>
@zhangfannie
Copy link
Contributor

testenv.SkipIfOptimizationOff seems like it fits the bill — is there some way to make testenv.OptimizationOff return true if the build is using MSAN or ASAN?

This is a good one!
Maybe we can control it through build flags. Please see the changes below. Thank you.

diff --git a/src/internal/testenv/noopt.go b/src/internal/testenv/noopt.go
index ae2a3d011a..68f7bbdbb7 100644
--- a/src/internal/testenv/noopt.go
+++ b/src/internal/testenv/noopt.go
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.

-//go:build noopt
+//go:build noopt || asan || msan

@zhangfannie
Copy link
Contributor

testenv.SkipIfOptimizationOff seems like it fits the bill — is there some way to make testenv.OptimizationOff return true if the build is using MSAN or ASAN?

@bcmills When I was about to write the fixing code, I found that this idea was not very good. Because when we use testenv.SkipIfOptimizationOff function to skip some tests that will fail when -asan is turned on, then these tests will not run when -noopt is turned on. I guess that is not what we expected, right?

Perhaps we may need to create a new SkipIfOptimizationOff-like function for asan, called SkipAsanOn or something else. What do you think? Thank you.

@bcmills
Copy link
Contributor

bcmills commented Nov 27, 2023

@zhangfannie, I think it would be fine to spuriously skip alloc tests on the -noopt builders too — otherwise, won't those allocation tests also fail if the implementation details of the compiler change in a way we don't care about?

If real users care about reducing allocations, presumably they should build their programs in a way that does not explicitly prevent the compiler from reducing allocations. 😅

@zhangfannie
Copy link
Contributor

@bcmills Perhaps we could create an exported function called runtime.AsanEnabled() and use this function to skip these failing tests. what do you think? Thank you.

@mauri870
Copy link
Member

mauri870 commented Dec 7, 2023

@zhangfannie Looks like you reached the same dead end as me, in #64256.

I ended up filling #64611 which I believe is a good addition that would make it much easier to deal with these test allocation cases moving forward. I would be glad to hear your opinions on this.

cc @bcmills

@zhangfannie
Copy link
Contributor

@zhangfannie Looks like you reached the same dead end as me, in #64256.

I ended up filling #64611 which I believe is a good addition that would make it much easier to deal with these test allocation cases moving forward. I would be glad to hear your opinions on this.

I think this is a good approach. Thank you for doing this.

@mauri870
Copy link
Member

I got back to working on this after the internal/asan package was submitted.

There are many tests that fail with wrong allocation counts, and these can now be skipped by checking asan.Enabled.

I'm attaching the output of tests that are still failing. I'm not sure if they are false positives and should be skipped as well.

There is a AddressSanitizer stack-overflow in runtime, failures in pprof tests and test10303 in src/cmd/cgo/internal/test.

Sending as an attachment because Firefox crashes if I try to paste the contents

out.txt

@qiulaidongfeng
Copy link
Contributor Author

I'm attaching the output of tests that are still failing. I'm not sure if they are false positives and should be skipped as well.

Test fail of cmd/internal/moddeps maybe a false alarm? I can't reproduce it in wsl2.

@mauri870
Copy link
Member

mauri870 commented Feb 17, 2024

I'm attaching the output of tests that are still failing. I'm not sure if they are false positives and should be skipped as well.

Test fail of cmd/internal/moddeps maybe a false alarm? I can't reproduce it in wsl2.

Sorry, please ignore the dep tests, my go tree is dirty. The ones that I'm worried about are cgo, runtime and pprof.

@qiulaidongfeng
Copy link
Contributor Author

My machine(wsl2) output

runtime

traceback: unexpected SPWRITE function asancall
fatal error: traceback

cgo

--- FAIL: Test10303 (0.00s)
    test.go:1777: C int* argument on stack
    test.go:1780: C intptr argument on stack
    test.go:1783: C void* argument on stack
    test.go:1786: C struct field pointer on stack
FAIL
FAIL    cmd/cgo/internal/test   2.019s

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compiler/runtime Issues related to the Go compiler and/or runtime. help wanted NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Projects
Development

No branches or pull requests

7 participants
@mknyszek @bcmills @gopherbot @mauri870 @zhangfannie @qiulaidongfeng and others