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

cmd/cgo/internal/testtls: TestTLS fails on Windows #61882

Closed
henryas opened this issue Aug 9, 2023 · 12 comments
Closed

cmd/cgo/internal/testtls: TestTLS fails on Windows #61882

henryas opened this issue Aug 9, 2023 · 12 comments

Comments

@henryas
Copy link

henryas commented Aug 9, 2023

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

go 1.21.0

Does this issue reproduce with the latest release?

Yes

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

set GO111MODULE=
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\henry\AppData\Local\go-build
set GOENV=C:\Users\henry\AppData\Roaming\go\env
set GOEXE=.exe
set GOEXPERIMENT=
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOINSECURE=
set GOMODCACHE=C:\Users\henry\go\pkg\mod
set GONOPROXY=github.com/henryas
set GONOSUMDB=github.com/henryas
set GOOS=windows
set GOPATH=C:\Users\henry\go
set GOPRIVATE=github.com/henryas
set GOPROXY=https://proxy.golang.org,direct
set GOROOT=C:\Users\henry\Programs\Go\go
set GOSUMDB=sum.golang.org
set GOTMPDIR=C:\Users\henry\tmp
set GOTOOLCHAIN=auto
set GOTOOLDIR=C:\Users\henry\Programs\Go\go\pkg\tool\windows_amd64
set GOVCS=
set GOVERSION=go1.21.0
set GCCGO=gccgo
set GOAMD64=v1
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=C:\Users\henry\Programs\Go\go\src\go.mod
set GOWORK=
set CGO_CFLAGS=-O2 -g
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-O2 -g
set CGO_FFLAGS=-O2 -g
set CGO_LDFLAGS=-O2 -g
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -mthreads -Wl,--no-gc-sections -fmessage-length=0 -fdebug-prefix-map=C:\Users\henry\tmp\go-build3873560077=/tmp/go-build -gno-record-gcc-switches

What did you do?

Run all.bat

What did you expect to see?

Successful build and passing tests.

What did you see instead?

Building Go cmd/dist using C:\Users\henry\Programs\Go\go1.17.13. (go1.17.13 windows/amd64)
Building Go toolchain1 using C:\Users\henry\Programs\Go\go1.17.13.
Building Go bootstrap cmd/go (go_bootstrap) using Go toolchain1.
Building Go toolchain2 using go_bootstrap and Go toolchain1.
Building Go toolchain3 using go_bootstrap and Go toolchain2.
Building packages and commands for windows/amd64.

Test execution environment.

GOARCH: amd64

CPU: AMD Ryzen 9 5900HX with Radeon Graphics

GOOS: windows

OS Version: 10.0.22621

Testing packages.

ok archive/tar 0.206s
ok archive/zip 0.166s
ok bufio 0.086s
ok bytes 0.212s
ok cmp 0.042s
ok compress/bzip2 0.083s
ok compress/flate 0.489s
ok compress/gzip 1.459s
ok compress/lzw 0.056s
ok compress/zlib 0.065s
ok container/heap 0.049s
ok container/list 0.049s
ok container/ring 0.049s
ok context 0.331s
ok crypto 0.049s
ok crypto/aes 0.052s
ok crypto/cipher 0.050s
ok crypto/des 0.053s
ok crypto/dsa 0.049s
ok crypto/ecdh 0.082s
ok crypto/ecdsa 0.079s
ok crypto/ed25519 0.112s
ok crypto/elliptic 0.070s
ok crypto/hmac 0.052s
ok crypto/internal/alias 0.055s
ok crypto/internal/bigmod 0.203s
ok crypto/internal/boring 0.049s
ok crypto/internal/boring/bcache 0.121s
ok crypto/internal/edwards25519 3.680s
ok crypto/internal/edwards25519/field 2.989s
ok crypto/internal/nistec 0.156s
ok crypto/internal/nistec/fiat 0.050s [no tests to run]
ok crypto/md5 0.053s
ok crypto/rand 0.060s
ok crypto/rc4 0.066s
ok crypto/rsa 0.275s
ok crypto/sha1 0.069s
ok crypto/sha256 0.052s
ok crypto/sha512 0.050s
ok crypto/subtle 0.133s
ok crypto/tls 0.744s
ok crypto/x509 0.333s
ok database/sql 0.719s
ok database/sql/driver 0.044s
ok debug/buildinfo 0.056s
ok debug/dwarf 0.082s
ok debug/elf 0.219s
ok debug/gosym 0.104s
ok debug/macho 0.058s
ok debug/pe 11.285s
ok debug/plan9obj 0.057s
ok embed 0.049s [no tests to run]
ok embed/internal/embedtest 0.049s
ok encoding/ascii85 0.044s
ok encoding/asn1 0.052s
ok encoding/base32 0.082s
ok encoding/base64 0.050s
ok encoding/binary 0.049s
ok encoding/csv 0.049s
ok encoding/gob 1.360s
ok encoding/hex 0.050s
ok encoding/json 0.327s
ok encoding/pem 0.552s
ok encoding/xml 0.150s
ok errors 0.077s
ok expvar 0.076s
ok flag 0.292s
ok fmt 0.113s
ok go/ast 0.067s
ok go/build 2.211s
ok go/build/constraint 0.057s
ok go/constant 0.067s
ok go/doc 0.132s
ok go/doc/comment 1.811s
ok go/format 0.062s
ok go/importer 1.646s
ok go/internal/gccgoimporter 0.129s
ok go/internal/gcimporter 9.029s
ok go/internal/srcimporter 30.471s
ok go/parser 0.317s
ok go/printer 0.227s
ok go/scanner 0.065s
ok go/token 0.056s
ok go/types 24.462s
ok hash 0.076s
ok hash/adler32 0.076s
ok hash/crc32 0.075s
ok hash/crc64 0.075s
ok hash/fnv 0.057s
ok hash/maphash 0.137s
ok html 0.175s
ok html/template 0.149s
ok image 0.110s
ok image/color 0.060s
ok image/draw 0.129s
ok image/gif 0.332s
ok image/jpeg 0.208s
ok image/png 0.302s
ok index/suffixarray 0.192s
ok internal/abi 0.581s
ok internal/buildcfg 0.055s
ok internal/coverage/cformat 0.053s
ok internal/coverage/cmerge 0.047s
ok internal/coverage/pods 0.055s
ok internal/coverage/slicereader 0.045s
ok internal/coverage/slicewriter 0.058s
ok internal/coverage/test 0.061s
ok internal/cpu 0.046s
ok internal/dag 0.052s
ok internal/diff 0.051s
ok internal/fmtsort 0.048s
ok internal/fuzz 0.063s
ok internal/godebug 2.135s
ok internal/godebugs 0.066s
ok internal/intern 0.729s
ok internal/itoa 0.047s
ok internal/platform 1.060s
ok internal/poll 0.128s
ok internal/profile 0.110s
ok internal/reflectlite 0.052s
ok internal/safefilepath 0.068s
ok internal/saferio 0.120s
ok internal/singleflight 0.089s
ok internal/syscall/windows 0.094s
ok internal/syscall/windows/registry 0.055s
ok internal/testenv 0.797s
ok internal/trace 0.097s
ok internal/types/errors 1.940s
ok internal/unsafeheader 0.057s
ok internal/xcoff 0.063s
ok internal/zstd 0.047s
ok io 0.238s
ok io/fs 0.338s
ok io/ioutil 0.069s
ok log 0.044s
ok log/slog 0.070s
ok log/slog/internal/benchmarks 0.039s
ok log/slog/internal/buffer 0.042s
ok maps 0.045s
ok math 0.045s
ok math/big 0.809s
ok math/bits 0.059s
ok math/cmplx 0.059s
ok math/rand 0.261s
ok mime 0.221s
ok mime/multipart 0.852s
ok mime/quotedprintable 0.098s
ok net 7.903s
ok net/http 2.920s
ok net/http/cgi 0.519s
ok net/http/cookiejar 0.081s
ok net/http/fcgi 0.294s
ok net/http/httptest 0.117s
ok net/http/httptrace 0.062s
ok net/http/httputil 1.278s
ok net/http/internal 0.085s
ok net/http/internal/ascii 0.066s
ok net/http/pprof 5.297s
ok net/internal/socktest 0.056s
ok net/mail 0.056s
ok net/netip 0.719s
ok net/rpc 0.285s
ok net/rpc/jsonrpc 0.088s
ok net/smtp 0.329s
ok net/textproto 0.385s
ok net/url 0.130s
ok os 1.367s
ok os/exec 0.921s
ok os/exec/internal/fdtest 0.055s
ok os/signal 2.213s
ok os/user 0.067s
ok path 0.054s
ok path/filepath 1.207s
ok plugin 0.059s
ok reflect 0.306s
ok regexp 0.490s
ok regexp/syntax 0.738s
ok runtime 75.692s
ok runtime/cgo 0.093s
ok runtime/coverage 0.091s
ok runtime/debug 0.163s
ok runtime/internal/atomic 0.101s
ok runtime/internal/math 0.089s
ok runtime/internal/sys 0.055s
ok runtime/internal/wasitest 0.062s
ok runtime/metrics 0.067s
ok runtime/pprof 14.255s
ok runtime/trace 3.075s
ok slices 0.103s
ok sort 0.074s
ok strconv 0.329s
ok strings 0.120s
ok sync 1.017s
ok sync/atomic 1.534s
ok syscall 6.431s
ok testing 1.846s
ok testing/fstest 0.091s
ok testing/iotest 0.089s
ok testing/quick 0.129s
ok testing/slogtest 0.051s
ok text/scanner 0.053s
ok text/tabwriter 0.088s
ok text/template 0.110s
ok text/template/parse 0.051s
ok time 2.363s
ok unicode 0.059s
ok unicode/utf16 0.125s
ok unicode/utf8 0.059s
ok cmd/addr2line 1.530s
ok cmd/api 1.412s
ok cmd/asm/internal/asm 0.713s
ok cmd/asm/internal/lex 0.116s
ok cmd/cgo/internal/swig 0.299s
ok cmd/cgo/internal/test 0.502s
ok cmd/cgo/internal/testcarchive 0.043s
ok cmd/cgo/internal/testcshared 0.051s
ok cmd/cgo/internal/testerrors 19.303s
ok cmd/cgo/internal/testfortran 0.208s
ok cmd/cgo/internal/testgodefs 4.034s
ok cmd/cgo/internal/testlife 2.978s
ok cmd/cgo/internal/testnocgo 0.057s
ok cmd/cgo/internal/testplugin 0.049s
ok cmd/cgo/internal/testsanitizers 0.057s [no tests to run]
ok cmd/cgo/internal/testshared 0.047s
ok cmd/cgo/internal/testso 9.399s
ok cmd/cgo/internal/teststdio 9.563s
Exception 0xc0000005 0x0 0xffffffffd03b65da 0x629670
PC=0x629670
signal arrived during external code execution

runtime.cgocall(0x626550, 0xc000065ed8)
C:/Users/henry/Programs/Go/go/src/runtime/cgocall.go:157 +0x3e fp=0xc000065eb0 sp=0xc000065e78 pc=0x52557e
cmd/cgo/internal/testtls._Cfunc_getTLS()
_cgo_gotypes.go:71 +0x51 fp=0xc000065ed8 sp=0xc000065eb0 pc=0x626051
cmd/cgo/internal/testtls.testTLS(0xc000108820)
C:/Users/henry/Programs/Go/go/src/cmd/cgo/internal/testtls/tls.go:25 +0xaa fp=0xc000065f58 sp=0xc000065ed8 pc=0x6261ca
cmd/cgo/internal/testtls.TestTLS(0x0?)
C:/Users/henry/Programs/Go/go/src/cmd/cgo/internal/testtls/tls_test.go:10 +0x13 fp=0xc000065f70 sp=0xc000065f58 pc=0x625f73
testing.tRunner(0xc000108820, 0x691010)
C:/Users/henry/Programs/Go/go/src/testing/testing.go:1595 +0xff fp=0xc000065fc0 sp=0xc000065f70 pc=0x5e8c7f
testing.(*T).Run.func1()
C:/Users/henry/Programs/Go/go/src/testing/testing.go:1648 +0x25 fp=0xc000065fe0 sp=0xc000065fc0 pc=0x5e9c05
runtime.goexit()
C:/Users/henry/Programs/Go/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc000065fe8 sp=0xc000065fe0 pc=0x58adc1
created by testing.(*T).Run in goroutine 1
C:/Users/henry/Programs/Go/go/src/testing/testing.go:1648 +0x3ad

goroutine 1 [chan receive]:
runtime.gopark(0xc00013b9e8?, 0x52df25?, 0xc0?, 0xa0?, 0x18?)
C:/Users/henry/Programs/Go/go/src/runtime/proc.go:398 +0xce fp=0xc00013b980 sp=0xc00013b960 pc=0x55c4ae
runtime.chanrecv(0xc000160070, 0xc00013ba67, 0x1)
C:/Users/henry/Programs/Go/go/src/runtime/chan.go:583 +0x3d0 fp=0xc00013b9f8 sp=0xc00013b980 pc=0x527070
runtime.chanrecv1(0x770900?, 0x65c760?)
C:/Users/henry/Programs/Go/go/src/runtime/chan.go:442 +0x12 fp=0xc00013ba20 sp=0xc00013b9f8 pc=0x526c92
testing.(*T).Run(0xc000108680, {0x6840ea?, 0x58fc4d?}, 0x691010)
C:/Users/henry/Programs/Go/go/src/testing/testing.go:1649 +0x3c8 fp=0xc00013bae0 sp=0xc00013ba20 pc=0x5e9aa8
testing.runTests.func1(0x771320?)
C:/Users/henry/Programs/Go/go/src/testing/testing.go:2054 +0x3e fp=0xc00013bb30 sp=0xc00013bae0 pc=0x5ebb5e
testing.tRunner(0xc000108680, 0xc00013bc48)
C:/Users/henry/Programs/Go/go/src/testing/testing.go:1595 +0xff fp=0xc00013bb80 sp=0xc00013bb30 pc=0x5e8c7f
testing.runTests(0xc0001101e0?, {0x643dd0, 0x1, 0x1}, {0x5339a5?, 0xc00013bd08?, 0x770b00?})
C:/Users/henry/Programs/Go/go/src/testing/testing.go:2052 +0x445 fp=0xc00013bc78 sp=0xc00013bb80 pc=0x5eba45
testing.(*M).Run(0xc0001101e0)
C:/Users/henry/Programs/Go/go/src/testing/testing.go:1925 +0x636 fp=0xc00013bec0 sp=0xc00013bc78 pc=0x5ea436
main.main()
_testmain.go:47 +0x19c fp=0xc00013bf40 sp=0xc00013bec0 pc=0x6264fc
runtime.main()
C:/Users/henry/Programs/Go/go/src/runtime/proc.go:267 +0x2b2 fp=0xc00013bfe0 sp=0xc00013bf40 pc=0x55c072
runtime.goexit()
C:/Users/henry/Programs/Go/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc00013bfe8 sp=0xc00013bfe0 pc=0x58adc1

goroutine 2 [force gc (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
C:/Users/henry/Programs/Go/go/src/runtime/proc.go:398 +0xce fp=0xc000057fa8 sp=0xc000057f88 pc=0x55c4ae
runtime.goparkunlock(...)
C:/Users/henry/Programs/Go/go/src/runtime/proc.go:404
runtime.forcegchelper()
C:/Users/henry/Programs/Go/go/src/runtime/proc.go:322 +0xb8 fp=0xc000057fe0 sp=0xc000057fa8 pc=0x55c318
runtime.goexit()
C:/Users/henry/Programs/Go/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc000057fe8 sp=0xc000057fe0 pc=0x58adc1
created by runtime.init.6 in goroutine 1
C:/Users/henry/Programs/Go/go/src/runtime/proc.go:310 +0x1a

goroutine 3 [GC sweep wait]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
C:/Users/henry/Programs/Go/go/src/runtime/proc.go:398 +0xce fp=0xc000059f78 sp=0xc000059f58 pc=0x55c4ae
runtime.goparkunlock(...)
C:/Users/henry/Programs/Go/go/src/runtime/proc.go:404
runtime.bgsweep(0x0?)
C:/Users/henry/Programs/Go/go/src/runtime/mgcsweep.go:280 +0x94 fp=0xc000059fc8 sp=0xc000059f78 pc=0x5450d4
runtime.gcenable.func1()
C:/Users/henry/Programs/Go/go/src/runtime/mgc.go:200 +0x25 fp=0xc000059fe0 sp=0xc000059fc8 pc=0x53a225
runtime.goexit()
C:/Users/henry/Programs/Go/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc000059fe8 sp=0xc000059fe0 pc=0x58adc1
created by runtime.gcenable in goroutine 1
C:/Users/henry/Programs/Go/go/src/runtime/mgc.go:200 +0x66

goroutine 4 [GC scavenge wait]:
runtime.gopark(0xc00001c070?, 0x6b3fb0?, 0x1?, 0x0?, 0xc000054b60?)
C:/Users/henry/Programs/Go/go/src/runtime/proc.go:398 +0xce fp=0xc000069f70 sp=0xc000069f50 pc=0x55c4ae
runtime.goparkunlock(...)
C:/Users/henry/Programs/Go/go/src/runtime/proc.go:404
runtime.(*scavengerState).park(0x770b80)
C:/Users/henry/Programs/Go/go/src/runtime/mgcscavenge.go:425 +0x49 fp=0xc000069fa0 sp=0xc000069f70 pc=0x542969
runtime.bgscavenge(0x0?)
C:/Users/henry/Programs/Go/go/src/runtime/mgcscavenge.go:653 +0x3c fp=0xc000069fc8 sp=0xc000069fa0 pc=0x542efc
runtime.gcenable.func2()
C:/Users/henry/Programs/Go/go/src/runtime/mgc.go:201 +0x25 fp=0xc000069fe0 sp=0xc000069fc8 pc=0x53a1c5
runtime.goexit()
C:/Users/henry/Programs/Go/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc000069fe8 sp=0xc000069fe0 pc=0x58adc1
created by runtime.gcenable in goroutine 1
C:/Users/henry/Programs/Go/go/src/runtime/mgc.go:201 +0xa5

goroutine 18 [finalizer wait]:
runtime.gopark(0x682000?, 0x10055d401?, 0x0?, 0x0?, 0x564825?)
C:/Users/henry/Programs/Go/go/src/runtime/proc.go:398 +0xce fp=0xc00005be28 sp=0xc00005be08 pc=0x55c4ae
runtime.runfinq()
C:/Users/henry/Programs/Go/go/src/runtime/mfinal.go:193 +0x107 fp=0xc00005bfe0 sp=0xc00005be28 pc=0x5392e7
runtime.goexit()
C:/Users/henry/Programs/Go/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc00005bfe8 sp=0xc00005bfe0 pc=0x58adc1
created by runtime.createfing in goroutine 1
C:/Users/henry/Programs/Go/go/src/runtime/mfinal.go:163 +0x3d
rax 0x16
rbx 0x7cbc30
rcx 0xffffffffd03b65da
rdi 0x7cbc30
rsi 0x628210
rbp 0xc000065e68
rsp 0x95121ff590
r8 0x95121ff4b8
r9 0x0
r10 0x0
r11 0x246
r12 0xeaba
r13 0x10000000
r14 0xc0001089c0
r15 0x2c0589
rip 0x629670
rflags 0x10282
cs 0x33
fs 0x53
gs 0x2b
FAIL cmd/cgo/internal/testtls 0.055s
ok cmd/compile/internal/abt 0.055s
ok cmd/compile/internal/amd64 0.102s
ok cmd/compile/internal/base 0.054s
ok cmd/compile/internal/compare 0.069s
ok cmd/compile/internal/dwarfgen 0.867s
ok cmd/compile/internal/importer 9.149s
ok cmd/compile/internal/ir 0.057s
ok cmd/compile/internal/logopt 1.541s
ok cmd/compile/internal/loopvar 0.057s
ok cmd/compile/internal/noder 0.095s
ok cmd/compile/internal/reflectdata 0.087s [no tests to run]
ok cmd/compile/internal/ssa 4.038s
ok cmd/compile/internal/syntax 0.167s
ok cmd/compile/internal/test 15.369s
ok cmd/compile/internal/typecheck 2.873s
ok cmd/compile/internal/types 0.045s
ok cmd/compile/internal/types2 42.777s
ok cmd/covdata 0.121s
ok cmd/cover 5.904s
ok cmd/dist 0.060s
ok cmd/distpack 0.058s
ok cmd/doc 0.810s
ok cmd/fix 17.190s
ok cmd/go 69.165s
ok cmd/go/internal/auth 0.073s
ok cmd/go/internal/cache 1.654s
ok cmd/go/internal/envcmd 0.369s
ok cmd/go/internal/fsys 0.532s
ok cmd/go/internal/generate 0.366s
ok cmd/go/internal/get 0.365s
ok cmd/go/internal/gover 0.052s
ok cmd/go/internal/imports 0.426s
ok cmd/go/internal/load 0.125s
ok cmd/go/internal/lockedfile 0.340s
ok cmd/go/internal/lockedfile/internal/filelock 0.190s
ok cmd/go/internal/modconv 0.089s
ok cmd/go/internal/modfetch 0.272s
ok cmd/go/internal/modfetch/codehost 23.248s
ok cmd/go/internal/modfetch/zip_sum_test 0.075s
ok cmd/go/internal/modindex 0.562s
ok cmd/go/internal/modload 0.686s
ok cmd/go/internal/mvs 0.196s
ok cmd/go/internal/par 0.187s
ok cmd/go/internal/str 0.158s
ok cmd/go/internal/test 1.656s
ok cmd/go/internal/toolchain 0.915s
ok cmd/go/internal/vcs 0.315s
ok cmd/go/internal/vcweb 0.342s
ok cmd/go/internal/vcweb/vcstest 18.700s
ok cmd/go/internal/web 0.081s
ok cmd/go/internal/work 1.736s
ok cmd/gofmt 0.205s
ok cmd/internal/archive 12.095s
ok cmd/internal/bootstrap_test 0.153s
ok cmd/internal/buildid 0.285s
ok cmd/internal/cov 5.708s
ok cmd/internal/dwarf 0.066s
ok cmd/internal/edit 0.073s
ok cmd/internal/goobj 0.076s
ok cmd/internal/moddeps 18.496s
ok cmd/internal/notsha256 0.049s
ok cmd/internal/obj 5.468s
ok cmd/internal/obj/ppc64 6.396s
ok cmd/internal/obj/riscv 3.907s
ok cmd/internal/obj/s390x 0.046s
ok cmd/internal/obj/x86 3.912s
ok cmd/internal/objabi 0.054s
ok cmd/internal/pkgpath 0.449s
ok cmd/internal/pkgpattern 0.048s
ok cmd/internal/quoted 0.080s
ok cmd/internal/src 0.064s
ok cmd/internal/test2json 0.447s
ok cmd/link 13.762s
ok cmd/link/internal/benchmark 0.246s
ok cmd/link/internal/ld 19.033s
ok cmd/link/internal/loader 0.226s
ok cmd/nm 11.376s
ok cmd/objdump 13.768s
ok cmd/pack 10.504s
ok cmd/pprof 6.787s
ok cmd/trace 1.824s
ok cmd/vet 9.861s
FAIL

@henryas
Copy link
Author

henryas commented Aug 9, 2023

Note the previous version, go1.20.7, builds fine. Antivirus has been turned off.

@qmuntal qmuntal added OS-Windows NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. labels Aug 9, 2023
@qmuntal
Copy link
Contributor

qmuntal commented Aug 9, 2023

Haven't investigated the root cause yet, but I looks like cmd/cgo/internal/testtls.TestTLS was being skipped on Windows till CL 496177, which landed in go1.21. Therefore this issue might not be a functionality regression, but that some conditions for running the test are not met.

@aclements (as CL 496177 owner).

@qmuntal qmuntal changed the title Failing Test when Building Go 1.21.0 on Windows from Source. cmd/cgo/internal/testtls: TestTLS fails on Windows Aug 9, 2023
@qmuntal
Copy link
Contributor

qmuntal commented Aug 9, 2023

This test passes on the Go builders and on my machine. @henryas which GCC toolchain are you using?

@henryas
Copy link
Author

henryas commented Aug 9, 2023

I am using tdm-gcc, with gcc version 5.1.0

@henryas
Copy link
Author

henryas commented Aug 9, 2023

Another thing to note is that as the antivirus is turned off, Windows falls back to the Windows Defender. As I build the Go 1.21.0, the Windows Defender Firewall pops up asking for permissions to allow a certain go build temp file to go through the firewall, which I allowed. This does not happen in the earlier Go version.

@qmuntal
Copy link
Contributor

qmuntal commented Aug 9, 2023

I don't think it's related to the antivirus. Can reproduce the issue with tdm-gcc 9.2.0, while it doesn't with stock mingw-w64.

Edit: tdm-gcc had an issue with _Thread_local that resembles the one you are seeing. It was fixed in version 10.3.0: jmeubank/tdm-gcc#18.

Can you try upgrading tdm-gcc to 10.3.0 or later?

@bcmills bcmills added the WaitingForInfo Issue is not actionable because of missing required information, which needs to be provided. label Aug 9, 2023
@henryas
Copy link
Author

henryas commented Aug 10, 2023

Hi. Sorry for the late reply. I tried upgrading to the latest tdm-gcc and it is not working. I am trying other GCC toolchains now. I'll let you know the result.

@henryas
Copy link
Author

henryas commented Aug 10, 2023

I can't get any other distro to work. Here is the log using the latest tdm-gcc:

Building Go cmd/dist using C:\Users\henry\Programs\Go\go1.17.13. (go1.17.13 windows/amd64)
Building Go toolchain1 using C:\Users\henry\Programs\Go\go1.17.13.
Building Go bootstrap cmd/go (go_bootstrap) using Go toolchain1.
Building Go toolchain2 using go_bootstrap and Go toolchain1.
Building Go toolchain3 using go_bootstrap and Go toolchain2.
Building packages and commands for windows/amd64.

Test execution environment.

GOARCH: amd64

CPU: AMD Ryzen 9 5900HX with Radeon Graphics

GOOS: windows

OS Version: 10.0.22621

Testing packages.

ok archive/tar 0.195s
ok archive/zip 0.153s
ok bufio 0.087s
ok bytes 0.183s
ok cmp 0.039s
ok compress/bzip2 0.079s
ok compress/flate 0.374s
ok compress/gzip 1.492s
ok compress/lzw 0.054s
ok compress/zlib 0.069s
ok container/heap 0.049s
ok container/list 0.047s
ok container/ring 0.043s
ok context 0.385s
ok crypto 0.048s
ok crypto/aes 0.060s
ok crypto/cipher 0.052s
ok crypto/des 0.048s
ok crypto/dsa 0.042s
ok crypto/ecdh 0.074s
ok crypto/ecdsa 0.068s
ok crypto/ed25519 0.084s
ok crypto/elliptic 0.050s
ok crypto/hmac 0.048s
ok crypto/internal/alias 0.051s
ok crypto/internal/bigmod 0.213s
ok crypto/internal/boring 0.044s
ok crypto/internal/boring/bcache 0.139s
ok crypto/internal/edwards25519 3.645s
ok crypto/internal/edwards25519/field 2.900s
ok crypto/internal/nistec 0.164s
ok crypto/internal/nistec/fiat 0.049s [no tests to run]
ok crypto/md5 0.043s
ok crypto/rand 0.054s
ok crypto/rc4 0.071s
ok crypto/rsa 0.271s
ok crypto/sha1 0.061s
ok crypto/sha256 0.061s
ok crypto/sha512 0.082s
ok crypto/subtle 0.135s
ok crypto/tls 0.701s
ok crypto/x509 0.346s
ok database/sql 0.677s
ok database/sql/driver 0.045s
ok debug/buildinfo 0.057s
ok debug/dwarf 0.085s
ok debug/elf 0.193s
ok debug/gosym 0.109s
ok debug/macho 0.054s
ok debug/pe 11.137s
ok debug/plan9obj 0.048s
ok embed 0.047s [no tests to run]
ok embed/internal/embedtest 0.040s
ok encoding/ascii85 0.046s
ok encoding/asn1 0.045s
ok encoding/base32 0.077s
ok encoding/base64 0.057s
ok encoding/binary 0.050s
ok encoding/csv 0.049s
ok encoding/gob 1.296s
ok encoding/hex 0.056s
ok encoding/json 0.276s
ok encoding/pem 0.526s
ok encoding/xml 0.126s
ok errors 0.072s
ok expvar 0.081s
ok flag 0.259s
ok fmt 0.109s
ok go/ast 0.079s
ok go/build 2.209s
ok go/build/constraint 0.043s
ok go/constant 0.047s
ok go/doc 0.141s
ok go/doc/comment 1.752s
ok go/format 0.050s
ok go/importer 1.604s
ok go/internal/gccgoimporter 0.148s
ok go/internal/gcimporter 8.815s
ok go/internal/srcimporter 93.243s
ok go/parser 0.281s
ok go/printer 0.232s
ok go/scanner 0.061s
ok go/token 0.083s
ok go/types 21.586s
ok hash 0.091s
ok hash/adler32 0.135s
ok hash/crc32 0.089s
ok hash/crc64 0.105s
ok hash/fnv 0.119s
ok hash/maphash 0.140s
ok html 0.069s
ok html/template 0.162s
ok image 0.101s
ok image/color 0.059s
ok image/draw 0.141s
ok image/gif 0.326s
ok image/jpeg 0.239s
ok image/png 0.294s
ok index/suffixarray 0.181s
ok internal/abi 0.559s
ok internal/buildcfg 0.045s
ok internal/coverage/cformat 0.052s
ok internal/coverage/cmerge 0.051s
ok internal/coverage/pods 0.065s
ok internal/coverage/slicereader 0.052s
ok internal/coverage/slicewriter 0.067s
ok internal/coverage/test 0.069s
ok internal/cpu 0.073s
ok internal/dag 0.072s
ok internal/diff 0.072s
ok internal/fmtsort 0.047s
ok internal/fuzz 0.064s
ok internal/godebug 2.357s
ok internal/godebugs 0.112s
ok internal/intern 0.798s
ok internal/itoa 0.053s
ok internal/platform 1.235s
ok internal/poll 0.058s
ok internal/profile 0.050s
ok internal/reflectlite 0.051s
ok internal/safefilepath 0.054s
ok internal/saferio 0.091s
ok internal/singleflight 0.095s
ok internal/syscall/windows 0.078s
ok internal/syscall/windows/registry 0.072s
ok internal/testenv 0.778s
ok internal/trace 0.103s
ok internal/types/errors 2.020s
ok internal/unsafeheader 0.134s
ok internal/xcoff 0.157s
ok internal/zstd 0.179s
ok io 0.224s
ok io/fs 0.348s
ok io/ioutil 0.060s
ok log 0.053s
ok log/slog 0.115s
ok log/slog/internal/benchmarks 0.055s
ok log/slog/internal/buffer 0.062s
ok maps 0.046s
ok math 0.060s
ok math/big 0.892s
ok math/bits 0.064s
ok math/cmplx 0.062s
ok math/rand 0.191s
ok mime 0.205s
ok mime/multipart 0.805s
ok mime/quotedprintable 0.140s
ok net 6.655s
ok net/http 2.788s
ok net/http/cgi 0.499s
ok net/http/cookiejar 0.062s
ok net/http/fcgi 0.274s
ok net/http/httptest 0.106s
ok net/http/httptrace 0.046s
ok net/http/httputil 0.780s
ok net/http/internal 0.063s
ok net/http/internal/ascii 0.063s
ok net/http/pprof 5.314s
ok net/internal/socktest 0.054s
ok net/mail 0.054s
ok net/netip 0.779s
ok net/rpc 0.179s
ok net/rpc/jsonrpc 0.076s
ok net/smtp 0.107s
ok net/textproto 0.136s
ok net/url 0.056s
ok os 1.239s
ok os/exec 0.677s
ok os/exec/internal/fdtest 0.055s
ok os/signal 2.098s
ok os/user 0.089s
ok path 0.184s
ok path/filepath 1.313s
ok plugin 0.108s
ok reflect 0.284s
ok regexp 0.539s
ok regexp/syntax 0.723s
--- FAIL: TestGdbPython (1.27s)
runtime-gdb_test.go:81: gdb version 10.2
runtime-gdb_test.go:273: gdb output:
Loading Go Runtime support.
No symbol "startup" in current context.
Loaded Script
Yes C:/Users/henry/Programs/Go/go/src/runtime/runtime-gdb.py
full name: C:\Users\henry\Programs\Go\go\src\runtime\runtime-gdb.py
Breakpoint 1 at 0x48584a: file C:/Users/henry/AppData/Local/Temp/TestGdbPython877544693/001/main.go, line 26.
hi

    Thread 1 hit Breakpoint 1, main.main () at C:/Users/henry/AppData/Local/Temp/TestGdbPython877544693/001/main.go:26
    26		gslice = slicevar
    BEGIN info goroutines
    * 1 running  runtime.systemstack_switch
      2 waiting  runtime.gopark
      3 waiting  runtime.gopark
      4 waiting  runtime.gopark
      5 waiting  runtime.gopark
    END
    BEGIN print mapvar
    $1 = map[string]string = {["ghi"] = "jkl", ["abc"] = "def"}
    END
    BEGIN print slicemap
    $2 = map[string][]string = {["a"] = []string = {"b", "c", "d"}, ["e"] = []string = {"f", "g", "h"}}
    END
    BEGIN print strvar
    $3 = "abc"
    END
    BEGIN print chanint
    $4 = chan int = {99, 11}
    END
    BEGIN print chanstr
    $5 = chan string = {"spongepants", "squarebob"}
    END
    BEGIN info locals
    mapvar = map[string]string = {["ghi"] = "jkl", ["abc"] = "def"}
    slicemap = map[string][]string = {["a"] = []string = {"b", "c", "d"}, ["e"] = []string = {"f", "g", "h"}}
    chanint = chan int = {99, 11}
    chanstr = chan string = {"spongepants", "squarebob"}
    ptrvar = <optimized out>
    slicevar = []stringTraceback (most recent call last):
      File "C:\Users\henry\Programs\Go\go\src\runtime\runtime-gdb.py", line 138, in children
        if sval.len > sval.cap:
      File "C:\Users\henry\Programs\Go\go\src\runtime\runtime-gdb.py", line 85, in len
        return int(self.val['len'])
    gdb.error: value has been optimized out
    
    strvar = "abc"
    END
    BEGIN goroutine 1 bt
    #0  main.main () at C:/Users/henry/AppData/Local/Temp/TestGdbPython877544693/001/main.go:26
    END
    BEGIN goroutine all bt
    #0  main.main () at C:/Users/henry/AppData/Local/Temp/TestGdbPython877544693/001/main.go:26
    No such goroutine:  17
    #0  runtime.gopark (unlockf=<optimized out>, lock=<optimized out>, reason=<optimized out>, traceReason=<optimized out>, traceskip=<optimized out>) at C:/Users/henry/Programs/Go/go/src/runtime/proc.go:399
    #1  0x0000000000aa54b8 in runtime.goparkunlock (reason=<optimized out>, traceReason=<optimized out>, traceskip=<optimized out>, lock=<optimized out>) at C:/Users/henry/Programs/Go/go/src/runtime/proc.go:404
    #2  runtime.forcegchelper () at C:/Users/henry/Programs/Go/go/src/runtime/proc.go:322
    #3  0x0000000000accc81 in runtime.goexit () at C:/Users/henry/Programs/Go/go/src/runtime/asm_amd64.s:1650
    #4  0x0000000000000000 in ?? ()
    Backtrace stopped: previous frame inner to this frame (corrupt stack?)
    #0  runtime.gopark (unlockf=<optimized out>, lock=<optimized out>, reason=<optimized out>, traceReason=<optimized out>, traceskip=<optimized out>) at C:/Users/henry/Programs/Go/go/src/runtime/proc.go:399
    #1  0x0000000000a906d4 in runtime.goparkunlock (reason=<optimized out>, traceReason=<optimized out>, traceskip=<optimized out>, lock=<optimized out>) at C:/Users/henry/Programs/Go/go/src/runtime/proc.go:404
    #2  runtime.bgsweep (c=chan int) at C:/Users/henry/Programs/Go/go/src/runtime/mgcsweep.go:280
    #3  0x0000000000a85a25 in runtime.gcenable.func1 () at C:/Users/henry/Programs/Go/go/src/runtime/mgc.go:200
    #4  0x0000000000accc81 in runtime.goexit () at C:/Users/henry/Programs/Go/go/src/runtime/asm_amd64.s:1650
    #5  0x0000000000000000 in ?? ()
    Backtrace stopped: previous frame inner to this frame (corrupt stack?)
    #0  runtime.gopark (unlockf=<optimized out>, lock=<optimized out>, reason=<optimized out>, traceReason=<optimized out>, traceskip=<optimized out>) at C:/Users/henry/Programs/Go/go/src/runtime/proc.go:399
    #1  0x0000000000a8df69 in runtime.goparkunlock (reason=<optimized out>, traceReason=<optimized out>, traceskip=<optimized out>, lock=<optimized out>) at C:/Users/henry/Programs/Go/go/src/runtime/proc.go:404
    #2  runtime.(*scavengerState).park (s=0xba4720) at C:/Users/henry/Programs/Go/go/src/runtime/mgcscavenge.go:425
    #3  0x0000000000a8e4fc in runtime.bgscavenge (c=chan int) at C:/Users/henry/Programs/Go/go/src/runtime/mgcscavenge.go:653
    #4  0x0000000000a859c5 in runtime.gcenable.func2 () at C:/Users/henry/Programs/Go/go/src/runtime/mgc.go:201
    #5  0x0000000000accc81 in runtime.goexit () at C:/Users/henry/Programs/Go/go/src/runtime/asm_amd64.s:1650
    #6  0x0000000000000000 in ?? ()
    Backtrace stopped: previous frame inner to this frame (corrupt stack?)
    #0  runtime.gopark (unlockf=<optimized out>, lock=<optimized out>, reason=<optimized out>, traceReason=<optimized out>, traceskip=<optimized out>) at C:/Users/henry/Programs/Go/go/src/runtime/proc.go:399
    #1  0x0000000000a84ae7 in runtime.runfinq () at C:/Users/henry/Programs/Go/go/src/runtime/mfinal.go:193
    #2  0x0000000000accc81 in runtime.goexit () at C:/Users/henry/Programs/Go/go/src/runtime/asm_amd64.s:1650
    #3  0x0000000000000000 in ?? ()
    Backtrace stopped: previous frame inner to this frame (corrupt stack?)
    END
    No breakpoint at main.go:15.
    Breakpoint 2 at 0xaf597e: file C:/Users/henry/AppData/Local/Temp/TestGdbPython877544693/001/main.go, line 29.
    map[a:[b c d] e:[f g h]], 99, spongepants
    
    Thread 1 hit Breakpoint 2, main.main () at C:/Users/henry/AppData/Local/Temp/TestGdbPython877544693/001/main.go:29
    29	}  // END_OF_PROGRAM
    BEGIN goroutine 1 bt at the end
    #0  main.main () at C:/Users/henry/AppData/Local/Temp/TestGdbPython877544693/001/main.go:29
    END
runtime-gdb_test.go:292: package testing source file: C:/Users/henry/Programs/Go/go/src/runtime/runtime-gdb_test.go
runtime-gdb_test.go:293: failed to load Go runtime support: Loading Go Runtime support.
    Loading Go Runtime support.
    No symbol "startup" in current context.
    Loaded  Script                                                                 
    Yes     C:/Users/henry/Programs/Go/go/src/runtime/runtime-gdb.py               
    	full name: C:\Users\henry\Programs\Go\go\src\runtime\runtime-gdb.py
    Breakpoint 1 at 0x48584a: file C:/Users/henry/AppData/Local/Temp/TestGdbPython877544693/001/main.go, line 26.
    hi
    
    Thread 1 hit Breakpoint 1, main.main () at C:/Users/henry/AppData/Local/Temp/TestGdbPython877544693/001/main.go:26
    26		gslice = slicevar
    BEGIN info goroutines
    * 1 running  runtime.systemstack_switch
      2 waiting  runtime.gopark
      3 waiting  runtime.gopark
      4 waiting  runtime.gopark
      5 waiting  runtime.gopark
    END
    BEGIN print mapvar
    $1 = map[string]string = {["ghi"] = "jkl", ["abc"] = "def"}
    END
    BEGIN print slicemap
    $2 = map[string][]string = {["a"] = []string = {"b", "c", "d"}, ["e"] = []string = {"f", "g", "h"}}
    END
    BEGIN print strvar
    $3 = "abc"
    END
    BEGIN print chanint
    $4 = chan int = {99, 11}
    END
    BEGIN print chanstr
    $5 = chan string = {"spongepants", "squarebob"}
    END
    BEGIN info locals
    mapvar = map[string]string = {["ghi"] = "jkl", ["abc"] = "def"}
    slicemap = map[string][]string = {["a"] = []string = {"b", "c", "d"}, ["e"] = []string = {"f", "g", "h"}}
    chanint = chan int = {99, 11}
    chanstr = chan string = {"spongepants", "squarebob"}
    ptrvar = <optimized out>
    slicevar = []stringTraceback (most recent call last):
      File "C:\Users\henry\Programs\Go\go\src\runtime\runtime-gdb.py", line 138, in children
        if sval.len > sval.cap:
      File "C:\Users\henry\Programs\Go\go\src\runtime\runtime-gdb.py", line 85, in len
        return int(self.val['len'])
    gdb.error: value has been optimized out
    
    strvar = "abc"
    END
    BEGIN goroutine 1 bt
    #0  main.main () at C:/Users/henry/AppData/Local/Temp/TestGdbPython877544693/001/main.go:26
    END
    BEGIN goroutine all bt
    #0  main.main () at C:/Users/henry/AppData/Local/Temp/TestGdbPython877544693/001/main.go:26
    No such goroutine:  17
    #0  runtime.gopark (unlockf=<optimized out>, lock=<optimized out>, reason=<optimized out>, traceReason=<optimized out>, traceskip=<optimized out>) at C:/Users/henry/Programs/Go/go/src/runtime/proc.go:399
    #1  0x0000000000aa54b8 in runtime.goparkunlock (reason=<optimized out>, traceReason=<optimized out>, traceskip=<optimized out>, lock=<optimized out>) at C:/Users/henry/Programs/Go/go/src/runtime/proc.go:404
    #2  runtime.forcegchelper () at C:/Users/henry/Programs/Go/go/src/runtime/proc.go:322
    #3  0x0000000000accc81 in runtime.goexit () at C:/Users/henry/Programs/Go/go/src/runtime/asm_amd64.s:1650
    #4  0x0000000000000000 in ?? ()
    Backtrace stopped: previous frame inner to this frame (corrupt stack?)
    #0  runtime.gopark (unlockf=<optimized out>, lock=<optimized out>, reason=<optimized out>, traceReason=<optimized out>, traceskip=<optimized out>) at C:/Users/henry/Programs/Go/go/src/runtime/proc.go:399
    #1  0x0000000000a906d4 in runtime.goparkunlock (reason=<optimized out>, traceReason=<optimized out>, traceskip=<optimized out>, lock=<optimized out>) at C:/Users/henry/Programs/Go/go/src/runtime/proc.go:404
    #2  runtime.bgsweep (c=chan int) at C:/Users/henry/Programs/Go/go/src/runtime/mgcsweep.go:280
    #3  0x0000000000a85a25 in runtime.gcenable.func1 () at C:/Users/henry/Programs/Go/go/src/runtime/mgc.go:200
    #4  0x0000000000accc81 in runtime.goexit () at C:/Users/henry/Programs/Go/go/src/runtime/asm_amd64.s:1650
    #5  0x0000000000000000 in ?? ()
    Backtrace stopped: previous frame inner to this frame (corrupt stack?)
    #0  runtime.gopark (unlockf=<optimized out>, lock=<optimized out>, reason=<optimized out>, traceReason=<optimized out>, traceskip=<optimized out>) at C:/Users/henry/Programs/Go/go/src/runtime/proc.go:399
    #1  0x0000000000a8df69 in runtime.goparkunlock (reason=<optimized out>, traceReason=<optimized out>, traceskip=<optimized out>, lock=<optimized out>) at C:/Users/henry/Programs/Go/go/src/runtime/proc.go:404
    #2  runtime.(*scavengerState).park (s=0xba4720) at C:/Users/henry/Programs/Go/go/src/runtime/mgcscavenge.go:425
    #3  0x0000000000a8e4fc in runtime.bgscavenge (c=chan int) at C:/Users/henry/Programs/Go/go/src/runtime/mgcscavenge.go:653
    #4  0x0000000000a859c5 in runtime.gcenable.func2 () at C:/Users/henry/Programs/Go/go/src/runtime/mgc.go:201
    #5  0x0000000000accc81 in runtime.goexit () at C:/Users/henry/Programs/Go/go/src/runtime/asm_amd64.s:1650
    #6  0x0000000000000000 in ?? ()
    Backtrace stopped: previous frame inner to this frame (corrupt stack?)
    #0  runtime.gopark (unlockf=<optimized out>, lock=<optimized out>, reason=<optimized out>, traceReason=<optimized out>, traceskip=<optimized out>) at C:/Users/henry/Programs/Go/go/src/runtime/proc.go:399
    #1  0x0000000000a84ae7 in runtime.runfinq () at C:/Users/henry/Programs/Go/go/src/runtime/mfinal.go:193
    #2  0x0000000000accc81 in runtime.goexit () at C:/Users/henry/Programs/Go/go/src/runtime/asm_amd64.s:1650
    #3  0x0000000000000000 in ?? ()
    Backtrace stopped: previous frame inner to this frame (corrupt stack?)
    END
    No breakpoint at main.go:15.
    Breakpoint 2 at 0xaf597e: file C:/Users/henry/AppData/Local/Temp/TestGdbPython877544693/001/main.go, line 29.
    map[a:[b c d] e:[f g h]], 99, spongepants
    
    Thread 1 hit Breakpoint 2, main.main () at C:/Users/henry/AppData/Local/Temp/TestGdbPython877544693/001/main.go:29
    29	}  // END_OF_PROGRAM
    BEGIN goroutine 1 bt at the end
    #0  main.main () at C:/Users/henry/AppData/Local/Temp/TestGdbPython877544693/001/main.go:29
    END

--- FAIL: TestGdbPythonCgo (2.30s)
runtime-gdb_test.go:81: gdb version 10.2
runtime-gdb_test.go:273: gdb output:
Loading Go Runtime support.
No symbol "startup" in current context.
Loading Go Runtime support.
Breakpoint 1 at 0x140085f8a: file C:/Users/henry/AppData/Local/Temp/TestGdbPythonCgo3620824344/001/main.go, line 27.
hi

    Thread 1 hit Breakpoint 1, main.main () at C:/Users/henry/AppData/Local/Temp/TestGdbPythonCgo3620824344/001/main.go:27
    27		gslice = slicevar
    BEGIN info goroutines
    * 1 running  runtime.systemstack_switch
      2 waiting  runtime.gopark
      3 waiting  runtime.gopark
      4 waiting  runtime.gopark
      18 waiting  runtime.gopark
    END
    BEGIN print mapvar
    $1 = map[string]string = {["abc"] = "def", ["ghi"] = "jkl"}
    END
    BEGIN print slicemap
    $2 = map[string][]string = {["a"] = []string = {"b", "c", "d"}, ["e"] = []string = {"f", "g", "h"}}
    END
    BEGIN print strvar
    $3 = "abc"
    END
    BEGIN print chanint
    $4 = chan int = {99, 11}
    END
    BEGIN print chanstr
    $5 = chan string = {"spongepants", "squarebob"}
    END
    BEGIN info locals
    mapvar = map[string]string = {["abc"] = "def", ["ghi"] = "jkl"}
    slicemap = map[string][]string = {["a"] = []string = {"b", "c", "d"}, ["e"] = []string = {"f", "g", "h"}}
    chanint = chan int = {99, 11}
    chanstr = chan string = {"spongepants", "squarebob"}
    ptrvar = <optimized out>
    slicevar = []stringTraceback (most recent call last):
      File "C:\Users\henry\Programs\Go\go\src\runtime\runtime-gdb.py", line 138, in children
        if sval.len > sval.cap:
      File "C:\Users\henry\Programs\Go\go\src\runtime\runtime-gdb.py", line 85, in len
        return int(self.val['len'])
    gdb.error: value has been optimized out
    
    strvar = "abc"
    END
    BEGIN goroutine 1 bt
    #0  main.main () at C:/Users/henry/AppData/Local/Temp/TestGdbPythonCgo3620824344/001/main.go:27
    END
    BEGIN goroutine all bt
    #0  main.main () at C:/Users/henry/AppData/Local/Temp/TestGdbPythonCgo3620824344/001/main.go:27
    No such goroutine:  17
    #0  runtime.gopark (unlockf=<optimized out>, lock=<optimized out>, reason=<optimized out>, traceReason=<optimized out>, traceskip=<optimized out>) at C:/Users/henry/Programs/Go/go/src/runtime/proc.go:399
    #1  0x00007ff6e99c5ab8 in runtime.goparkunlock (reason=<optimized out>, traceReason=<optimized out>, traceskip=<optimized out>, lock=<optimized out>) at C:/Users/henry/Programs/Go/go/src/runtime/proc.go:404
    #2  runtime.forcegchelper () at C:/Users/henry/Programs/Go/go/src/runtime/proc.go:322
    #3  0x00007ff6e99ed2a1 in runtime.goexit () at C:/Users/henry/Programs/Go/go/src/runtime/asm_amd64.s:1650
    #4  0x0000000000000000 in ?? ()
    Backtrace stopped: previous frame inner to this frame (corrupt stack?)
    #0  runtime.gopark (unlockf=<optimized out>, lock=<optimized out>, reason=<optimized out>, traceReason=<optimized out>, traceskip=<optimized out>) at C:/Users/henry/Programs/Go/go/src/runtime/proc.go:399
    #1  0x00007ff6e99b0cd4 in runtime.goparkunlock (reason=<optimized out>, traceReason=<optimized out>, traceskip=<optimized out>, lock=<optimized out>) at C:/Users/henry/Programs/Go/go/src/runtime/proc.go:404
    #2  runtime.bgsweep (c=chan int) at C:/Users/henry/Programs/Go/go/src/runtime/mgcsweep.go:280
    #3  0x00007ff6e99a6025 in runtime.gcenable.func1 () at C:/Users/henry/Programs/Go/go/src/runtime/mgc.go:200
    #4  0x00007ff6e99ed2a1 in runtime.goexit () at C:/Users/henry/Programs/Go/go/src/runtime/asm_amd64.s:1650
    #5  0x0000000000000000 in ?? ()
    Backtrace stopped: previous frame inner to this frame (corrupt stack?)
    #0  runtime.gopark (unlockf=<optimized out>, lock=<optimized out>, reason=<optimized out>, traceReason=<optimized out>, traceskip=<optimized out>) at C:/Users/henry/Programs/Go/go/src/runtime/proc.go:399
    #1  0x00007ff6e99ae569 in runtime.goparkunlock (reason=<optimized out>, traceReason=<optimized out>, traceskip=<optimized out>, lock=<optimized out>) at C:/Users/henry/Programs/Go/go/src/runtime/proc.go:404
    #2  runtime.(*scavengerState).park (s=0x7ff6e9add640 <runtime.scavenger>) at C:/Users/henry/Programs/Go/go/src/runtime/mgcscavenge.go:425
    #3  0x00007ff6e99aeafc in runtime.bgscavenge (c=chan int) at C:/Users/henry/Programs/Go/go/src/runtime/mgcscavenge.go:653
    #4  0x00007ff6e99a5fc5 in runtime.gcenable.func2 () at C:/Users/henry/Programs/Go/go/src/runtime/mgc.go:201
    #5  0x00007ff6e99ed2a1 in runtime.goexit () at C:/Users/henry/Programs/Go/go/src/runtime/asm_amd64.s:1650
    #6  0x0000000000000000 in ?? ()
    Backtrace stopped: previous frame inner to this frame (corrupt stack?)
    #0  runtime.gopark (unlockf=<optimized out>, lock=<optimized out>, reason=<optimized out>, traceReason=<optimized out>, traceskip=<optimized out>) at C:/Users/henry/Programs/Go/go/src/runtime/proc.go:399
    #1  0x00007ff6e99a50e7 in runtime.runfinq () at C:/Users/henry/Programs/Go/go/src/runtime/mfinal.go:193
    #2  0x00007ff6e99ed2a1 in runtime.goexit () at C:/Users/henry/Programs/Go/go/src/runtime/asm_amd64.s:1650
    #3  0x0000000000000000 in ?? ()
    Backtrace stopped: previous frame inner to this frame (corrupt stack?)
    END
    No breakpoint at main.go:15.
    Breakpoint 2 at 0x7ff6e9a160be: file C:/Users/henry/AppData/Local/Temp/TestGdbPythonCgo3620824344/001/main.go, line 30.
    map[a:[b c d] e:[f g h]], 99, spongepants
    
    Thread 1 hit Breakpoint 2, main.main () at C:/Users/henry/AppData/Local/Temp/TestGdbPythonCgo3620824344/001/main.go:30
    30	}  // END_OF_PROGRAM
    BEGIN goroutine 1 bt at the end
    #0  main.main () at C:/Users/henry/AppData/Local/Temp/TestGdbPythonCgo3620824344/001/main.go:30
    END
runtime-gdb_test.go:292: package testing source file: C:/Users/henry/Programs/Go/go/src/runtime/runtime-gdb_test.go
runtime-gdb_test.go:293: failed to load Go runtime support: Loading Go Runtime support.
    Loading Go Runtime support.
    No symbol "startup" in current context.
    Loading Go Runtime support.
    Breakpoint 1 at 0x140085f8a: file C:/Users/henry/AppData/Local/Temp/TestGdbPythonCgo3620824344/001/main.go, line 27.
    hi
    
    Thread 1 hit Breakpoint 1, main.main () at C:/Users/henry/AppData/Local/Temp/TestGdbPythonCgo3620824344/001/main.go:27
    27		gslice = slicevar
    BEGIN info goroutines
    * 1 running  runtime.systemstack_switch
      2 waiting  runtime.gopark
      3 waiting  runtime.gopark
      4 waiting  runtime.gopark
      18 waiting  runtime.gopark
    END
    BEGIN print mapvar
    $1 = map[string]string = {["abc"] = "def", ["ghi"] = "jkl"}
    END
    BEGIN print slicemap
    $2 = map[string][]string = {["a"] = []string = {"b", "c", "d"}, ["e"] = []string = {"f", "g", "h"}}
    END
    BEGIN print strvar
    $3 = "abc"
    END
    BEGIN print chanint
    $4 = chan int = {99, 11}
    END
    BEGIN print chanstr
    $5 = chan string = {"spongepants", "squarebob"}
    END
    BEGIN info locals
    mapvar = map[string]string = {["abc"] = "def", ["ghi"] = "jkl"}
    slicemap = map[string][]string = {["a"] = []string = {"b", "c", "d"}, ["e"] = []string = {"f", "g", "h"}}
    chanint = chan int = {99, 11}
    chanstr = chan string = {"spongepants", "squarebob"}
    ptrvar = <optimized out>
    slicevar = []stringTraceback (most recent call last):
      File "C:\Users\henry\Programs\Go\go\src\runtime\runtime-gdb.py", line 138, in children
        if sval.len > sval.cap:
      File "C:\Users\henry\Programs\Go\go\src\runtime\runtime-gdb.py", line 85, in len
        return int(self.val['len'])
    gdb.error: value has been optimized out
    
    strvar = "abc"
    END
    BEGIN goroutine 1 bt
    #0  main.main () at C:/Users/henry/AppData/Local/Temp/TestGdbPythonCgo3620824344/001/main.go:27
    END
    BEGIN goroutine all bt
    #0  main.main () at C:/Users/henry/AppData/Local/Temp/TestGdbPythonCgo3620824344/001/main.go:27
    No such goroutine:  17
    #0  runtime.gopark (unlockf=<optimized out>, lock=<optimized out>, reason=<optimized out>, traceReason=<optimized out>, traceskip=<optimized out>) at C:/Users/henry/Programs/Go/go/src/runtime/proc.go:399
    #1  0x00007ff6e99c5ab8 in runtime.goparkunlock (reason=<optimized out>, traceReason=<optimized out>, traceskip=<optimized out>, lock=<optimized out>) at C:/Users/henry/Programs/Go/go/src/runtime/proc.go:404
    #2  runtime.forcegchelper () at C:/Users/henry/Programs/Go/go/src/runtime/proc.go:322
    #3  0x00007ff6e99ed2a1 in runtime.goexit () at C:/Users/henry/Programs/Go/go/src/runtime/asm_amd64.s:1650
    #4  0x0000000000000000 in ?? ()
    Backtrace stopped: previous frame inner to this frame (corrupt stack?)
    #0  runtime.gopark (unlockf=<optimized out>, lock=<optimized out>, reason=<optimized out>, traceReason=<optimized out>, traceskip=<optimized out>) at C:/Users/henry/Programs/Go/go/src/runtime/proc.go:399
    #1  0x00007ff6e99b0cd4 in runtime.goparkunlock (reason=<optimized out>, traceReason=<optimized out>, traceskip=<optimized out>, lock=<optimized out>) at C:/Users/henry/Programs/Go/go/src/runtime/proc.go:404
    #2  runtime.bgsweep (c=chan int) at C:/Users/henry/Programs/Go/go/src/runtime/mgcsweep.go:280
    #3  0x00007ff6e99a6025 in runtime.gcenable.func1 () at C:/Users/henry/Programs/Go/go/src/runtime/mgc.go:200
    #4  0x00007ff6e99ed2a1 in runtime.goexit () at C:/Users/henry/Programs/Go/go/src/runtime/asm_amd64.s:1650
    #5  0x0000000000000000 in ?? ()
    Backtrace stopped: previous frame inner to this frame (corrupt stack?)
    #0  runtime.gopark (unlockf=<optimized out>, lock=<optimized out>, reason=<optimized out>, traceReason=<optimized out>, traceskip=<optimized out>) at C:/Users/henry/Programs/Go/go/src/runtime/proc.go:399
    #1  0x00007ff6e99ae569 in runtime.goparkunlock (reason=<optimized out>, traceReason=<optimized out>, traceskip=<optimized out>, lock=<optimized out>) at C:/Users/henry/Programs/Go/go/src/runtime/proc.go:404
    #2  runtime.(*scavengerState).park (s=0x7ff6e9add640 <runtime.scavenger>) at C:/Users/henry/Programs/Go/go/src/runtime/mgcscavenge.go:425
    #3  0x00007ff6e99aeafc in runtime.bgscavenge (c=chan int) at C:/Users/henry/Programs/Go/go/src/runtime/mgcscavenge.go:653
    #4  0x00007ff6e99a5fc5 in runtime.gcenable.func2 () at C:/Users/henry/Programs/Go/go/src/runtime/mgc.go:201
    #5  0x00007ff6e99ed2a1 in runtime.goexit () at C:/Users/henry/Programs/Go/go/src/runtime/asm_amd64.s:1650
    #6  0x0000000000000000 in ?? ()
    Backtrace stopped: previous frame inner to this frame (corrupt stack?)
    #0  runtime.gopark (unlockf=<optimized out>, lock=<optimized out>, reason=<optimized out>, traceReason=<optimized out>, traceskip=<optimized out>) at C:/Users/henry/Programs/Go/go/src/runtime/proc.go:399
    #1  0x00007ff6e99a50e7 in runtime.runfinq () at C:/Users/henry/Programs/Go/go/src/runtime/mfinal.go:193
    #2  0x00007ff6e99ed2a1 in runtime.goexit () at C:/Users/henry/Programs/Go/go/src/runtime/asm_amd64.s:1650
    #3  0x0000000000000000 in ?? ()
    Backtrace stopped: previous frame inner to this frame (corrupt stack?)
    END
    No breakpoint at main.go:15.
    Breakpoint 2 at 0x7ff6e9a160be: file C:/Users/henry/AppData/Local/Temp/TestGdbPythonCgo3620824344/001/main.go, line 30.
    map[a:[b c d] e:[f g h]], 99, spongepants
    
    Thread 1 hit Breakpoint 2, main.main () at C:/Users/henry/AppData/Local/Temp/TestGdbPythonCgo3620824344/001/main.go:30
    30	}  // END_OF_PROGRAM
    BEGIN goroutine 1 bt at the end
    #0  main.main () at C:/Users/henry/AppData/Local/Temp/TestGdbPythonCgo3620824344/001/main.go:30
    END

FAIL
FAIL runtime 126.734s
ok runtime/cgo 0.044s
ok runtime/coverage 0.056s
ok runtime/debug 0.135s
ok runtime/internal/atomic 0.076s
ok runtime/internal/math 0.046s
ok runtime/internal/sys 0.044s
ok runtime/internal/wasitest 0.055s
ok runtime/metrics 0.053s
ok runtime/pprof 13.385s
ok runtime/trace 2.383s
ok slices 0.096s
ok sort 0.075s
ok strconv 0.321s
ok strings 0.120s
ok sync 0.969s
ok sync/atomic 1.140s
ok syscall 6.472s
ok testing 1.657s
ok testing/fstest 0.050s
ok testing/iotest 0.047s
ok testing/quick 0.091s
ok testing/slogtest 0.045s
ok text/scanner 0.056s
ok text/tabwriter 0.049s
ok text/template 0.092s
ok text/template/parse 0.059s
ok time 2.261s
ok unicode 0.044s
ok unicode/utf16 0.042s
ok unicode/utf8 0.044s
ok cmd/addr2line 1.239s
ok cmd/api 1.138s
ok cmd/asm/internal/asm 0.557s
ok cmd/asm/internal/lex 0.043s
ok cmd/cgo/internal/swig 0.157s
ok cmd/cgo/internal/test 0.502s
ok cmd/cgo/internal/testcarchive 0.046s
ok cmd/cgo/internal/testcshared 0.045s
ok cmd/cgo/internal/testerrors 51.628s
ok cmd/cgo/internal/testfortran 0.197s
ok cmd/cgo/internal/testgodefs 4.123s
ok cmd/cgo/internal/testlife 2.926s
ok cmd/cgo/internal/testnocgo 0.044s
ok cmd/cgo/internal/testplugin 0.050s
ok cmd/cgo/internal/testsanitizers 0.058s [no tests to run]
ok cmd/cgo/internal/testshared 0.057s
ok cmd/cgo/internal/testso 9.362s
ok cmd/cgo/internal/teststdio 9.904s
ok cmd/cgo/internal/testtls 0.040s
ok cmd/compile/internal/abt 0.043s
ok cmd/compile/internal/amd64 0.074s
ok cmd/compile/internal/base 0.043s
ok cmd/compile/internal/compare 0.049s
ok cmd/compile/internal/dwarfgen 0.845s
ok cmd/compile/internal/importer 10.663s
ok cmd/compile/internal/ir 0.072s
ok cmd/compile/internal/logopt 1.451s
ok cmd/compile/internal/loopvar 0.057s
ok cmd/compile/internal/noder 0.102s
ok cmd/compile/internal/reflectdata 0.068s [no tests to run]
ok cmd/compile/internal/ssa 4.072s
ok cmd/compile/internal/syntax 0.138s
ok cmd/compile/internal/test 14.305s
ok cmd/compile/internal/typecheck 1.852s
ok cmd/compile/internal/types 0.045s
ok cmd/compile/internal/types2 91.754s
ok cmd/covdata 0.118s
ok cmd/cover 5.324s
ok cmd/dist 0.047s
ok cmd/distpack 0.045s
ok cmd/doc 1.356s
ok cmd/fix 72.905s
ok cmd/go 113.495s
ok cmd/go/internal/auth 0.061s
ok cmd/go/internal/cache 1.635s
ok cmd/go/internal/envcmd 0.283s
ok cmd/go/internal/fsys 0.442s
ok cmd/go/internal/generate 0.367s
ok cmd/go/internal/get 0.220s
ok cmd/go/internal/gover 0.043s
ok cmd/go/internal/imports 0.394s
ok cmd/go/internal/load 0.074s
ok cmd/go/internal/lockedfile 0.272s
ok cmd/go/internal/lockedfile/internal/filelock 0.153s
ok cmd/go/internal/modconv 0.072s
ok cmd/go/internal/modfetch 0.169s
ok cmd/go/internal/modfetch/codehost 81.523s
ok cmd/go/internal/modfetch/zip_sum_test 0.081s
ok cmd/go/internal/modindex 0.360s
ok cmd/go/internal/modload 0.083s
ok cmd/go/internal/mvs 0.053s
ok cmd/go/internal/par 0.063s
ok cmd/go/internal/str 0.043s
ok cmd/go/internal/test 2.319s
ok cmd/go/internal/toolchain 0.550s
ok cmd/go/internal/vcs 0.093s
ok cmd/go/internal/vcweb 0.100s
ok cmd/go/internal/vcweb/vcstest 80.061s
ok cmd/go/internal/web 0.074s
ok cmd/go/internal/work 0.798s
ok cmd/gofmt 0.093s
ok cmd/internal/archive 67.175s
ok cmd/internal/bootstrap_test 0.060s
ok cmd/internal/buildid 0.182s
ok cmd/internal/cov 6.077s
ok cmd/internal/dwarf 0.061s
ok cmd/internal/edit 0.060s
ok cmd/internal/goobj 0.055s
ok cmd/internal/moddeps 9.304s
ok cmd/internal/notsha256 0.090s
ok cmd/internal/obj 6.230s
ok cmd/internal/obj/ppc64 8.161s
ok cmd/internal/obj/riscv 3.393s
ok cmd/internal/obj/s390x 0.061s
ok cmd/internal/obj/x86 4.236s
ok cmd/internal/objabi 0.335s
ok cmd/internal/pkgpath 1.530s
ok cmd/internal/pkgpattern 0.293s
ok cmd/internal/quoted 0.460s
ok cmd/internal/src 0.300s
ok cmd/internal/test2json 0.411s
ok cmd/link 66.334s
ok cmd/link/internal/benchmark 0.603s
ok cmd/link/internal/ld 67.944s
ok cmd/link/internal/loader 0.752s
ok cmd/nm 60.960s
ok cmd/objdump 63.415s
ok cmd/pack 56.831s
ok cmd/pprof 28.374s
ok cmd/trace 25.814s
ok cmd/vet 34.651s
FAIL

@qmuntal
Copy link
Contributor

qmuntal commented Aug 11, 2023

Are you sure that you are using tdm-gcc 10.3.0? I can't reproduce the failure when using it:

gcc --version
gcc (tdm64-1) 10.3.0
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

go test -run TestTLS -count 1 -v cmd/cgo/internal/testtls
=== RUN   TestTLS
--- PASS: TestTLS (0.00s)
PASS
ok      cmd/cgo/internal/testtls        0.053s

@henryas
Copy link
Author

henryas commented Aug 12, 2023

@qmuntal Thanks for the reply. With the latest tdm-gcc, there is no problem with with the TestTLS. However, it gives other errors with TestGDBPython and TestGDBPythonCgo as mentioned earlier. When you run all.bat on your machine with the latest tdm-gcc, do you encounter the same errors?

@henryas
Copy link
Author

henryas commented Aug 12, 2023

I managed to get this to work using GCC from Winlibs (winlibs.com). It builds without any problem using Winlibs' GCC version 13.2.0. I tried Cygwin, Msys2, etc. and they do not work. It looks like a code compatibility issue with various flavors of GCC distributions for Microsoft Windows. I don't know whether this is something that needs fixing on Go's end or their ends, but feel free to close the issue if the maintainers/admins think it is appropriate. Thank you.

@qmuntal
Copy link
Contributor

qmuntal commented Oct 18, 2023

@henryas I was able to reproduce the TestGDBPython/TestGdbPythonCgo. See CL 532816 and CL 534097.

Thanks for reporting and your patience!

@qmuntal qmuntal closed this as completed Oct 18, 2023
@qmuntal qmuntal removed WaitingForInfo Issue is not actionable because of missing required information, which needs to be provided. NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. labels Oct 18, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants