-
Notifications
You must be signed in to change notification settings - Fork 18k
net/http: BenchmarkClientServerParallelTLS64 sometimes reports an error #24525
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
Comments
Hi, does anyone know the problem? |
I can confirm this bug in my box
|
@mengzhuo Yes, the issue also exists on x86. |
@mengzhuo I'm not sure, the error message comes from tlsConn.Handshake(), I don't know why there is a connection at this stage after the server is closed. |
@FiloSottile Hi, do you know the cause of this problem? I have been investigating this issue for some time, but I still do not understand it. Can you give me some suggestions? Thanks! |
This is the other error information I've observed. 15:22:49 BenchmarkClientServerParallel64-96 2000 668230 ns/op 21286 B/op 124 allocs/op |
Looks like this is still an issue. Besides being a bug with this specific benchmark, it's a slight annoyance since it corrupts standard library benchmark output, therefore it does not parse correctly with standard tools (
|
Please answer these questions before submitting your issue. Thanks!
What version of Go are you using (
go version
)?go version devel +cc155eb
Does this issue reproduce with the latest release?
Yes.
What operating system and processor architecture are you using (
go env
)?GOARCH="arm64"
GOBIN=""
GOCACHE="/home/*/.cache/go-build"
GOEXE=""
GOHOSTARCH="arm64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/username/go"
GORACE=""
GOROOT="/home/username/go-temp"
GOTMPDIR=""
GOTOOLDIR="/home/username/go-temp/pkg/tool/linux_arm64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build212786936=/tmp/go-build -gno-record-gcc-switches"
What did you do?
I found this error in the log of our daily job (cd /src ; go test -count 3 -timeout 180m -run=^$ -bench=. ... ).
Running the command "go test -bench BenchmarkClientServerParallelTLS64" alone can also reproduce this error, but the error sometimes appears, sometimes does not appear, you may need to run it several times.
What did you expect to see?
PASS
What did you see instead?
I have seen two kinds of error messages. When executing command "go test -bench BenchmarkClientServerParallelTLS64" , the error message appears:
goos: linux
goarch: arm64
pkg: net/http
BenchmarkClientServerParallel4-32 30000 37850 ns/op 12324 B/op 88 allocs/op
BenchmarkClientServerParallel64-32 10000 307570 ns/op 13278 B/op 96 allocs/op
BenchmarkClientServerParallelTLS4-32 20000 112708 ns/op 41859 B/op 433 allocs/op
BenchmarkClientServerParallelTLS64-32 2018/03/25 13:47:49 http: TLS handshake error from 127.0.0.1:58119: read tcp 127.0.0.1:34212->127.0.0.1:58119: use of closed network connection
20000 106537 ns/op 43259 B/op 454 allocs/op
PASS
ok net/http 47.081s
When running all the benchmarks ( cd /src ; go test -count 3 -timeout 180m -run=^$ -bench=. ... ) , in addition to the above error, another error may also occur., namely:
15:10:47 BenchmarkClientServerParallelTLS64-64 Build timed out (after 10 minutes). Marking the build as aborted.
15:20:47 Build was aborted
I do not understand what the problem is. How did it come about? Can anyone explain it to me, thank you!
The text was updated successfully, but these errors were encountered: