Description
Go version
go version 1.21
Output of go env
in your module/workspace:
GO111MODULE='off'
GOARCH='amd64'
GOBIN=''
GOCACHE='/home/test/.cache/go-build'
GOENV='/home/test/.config/go/env'
GOEXE=''
GOEXPERIMENT=''
GOFLAGS='-mod=vendor'
GOHOSTARCH='amd64'
GOHOSTOS='linux'
GOINSECURE=''
GOMODCACHE='/home/test/go/pkg/mod'
GONOPROXY='gitlab.protectv.local'
GONOSUMDB='gitlab.protectv.local'
GOOS='linux'
GOPATH='/home/test/go'
GOPRIVATE='gitlab.protectv.local'
GOPROXY='
https://proxy.golang.org,direct'
GOROOT='/usr/local/go'
GOSUMDB='sum.golang.org'
GOTMPDIR=''
GOTOOLCHAIN='auto'
GOTOOLDIR='/usr/local/go/pkg/tool/linux_amd64'
GOVCS=''
GOVERSION='go1.21'
GCCGO='gccgo'
GOAMD64='v1'
AR='ar'
CC='gcc'
CXX='g++'
CGO_ENABLED='1'
GOMOD=''
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 -Wl,--no-gc-sections -fmessage-length=0 -ffile-prefix-map=/tmp/go-build4217941611=/tmp/go-build -gno-record-gcc-switches'
What did you do?
I have a Golang server that is accepting TLS connections from an OpenSSL client. The OpenSSL client is on version OpenSSL 1.0.2k.
The client tries to connect with the server in TLS mode in parallel threads.
What did you see happen?
If I increase the thread count to 100 and try to connect with the server simultaneously. The TLS connection breaks with the error from the client side with the error "Fatal, Description: Unexpected Message"
This use case works work with Golang 1.18. Moreover, if I reduce the thread count to 50, then no error comes.
I think something has changed in the new releases of the Golang which is causing errors if the client tries to connect with the Golang server simultaneously in a large number of threads.
What did you expect to see?
The Golang server should accept connections in parallel as it was working with Golang 1.18.