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

crypto/tls: SSL error using ab+https #3819

Closed
shanemhansen opened this issue Jul 13, 2012 · 4 comments
Closed

crypto/tls: SSL error using ab+https #3819

shanemhansen opened this issue Jul 13, 2012 · 4 comments
Milestone

Comments

@shanemhansen
Copy link
Contributor

@shanemhansen shanemhansen commented Jul 13, 2012

Verified against current HEAD as well as most recent release.
go version weekly.2012-03-27 +10a3b26f9276

What steps will reproduce the problem?
If possible, include a link to a program on play.golang.org.
1. run this test server (port 8000) http://play.golang.org/p/OeqWgVIXUT (Doesn't work on
play.golang.org)
2. run ab -n 1 -c 1 'https://localhost:8000/'
3. Observe failure.

What is the expected output?
ab (apache bench) should print out a message stating that there was 1 Complete Request
and 0 Failed requests.

What do you see instead?
ab prints out a message stating that there was 1 Complete request and 1 Failed request.
Additionally, there is an SSL error:
Benchmarking localhost (be patient)...SSL read failed - closing connection
140518402995936:error:140943E8:SSL
routines:SSL3_READ_BYTES:reason(1000):s3_pkt.c:1247:SSL alert number 0


Which compiler are you using (5g, 6g, 8g, gccgo)?
Standard go run $file on amd64. I believe 6g is the default?

Which operating system are you using?
Ubuntu 12.04 amd64.

Which version are you using?  (run 'go version')
Verified on both current go version and HEAD: go version weekly.2012-03-27 +10a3b26f9276

Please provide any additional information below.

I've attatched an export from wireshark below. This server works fine with curl. SSL
negotiation seems to happen perfectly, but there is some problem on teardown. I don't
believe this is the same as the issue recently closed that affects 1/256 connections.

Attachments:

  1. bad_ssl_server.go (609 bytes)
@rsc

This comment has been minimized.

Copy link
Contributor

@rsc rsc commented Sep 12, 2012

Comment 1:

Thank you for this report, and apologies for the long delay triaging it. I don't see the
wireshark attachment. Do you happen to still have it? Thanks.

Labels changed: added priority-later, removed priority-triage.

Status changed to Accepted.

@shanemhansen

This comment has been minimized.

Copy link
Contributor Author

@shanemhansen shanemhansen commented Sep 12, 2012

Comment 2:

I lost the original dump file, sorry about that. Using the same go version, test server,
and operating system, I recreated the issue. I'm attaching the dump (for real this
time). I don't know the most common format for these files, this was saved using the
wireshark/tcpdump/libpcap option in the wireshark gui.
My interpretation is that the initial handshake succeeds, some application data is sent,
and there is some sort of problem on connection teardown. Please let me know if there's
anything else I can do to help.
Thanks.

Attachments:

  1. bad_ssl_wireshark_capture (4118 bytes)
@rsc

This comment has been minimized.

Copy link
Contributor

@rsc rsc commented Sep 12, 2012

Comment 3:

Labels changed: added go1.1.

@agl

This comment has been minimized.

Copy link
Contributor

@agl agl commented Sep 12, 2012

Comment 4:

It appears that ab is just broken with HTTPS I'm afraid. Running it against
https://www.google.com produces the same result.

Status changed to Invalid.

@rsc rsc added this to the Go1.1 milestone Apr 14, 2015
@rsc rsc removed the go1.1 label Apr 14, 2015
@golang golang locked and limited conversation to collaborators Jun 24, 2016
This issue was closed.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
4 participants
You can’t perform that action at this time.